The Requirements Problem for Adaptive Systems

Requirements Engineering (RE) focuses on eliciting, modeling, and analyzing the requirements and environment of a system-to-be in order to design its specification. The design of the specification, known as the Requirements Problem (RP), is a complex problem-solving task because it involves, for each new system, the discovery and exploration of, and decision making in a new problem space. A system is adaptive if it can detect deviations between its runtime behavior and its requirements, specifically situations where its behavior violates one or more of its requirements. Given such a deviation, an Adaptive System uses feedback mechanisms to analyze these changes and decide, with or without human intervention, how to adjust its behavior as a result. We are interested in defining the Requirements Problem for Adaptive Systems (RPAS). In our case, we are looking for a configurable specification such that whenever requirements fail to be fulfilled, the system can go through a series of adaptations that change its configuration and eventually restore fulfilment of the requirements. From a theoretical perspective, this article formally shows the fundamental differences between standard RE (notably Zave and Jackson [1997]) and RE for Adaptive Systems (see the seminal work by Fickas and Feather [1995], to Letier and van Lamsweerde [2004], and up to Whittle et al. [2010]). The main contribution of this article is to introduce the RPAS as a new RP class that is specific to Adaptive Systems. We relate the RPAS to RE research on the relaxation of requirements, the evaluation of their partial satisfaction, and the monitoring and control of requirements, all topics of particular interest in research on adaptive systems [de Lemos et al. 2013]. From an engineering perspective, we define a proto-framework for solving RPAS, which illustrates features needed in future frameworks for adaptive software systems.

[1]  Bashar Nuseibeh,et al.  Expressing the relationships between multiple views in requirements specification , 1993, ICSE '93.

[2]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

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

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

[5]  John Mylopoulos,et al.  Awareness Requirements , 2010, Software Engineering for Self-Adaptive Systems.

[6]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[7]  John Yen,et al.  An analytic framework for specifying and analyzing imprecise requirements , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[8]  Bashar Nuseibeh,et al.  Managing inconsistent specifications: reasoning, analysis, and action , 1998, TSEM.

[9]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[10]  Neil A. Ernst,et al.  Agile requirements engineering via paraconsistent reasoning , 2014, Inf. Syst..

[11]  William N. Robinson,et al.  Requirements interaction management , 2003, CSUR.

[12]  Terri L. Griffith,et al.  Information Technology and the Changing Fabric of Organization , 2007, Organ. Sci..

[13]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[14]  Salima Benbernou,et al.  On the Evolution of Services , 2012, IEEE Transactions on Software Engineering.

[15]  Neil A. Ernst,et al.  Techne: Towards a New Generation of Requirements Modeling Languages with Goals, Preferences, and Inconsistency Handling , 2010, 2010 18th IEEE International Requirements Engineering Conference.

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

[17]  A. Finkelstein Report of the Inquiry into the London Ambulance Service , 1993 .

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

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

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

[21]  William N. Robinson Extended OCL for Goal Monitoring , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[22]  Anna Perini,et al.  Requirements Engineering for Self-Adaptive Systems: Core Ontology and Problem Statement , 2011, CAiSE.

[23]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[24]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems II: International Seminar Dagstuhl Castle, Germany, October 24-29, 2010 Revised Selected and Invited Papers , 2013 .

[25]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

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

[27]  John Mylopoulos,et al.  Understanding "why" in software process modelling, analysis, and design , 1994, Proceedings of 16th International Conference on Software Engineering.

[28]  W BoehmBarry A Spiral Model of Software Development and Enhancement , 1988 .

[29]  Barry W. Boehm,et al.  Software Requirements Negotiation and Renegotiation Aids: A Theory-W Based Spiral Approach , 1995, 1995 17th International Conference on Software Engineering.

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

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

[32]  John Mylopoulos,et al.  Revisiting the Core Ontology and Problem in Requirements Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[33]  John Mylopoulos,et al.  On formal requirements modeling languages: RML revisited , 1994, Proceedings of 16th International Conference on Software Engineering.

[34]  Ladan Tahvildari,et al.  Requirements driven software evolution , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[35]  Axel van Lamsweerde,et al.  Reasoning about partial goal satisfaction for requirements and design engineering , 2004, SIGSOFT '04/FSE-12.