Self-Explanation in Adaptive Systems Based on Runtime Goal-Based Models

The behaviour of self adaptive systems can be emergent, which means that the system’s behaviour may be seen as unexpected by its customers and its developers. Therefore, a self-adaptive system needs to garner confidence in its customers and it also needs to resolve any surprise on the part of the developer during testing and maintenance. We believe that these two functions can only be achieved if a self-adaptive system is also capable of self-explanation. We argue a self-adaptive system’s behaviour needs to be explained in terms of satisfaction of its requirements. Since self-adaptive system requirements may themselves be emergent, we propose the use of goal-based requirements models at runtime to offer self-explanation of how a system is meeting its requirements. We demonstrate the analysis of run-time requirements models to yield a self-explanation codified in a domain specific language, and discuss possible future work.

[1]  Nelly Bencomo,et al.  Towards requirements aware systems: Run-time resolution of design-time assumptions , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[2]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[3]  Bonnie M. Muir,et al.  Trust in automation. I: Theoretical issues in the study of trust and human intervention in automated systems , 1994 .

[4]  Richard N. Taylor,et al.  Using Architectural Models to Manage and Visualize Runtime Adaptation , 2009, Computer.

[5]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[6]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[7]  Meir M. Lehman,et al.  Software evolution - Background, theory, practice , 2003, Inf. Process. Lett..

[8]  Nicolas Anquetil,et al.  Traceability for Model Driven, Software Product Line Engineering , 2008 .

[9]  Nelly Bencomo,et al.  Requirements reflection: requirements as runtime entities , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[10]  Dominic Duggan,et al.  Explaining Type Inference , 1996, Sci. Comput. Program..

[11]  Gordon S. Blair,et al.  Experiences with open overlays: a middleware approach to network heterogeneity , 2008, Eurosys '08.

[12]  Peter Sawyer,et al.  Understanding the Scope of Uncertainty in Dynamically Adaptive Systems , 2010, REFSQ.

[13]  Kamin Whitehouse,et al.  Clairvoyant: a comprehensive source-level debugger for wireless sensor networks , 2007, SenSys '07.

[14]  Xiaorong Huang,et al.  Proof Verbalization as an Application of NLG , 1997, IJCAI.

[15]  Nelly Bencomo,et al.  RELAX: a language to address uncertainty in self-adaptive systems requirement , 2010, Requirements Engineering.

[16]  Jesper Andersson,et al.  Modeling Dimensions of Self-Adaptive Software Systems , 2009, Software Engineering for Self-Adaptive Systems.

[17]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[18]  Peter Sawyer,et al.  Requirements Tracing to Support Change in Dynamically Adaptive Systems , 2009, REFSQ.

[19]  Heather Goldsby,et al.  Goal-Based Modeling of Dynamically Adaptive System Requirements , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[20]  Anind K. Dey,et al.  Why and why not explanations improve the intelligibility of context-aware intelligent systems , 2009, CHI.

[21]  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.

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

[23]  Michael R. Lowry,et al.  Explaining synthesized software , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[24]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[25]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[26]  Luciano Baresi,et al.  Fuzzy Goals for Requirements-Driven Adaptation , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[27]  Nelly Bencomo,et al.  Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[28]  David R. Hanson,et al.  DUEL - A Very High-Level Debugging Language , 1993, USENIX Winter.

[29]  Alan Bundy,et al.  Automated theorem provers: a practical tool for the working mathematician? , 2011, Annals of Mathematics and Artificial Intelligence.

[30]  Gordon S. Blair,et al.  GridStix: supporting flood prediction using embedded hardware and next generation grid middleware , 2006, 2006 International Symposium on a World of Wireless, Mobile and Multimedia Networks(WoWMoM'06).

[31]  William N. Robinson A requirements monitoring framework for enterprise systems , 2005, Requirements Engineering.

[32]  John Mylopoulos,et al.  Awareness requirements for adaptive systems , 2011, SEAMS '11.