A Foundation for Engineering Decentralized Self-Adaptive Software Systems - FEDerAteS


A Foundation for Engineering Decentralized Self-Adaptive Software Systems - FEDerAteS

Marie Currie Career Integration Grant funded by the EU's 7th Framework Programme (FP7).

Project Number: 303791

Period covered: 01/04/2012 - 31/03/2016

The overall goal of the FEDerAteS project is to study and develop a scientific foundation for engineering decentralized self-adaptive systems. The scientific foundation includes a set of formally founded high-level design models for decentralized self-adaptive systems with coordination mechanisms to support robustness and openness in decentralized self-adaptive systems. Validation includes the specification of the basic models for decentralized self-adaptive systems, their application to concrete applications, and empirical validation of the approach.

Final Project Report

Summary of the Main Project Results

Our society extensively relies on the qualities of software systems. Examples are the availability of software for media and the robustness of software for manufacturing. Due to the increasing complexity and dynamicity of software systems, assuring the required software qualities constitutes a huge challenge. Self-adaptation is widely recognized as an effective approach to deal with this challenge. Self-adaptation enables a software system to adapt itself to changes in the environment or user requirements in order to achieve particular quality goals. Despite substantial achievements in the field, major scientific and technical gaps must be addressed to enable adaptations that cannot be realized by one centralized entity. The overall goal of the FEDerAteS project was to study and develop a systematic formally founded approach for engineering decentralized self-adaptive systems. The project has achieved this goal in four parts.

I. Foundations of self-adaption. In the first part, we performed several systematic studies of the literature to identify: (i) the claims that researchers make about self-adaptation and the evidence that is provided for these claims [1] [2], (ii) the state of the art in the use of formal methods in self-adaptive systems [3], (iii) the use of variability as a principle mechanism for realizing self-adaptation [4], and finally (iv) the state of the art on handling uncertainty in self-adaptive systems [5]. From these studies, we performed a controlled experiment that provides evidence that external feedback loops improve the design of self-adaptive systems [6], and we developed a principle model that integrates adaptation with evolution as a basis for sustainability [7].

II. Engineering principles of self-adaptation in decentralized systems. In the second part, we studied various patterns for decentralized control in self-adaptive systems [8]. We studied the use of self-adaptation principles in the design of multi-agent and service-based systems [9]. We consolidated an architecture framework for collective intelligent systems that include humans in the loop based on several project with industry partners [10]. Finally, we outlined a research roadmap on middleware support for engineering decentralized adaptive systems [11].

III. Assurances using formal techniques. In part three, we consolidated a formally specified unifying reference model for self-adaptive systems (FORMS) that provides a common vocabulary for the domain [12]. We applied formal approaches in case studies in the domain of intelligent traffic monitoring and mobile learning [13] [14] and consolidated the knowledge derived from these studies in a set of formally specified design templates for self-adaptive systems [15]. These studies also contributed to the notion of “perpetual assurances” that describes an enduring process where man and machine interact to provide guarantees for self-adaptive systems operating under uncertainty [16]. ActivFORMS is a concrete instantiation of perpetual assurances [17] [18] (ActivFORMS website).

IV. Applications. We validated the research results in various application domains, including a robotic system [17], a mobile application for digital storytelling [19], a remote e-health system for elderly [20], and a collaborative mobile learning application [21]. The remote e-health system has been accepted as an exemplar for research on self-adaptive systems [22] (artifact website).

The project had generated substantial socio-economic impact via follow-up projects. In particular, Push The Line (funding Vinnova Sweden) and BoConnect (funding Kamprad Foundation Sweden) focused on the challenges of the growing population of elderly people. While it is generally acknowledged that innovation in ICT will play a key role in tackling the challenges in this area, the adoption of technologies has not taken off yet, mainly because a lack of reliability of the solutions. In these projects we took a holistic perspective and put reliability of assistive technologies central: from a user, technological, and organizational perspective. The project contributed with a set of reliable assistive services supporting elderly people at home, incl. tele-monitoring and remote rehabilitation. The project results provided invaluable input to both public partners (Kalmar and Växjö municipalities in South Sweden) and companies (e.g. Sigma IT -technology provider- and Wexnet -network provider).

Key Publications

