Requirements-Driven Dynamic Adaptation to Mitigate Runtime Uncertainties for Self-Adaptive Systems

Self-adaptive systems are capable of adjusting their behavior to cope with the changes in environment and itself. These changes may cause runtime uncertainty, which refers to the system state of failing to achieve appropriate reconfigurations. However, it is often infeasible to exhaustively anticipate all the changes. Thus, providing dynamic adaptation mechanisms for mitigating runtime uncertainty becomes a big challenge. This paper suggests solving this challenge at requirements phase by presenting REDAPT, short for REquirement-Driven adAPTation. We propose an adaptive goal model (AGM) by introducing adaptive elements, specify dynamic properties of AGM by providing logic based grammar, derive adaptation mechanisms with AGM specifications and achieve adaptation by monitoring variables, diagnosing requirements violations, determining reconfigurations and execution. Our approach is demonstrated with an example from the Intelligent Transportation System domain and evaluated through a series of simulation experiments.

[1]  Thomas Vogel,et al.  Adaptation and abstract runtime models , 2010, SEAMS '10.

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

[3]  Yijun Yu,et al.  Monitoring and diagnosing software requirements , 2009, Automated Software Engineering.

[4]  Nelly Bencomo,et al.  Models@run.time , 2014, Lecture Notes in Computer Science.

[5]  Luciano Baresi,et al.  The disappearing boundary between development-time and run-time , 2010, FoSER '10.

[6]  Rick Salay,et al.  Managing requirements uncertainty with partial models , 2012, RE.

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

[8]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

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

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

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

[12]  原田 秀逸 私の computer 環境 , 1998 .

[13]  Sam Malek,et al.  Taming uncertainty in self-adaptive software , 2011, ESEC/FSE '11.

[14]  Peyman Oreizy,et al.  Runtime software adaptation: framework, approaches, and styles , 2008, ICSE Companion '08.

[15]  Andres J. Ramirez,et al.  Automatic derivation of utility functions for monitoring software requirements , 2011, MODELS'11.

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

[17]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

[18]  Andres J. Ramirez,et al.  A taxonomy of uncertainty for dynamically adaptive systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[19]  Peter Sawyer,et al.  When to Adapt? Identification of Problem Domains for Adaptive Systems , 2008, REFSQ.

[20]  K M Hunter-Zaworski,et al.  LOW VOLUME HIGHWAY-RAIL GRADE CROSSING TREATMENTS FOR THE OREGON HIGH SPEED RAIL CORRIDOR , 1997 .

[21]  Heather Goldsby,et al.  Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty , 2008, MoDELS.

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

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

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

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

[26]  David Garlan,et al.  Handling Uncertainty in Autonomic Systems , 2007 .

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

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

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

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