Goal-Based Modeling of Dynamically Adaptive System Requirements

Self-adaptation is emerging as an increasingly important capability for many applications, particularly those deployed in dynamically changing environments, such as ecosystem monitoring and disaster management. One key challenge posed by dynamically adaptive systems (DASs) is the need to handle changes to the requirements and corresponding behavior of a DAS in response to varying environmental conditions. Berry et al. previously identified four levels of RE that should be performed for a DAS. In this paper, we propose the levels of RE for modeling that reify the original levels to describe RE modeling work done by DAS developers. Specifically, we identify four types of developers: the system developer, the adaptation scenario developer, the adaptation infrastructure developer, and the DAS research community. Each level corresponds to the work of a different type of developer to construct goal model(s) specifying their requirements. We then leverage the levels of RE for modeling to propose two complementary processes for performing RE for a DAS. We describe our experiences with applying this approach to GridStix, an adaptive flood warning system, deployed to monitor the River Ribble in Yorkshire, England.

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

[2]  Gordon S. Blair,et al.  Deep Middleware for the Divergent Grid , 2005, Middleware.

[3]  Robyn R. Lutz Targeting safety-related errors during software requirements analysis , 1993, SIGSOFT '93.

[4]  David B. Knoester,et al.  Digitally Evolving Models for Dynamically Adaptive Systems , 2007, International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07).

[5]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[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]  P. Sawyer,et al.  Visualizing the Analysis of Dynamically Adaptive Systems Using i* and DSLs , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[8]  Kevin Lee,et al.  OpenCOM v2: A Component Model for Building Systems Software , 2004 .

[9]  Wei Cai,et al.  GRIDKIT: Pluggable Overlay Networks for Grid Computing , 2004, CoopIS/DOA/ODBASE.

[10]  Keith Beven,et al.  An intelligent and adaptable flood monitoring and warning system , 2006 .

[11]  Seyed Masoud Sadjadi,et al.  Architecture and operation of an adaptable communication substrate , 2003, The Ninth IEEE Workshop on Future Trends of Distributed Computing Systems, 2003. FTDCS 2003. Proceedings..

[12]  Yijun Yu,et al.  From goals to aspects: discovering aspects from requirements goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[13]  J. Mylopoulos,et al.  Towards requirements-driven autonomic systems design , 2005, ACM SIGSOFT Softw. Eng. Notes.

[14]  Ji Zhang,et al.  The Four Levels of Requirements Engineering for and in Dynamic Adaptive Systems , 2005 .

[15]  Gordon S. Blair,et al.  Summary of the workshop models@run.time at MoDELS 2006 , 2006, MoDELS'06.

[16]  Don Cohen,et al.  Automatic Monitoring of Software Requirements , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[17]  Yijun Yu,et al.  From Stakeholder Goals to High-Variability Software Design , 2005 .

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

[19]  Fabio Kon,et al.  Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB , 2000, Middleware.

[20]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

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