[1] D. Weyns, U. Iftikhar, S. Malek, J. Andersson, Claims and Supporting Evidence for Self-Adaptive Systems: A Literature Study, Software Engineering for Adaptive and Self-Managing Systems (SEAMS) 2012

[2] D. Weyns and T. Ahmad, Claims and Evidence for Architecture-Based Self-Adaptation: A Systematic Literature Review, European Conference on Software Architecture 2013

[3] D. Weyns, U. Iftikhar, D. Gil de la Iglesia, and T. Ahmad, A Survey on Formal Methods in Self-Adaptive Systems, Formal Methods for Self-Adaptive Systems 2012

[4] M. Galster, D. Weyns, D. Tofan, B. Michalik, P. Avgeriou, Variability in Software Systems - A Systematic Literature Review, IEEE Transactions on Software Engineering 40(3), 2014

[5] S. Mahdavi-Hezavehi, P. Avgeriou, D. Weyns, A Classification of Current Architecture-based Approaches Tackling Uncertainty in Self-Adaptive Systems with Multiple Requirements, Managing Trade-offs in Adaptable Software Architectures, Elsevier 2016

[6] D. Weyns, U. Iftikhar and J. Söderlund, Do External Feedback Loops Improve the Design of Self-Adaptive Systems? A Controlled Experiment, SEAMS 2013

[7] D. Weyns, M. Caporuscio, B. Vogel, A. Kurti: Design for Sustainability = Runtime Adaptation U Evolution, Sustainable Architecture: Global collaboration, Requirements, Analysis, 2015

[8] D. Weyns et al., On Patterns for Decentralized Control in Self-Adaptive Systems, Software Engineering for Self-Adaptive Systems II, LNCS vol. 7475, Springer 2013

[9] R. Haesevoets, D. Weyns, T. Holvoet, Architecture-Centric Support for Adaptive Service Collaborations, ACM Transactions on Software Engineering and Methodology 23(1): 2, 2014

[10] J. Musil, A. Musil, D. Weyns, S. Biffl, An Architecture Framework for Collective Intelligence Systems, Working International Conference on Software Architecture 2015

[11] D. Weyns, F. Michel, et al., Agent Environments for Multi-Agent Systems - A Research Roadmap, Lecture Notes in Computer Science 9068, 2016

[12] D. Weyns, S. Malek, J. Andersson, FORMS: Unifying Reference Model for Formal Specification of Distributed Self-Adaptive Systems, ACM Transactions on Autonomous and Adaptive Systems 7(1), 2012

[13] U. Iftikhar, D. Weyns, A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System, Foundations of Coordination Languages and Self Adaptation 2012

[14] D. Gil de la Iglesia, D. Weyns, Guaranteeing Robustness in a Mobile Learning Application Using Formally Verified MAPE Loops, SEAMS 2013

[15] D. Gil de la Iglesia, D. Weyns, MAPE-K Formal Templates to Rigorously Design Behaviors for Self-Adaptive Systems, ACM Trans. on Autonomous and Adaptive Systems 10(3), 2015

[16] D. Weyns et al., Perpetual Assurances in Self-Adaptive Systems, Software Engineering for Self-Adaptive Systems, Lecture Notes in Computer Science, 2016

[17] U. Iftikhar, D. Weyns, ActivFORMS: Active Formal Models for Self-Adaptation, SEAMS 2014 [18] D. Weyns and U. Iftikhar, Model-based Simulation at Runtime for Self-adaptive Systems, Models at Runtime 2016

[19] D. Weyns, S. Shevtsov, S. Pllana: Providing Assurances for Self-Adaptation in a Mobile Digital Storytelling Application Using ActivFORMS, International Conference on Self-Adaptation and Self-Organization 2014

[20] S. Shevtsov, SimCA vs ActivFORMS: Comparing Control- and Architecture-Based Adaptation on the TAS Exemplar, Control Theory for Software Engineering 2015

[21] D. Gil de la Iglesia, J. F. Calderón, D. Weyns, M. Milrad, Miguel Nussbaum: A Self-Adaptive Multi-Agent System Approach for Collaborative Mobile Learning 8(2), 2015

[22] D. Weyns, R. Calinescu: Tele Assistance: A Self-Adaptive Service-Based System Exemplar, SEAMS 2015

Last update: July 27, 2012 - feedback