Research line: Adaptive- and Dependable Systems
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, architectures, algorithms, tools, and paradigms for the expression and the management of adaptive-and-dependable software systems, i.e., software, devices, and services that are built so as 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 our computer systems as adaptive systems able to constantly re-optimize in view of changes, both exogenous (i.e. environmental) and endogenous (that is, pertaining to internal assets). Such changes include faults and failures threatening the services supplied by those systems.
This design goal is pursued through several fronts:
- A first line of action addresses Mobile systems, which inherently call for end-to-end re-optimization in view of changes both exogenous (i.e. environmental) and endogenous (that is, pertaining to internal assets). Our answer to this need is a software architecture that performs optimizations through a system-wide policy taking into account different concerns and spanning throughout the system. This is achieved at two levels: Service-level (coarse grain) adaptation is carried out through a framework based on service and aspect orientation; system-level adaptation is based on reflection and a computer memory metaphor.
- A second front of action 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.
- A third line of action is Context-aware systems. In this framework dynamic self-adaptation to changing environments is achieved through run-time recomposition of application components, obtained through A Continuous Context-Aware Deployment and Adaptation (ACCADA) framework. Such framework addresses the key issues that arise when context knowledge is used to steer the run-time (re)composition process so as to match the new environmental conditions.
- Resilient systems engineering is a fourth line of research. We are using reflection and knowledge engineering to design system structures and tools able to minimize this risk at deployment and run-time. Our preliminary achievement is a library that allows to detection of violations of the system and fault model assumptions.
A recently initiated research path of the “Adaptive-and-dependable systems” research line is Autonomic Web Services. The directions being taken in this research path are:
- The use of Web Services (WS-*) specifications and engines such as Apache Muse so as to build manageability agents and autonomic managers on top of the functional web service.
- Enhancing the flexibility and resilience of WS-BPEL. In particular we are investigating methods and approaches to solve some of the shortcomings of WS-BPEL that, despite being a widely accepted standard for modeling business processes as web services, still exhibits inflexibility and unreliability due to its static workflow model assumption.
- The design of adaptive-and-dependable hybrid services based on ITC and social computing is a sixth and final line of action. This is based on the recognition that big societal problems such as cost-effective healthcare cannot be efficiently solved without the design of flexible service oriented architectures which exploit the use of dynamically available hybrid resources. By the latter we mean not only ITC-based resources such as Body Area Networks or smart assistive devices, but also human resources, such as informal care-givers and professional carers. The main contribution of the “Adaptive-and-dependable systems” research line to this problem is the development of the concept of Mutual Assistance Community, a service oriented architecture that allows optimally Ambient Assisted Living services to be orchestrated in a flexible and cost-effective way.