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.
3.
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.