Engineering and implementing software architectural patterns based on feedback loops

A highly decentralized system of autonomous service components consists of multiple and interacting feedback loops which can be organized into a variety of architectural patterns. The highly complex nature of these loops make engineering and implementation of these patterns a very challenging task. In this paper, we present SimSOTA - an integrated Eclipse plug-in to architect, engineer and implement self-adaptive systems based on our feedback loop-based approach. SimSOTA adopts model-driven development to model and simulate complex self-adaptive architectural patterns, and to automate the generation of Java-based implementation code. The approach is validated using a case study in cooperative electric vehicles.

[1]  Eric Clayberg,et al.  Eclipse Plug-ins , 2008 .

[2]  Franco Zambonelli,et al.  Towards a taxonomy of adaptive agent-based collaboration patterns for autonomic service ensembles , 2011, 2011 International Conference on Collaboration Technologies and Systems (CTS).

[3]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[4]  Gregor Engels,et al.  Adapt cases: extending use cases for adaptive systems , 2011, SEAMS '11.

[5]  Franco Zambonelli,et al.  SimSOTA: engineering and simulating feedback loops for self-adaptive systems , 2013, C3S2E '13.

[6]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[7]  Franco Zambonelli,et al.  An Integrated Eclipse Plug-In for Engineering and Implementing Self-Adaptive Systems , 2014, 2014 IEEE 23rd International WETICE Conference.

[8]  Yuriy Brun,et al.  Traffic routing for evaluating self-adaptation , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[9]  Peter Van Roy,et al.  Designing Robust and Adaptive Distributed Systems with Weakly Interacting Feedback Structures , 2011 .

[10]  Franco Zambonelli,et al.  Model Checking Goal-Oriented Requirements for Self-Adaptive Systems , 2012, 2012 IEEE 19th International Conference and Workshops on Engineering of Computer-Based Systems.

[11]  Tomasz Haupt,et al.  Towards mediation-based self-healing of data-driven business processes , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[12]  Thomas Vogel,et al.  A language for feedback loops in self-adaptive systems: Executable runtime megamodels , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[13]  Franco Zambonelli,et al.  Towards Simulating Architectural Patterns for Self-Aware and Self-Adaptive Systems , 2012, 2012 IEEE Sixth International Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[14]  Roland Siegwart,et al.  Electric vehicle travel optimization-customer satisfaction despite resource constraints , 2012, 2012 IEEE Intelligent Vehicles Symposium.

[15]  Franco Zambonelli,et al.  A taxonomy of architectural patterns for self-adaptive systems , 2013, C3S2E '13.

[16]  Jesper Andersson,et al.  On interacting control loops in self-adaptive systems , 2011, SEAMS '11.

[17]  Tom De Wolf,et al.  Using UML 2 activity diagrams to design information flows and feedback-loops in self-organising emergent systems , 2007 .

[18]  Franco Zambonelli,et al.  SOTA: Towards a General Model for Self-Adaptive Systems , 2012, 2012 IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[19]  Holger Giese,et al.  Making control loops explicit when architecting self-adaptive systems , 2010, SOAR '10.

[20]  Mary Shaw,et al.  Visibility of control in adaptive systems , 2008, ULSSIS '08.