Through time, the nature of information technology has changed vastly, extending from distributed computing to sensor networks, from robotic systems to smart environments. Our societies are quickly entering in the age of system-of-systems, and are becoming completely dependent on them, rendering their reliable and efficient operation of paramount importance. These systems are pervasive, decentralised and very large in both scale and complexity, requiring a complete rethink of the traditional engineering approaches. Additionally, these systems must be adaptive to the user needs and to changing, unpredictable environmental conditions. Complexity must be embedded in the system and hidden to the user, requiring autonomy in collecting relevant information and taking complex decisions about the operating conditions and required outputs. In other words, future ICT systems must be capable of cognitive processing as the result of the complex interactions among their multiple components. The design and implementation of large-scale distributed cognitive systems is a challenge that cannot be approached with traditional engineering methodologies and centralised control. Novel methodologies and approaches must be developed and tested. Most importantly, new methodologies need to be grounded on a firm theoretical framework that can guarantee the attainment of desired system properties. Such theoretical framework for distributed cognitive processing is missing to date.
Within this research line, I aim at studying distributed cognitive systems from a theoretical point of view, in order to achieve a principled understanding of the mechanisms that support give rise to distributed information processing. The identified rules are then formalised to provide an engineering methodology for large-scale artificial distributed systems.
This work is carried out mainly within the DICE project, and a first demonstration of the methodology has been provided for collective decision-making (see the relevant publications below).