gocc: a configuration compiler for self-adaptive systems using goal-oriented requirements description

Self-adaptive systems have recently attracted attention because of their ability to cope with changing environments, including system intrusions or faults. Such software must modify itself to better fit its environment, and one of the approaches by which we expect this capability to be achieved is the introduction of multiple control loops to assess the situation and to determine whether a change in behaviors or configurations is necessary and how to implement the change. Development of such systems with multiple control loops complicates the task of identifying components, and could be greatly aided by appropriate tool support. In this paper, we propose an architectural compiler for self-adaptive systems, which generates architectural configurations from the goal-oriented requirements descriptions. We also present a framework for generating such configurations with this compiler and a pattern in the requirements description. We evaluate the framework experimentally and show that it helps to generate suitable configurations that have high performance, and that the compiler scales well to large input models.

[1]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[2]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[3]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[4]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[5]  Jeff Magee,et al.  Plan-directed architectural change for autonomous systems , 2007, SAVCBS '07.

[6]  Eric S. K. Yu,et al.  Modeling organizations for information systems requirements engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[7]  Axel van Lamsweerde,et al.  From System Goals to Software Architecture , 2003, SFM.

[8]  Shinichi Honiden,et al.  Analysis of multi-agent systems based on KAOS modeling , 2006, ICSE '06.

[9]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[10]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[11]  Akihiko Ohsuga,et al.  Cooperative Behaviors Description for Self-* Systems Implementation , 2010, PAAMS.

[12]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[13]  Nenad Medvidovic,et al.  PLASMA: a plan-based layered architecture for software model-driven adaptation , 2010, ASE '10.

[14]  Emmanuel Letier Reasoning about Agents in Goal-Oriented Requirements Engineering , 2002 .

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

[16]  Richard N. Taylor,et al.  Policy-based self-adaptive architectures: a feasibility study in the robotics domain , 2008, SEAMS '08.

[17]  Agostino Poggi,et al.  JADE - A Java Agent Development Framework , 2005, Multi-Agent Programming.

[18]  Bashar Nuseibeh,et al.  Specifying Monitoring and Switching Problems in Context , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[19]  Sebastián Uchitel,et al.  Modes for Software Architectures , 2006, EWSA.

[20]  Nelly Bencomo,et al.  A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty , 2009, MoDELS.

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

[22]  Fausto Giunchiglia,et al.  Planning as Model Checking , 1999, ECP.

[23]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[24]  Franco Zambonelli,et al.  A survey of autonomic communications , 2006, TAAS.

[25]  Yijun Yu,et al.  From Goals to High-Variability Software Design , 2008, ISMIS.

[26]  Nelly Bencomo,et al.  RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[27]  Bashar Nuseibeh Crosscutting requirements , 2004, AOSD '04.

[28]  Anna Perini,et al.  Towards goal-oriented development of self-adaptive systems , 2008, SEAMS '08.

[29]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[30]  Philippe Massonet,et al.  Early verification and validation of mission critical systems , 2005, Formal Methods Syst. Des..

[31]  H. Nakagawa,et al.  Constructing Self-Adaptive Systems Using a KAOS Model , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[32]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[33]  Betty H. C. Cheng,et al.  A Taxonomy of Compositional Adaptation , 2004 .

[34]  John Mylopoulos,et al.  Self-Repair through Reconfiguration: A Requirements Engineering Approach , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[35]  Shinichi Honiden,et al.  Formal specification generator for KAOS: model transformation approach to generate formal specifications from KAOS requirements models , 2007, ASE '07.