Research line: Adaptive- and Dependable Systems
Coordinator: Vincenzo De Florio, Ph.D.
Often the systems our societies depend upon are built in such a way as to result too inflexible and intolerant to changes. The deployment of such systems in environments where change is the rule rather than the exception leads to situations where quality-of-service and quality-of-experience are strongly and negatively affected. As a result, there is an urgent need to investigate structuring techniques, models, architectures, algorithms, tools, and paradigms for the expression and the management of self-adaptive and self-resilient systems, i.e., computer-based communicating individual and social entities that are able to sustain an agreed-upon quality-of-service and quality-of-experience despite the occurrence of potentially significant and sudden changes or failures in their infrastructure and surrounding environments.
This need is the core business of this research line. This is carried out through the design, development, and evaluation of techniques and models to structure computer systems as entelechies, namely systems that are able to self-adapt in the face of changes without diverging from their intended functions as prescribed in their specifications. Such systems may range from individual and simple embedded “things” with limited perception and predefined specialized behaviours to complex hybrid social organizations such as cyber-physical societies or service-oriented communities, whose emerging behaviours are many and in some cases difficult to predict.
Our core business is being pursued through several activities:
1. Novel approaches for architectural adaptation of component-based services have been devised. A first result in this context was the design of a framework and middleware for dynamic self-adaptation to changing environments, achieved through run-time re-composition of application components. ACCADA (“A Continuous Context-Aware Deployment and Adaptation”) was then followed by Transformer, a framework and middleware for the dynamic composition of adaptation behaviours. This patent application provides additional information about the above two concepts.
2. Innovative social organizations have been proposed to complement existing traditional services such as tele-care and ambient assistance. A first such concept is that of the Mutual Assistance Community (MAC) – a cyber-physical society for the assistance of the elderly and the impaired. The MAC principles are those of actor-network theory, in which actants (e.g. human beings or Internet things) publish their capabilities; assumable roles; relationships; and current location, and respond to servicing requests. The core idea of the MAC --- its Gestalt in a sense --- is the concept of Member. The idea is that current organizations, e.g. eHealth organizations, cast predefined roles that ultimately disrupt the efficiency of the organization. As an example, in eHealth organizations we typically have care-givers and care-takers, namely people that are only meant to supply services and people that are only on the receiving side. The vast majority of the people are then simply considered as "useless" ("retired" from the active part of society). On the contrary we have just "members", namely people that have static and dynamic properties and availabilities and that, depending on various context factors, may play roles as supplier or receivers of services. This opens up interesting collaborative scenarios of mutual assistance that we discussed in several papers. This line of action was awarded the first prize “FITCE.be Young ICT Personality 2008” competition, the first prize “IBM Service Innovation Student Contest 2007”, and an IBM Ph.D. Fellowship (2009). Additional information on this activity may be found e.g. here; here; here; and here.
Building on top of the above Mutual Assistance Community we have also proposed a novel social organization called Service-oriented Community (SoC). The SoC is the building block of a digital ecosystem with a fractal organization: the SoC is repeated at different scales and may assume domain-specific personae without imposing structural behavioural assumptions. In the domain of Ambient Assisted Living, the SoC building block may take the shape of mutual assistance communities, hospitals and other healthcare organizations, smart-houses, professional and informal caregivers, patients, etc.
By combining the roles of building blocks at different layers of the organizational hierarchy we create "social overlay networks", namely transient communities of mutual assistance that are meant to manage a certain triggering situation. The result is what we call Fractal Social Organizations, which we are now beginning to study and experiment with.
Fractal Social Organizations is the central topic of the project that won Vincenzo De Florio an IBM Faculty Award in 2013.
More information may be found in this paper.
4. Entelechy design may also be achieved through algorithmic approaches. An example is described here: a robust mechanism to tune the production of requests for communication after the current operational conditions of the consumers of such requests. This can be used to achieve high performance and programmatic avoidance of undesirable events such as message collisions. More information may be found also here.
5. The traditional approaches towards data integrity and software elasticity based on redundant data structures and design diversity are being augmented by defining web services architectures for self-adaptive multiple-version software fault-tolerance. Complex elasticity behaviours are obtained by self-selecting and self-tuning the employed redundancy after the threats and disturbances experienced. More information on this activity is available here; here; and here.
6. Tiny computation and communication devices may be turned in self-managing entelechies by embedding self-adaptive behaviours in traditional programming languages such as C or C++. Prototypic systems compliant to this model are described e.g. here and here.
7. Another stream of activities focuses on flexibility. A particular case of this is Flexible Manufacturing Systems (FMS), i.e., “manufacturing systems designed with some amount of flexibility that allows the systems to react in the case of changes, whether predicted or unpredicted.” On this front we designed a low-cost fast integrating platform with advanced middleware support to seamlessly integrate off-the-shelf or future robot sensors, robots, and actuators as well as industrial IT system. More information is here, here, and here.
8. A recently started activity focuses on situation-aware user interfaces. Due to their privileged position halfway the physical and the cyber universe, user interfaces may play an important role in learning, preventing, and tolerating scenarios affecting mission safety and quality of experience. In this prototypic implementation we showed our vision on how this may be reached through a combination of dynamic profiling, context- and situation-awareness, and autonomic software adaptation.
9. Last but not the least, resilient systems engineering is another of our lines of research. A major requirement towards guaranteeing persistence of identity in software is what we call software assumptions failure tolerance: At our behest or otherwise, while our software is being executed, a huge variety of design assumptions is continuously matched with the truth of the current condition. Across the system layers, a complex and at times obscure web of assumptions determines the quality of the match of our software with its deployment platforms and run-time environments. Architectural and structuring techniques that allow software to be decomposed to reduce its complexity, but without hiding in the process vital hypotheses and assumptions, become an important prerequisite to resilience. Other such prerequisites include perception and apperception; their role towards the emergence of resilience is discussed e.g. in this contribution.