SACRE: Supporting contextual requirements' adaptation in modern self-adaptive systems in the presence of uncertainty at runtime

Abstract Runtime uncertainty such as unpredictable resource unavailability, changing environmental conditions and user needs, as well as system intrusions or faults represents one of the main current challenges of self-adaptive systems. Moreover, today's systems are increasingly more complex, distributed, decentralized, etc. and therefore have to reason about and cope with more and more unpredictable events. Approaches to deal with such changing requirements in complex today's systems are still missing. This work presents SACRE ( S mart A daptation through C ontextual RE quirements), our approach leveraging an adaptation feedback loop to detect self-adaptive systems’ contextual requirements affected by uncertainty and to integrate machine learning techniques to determine the best operationalization of context based on sensed data at runtime. SACRE is a step forward of our former approach ACon which focus had been on adapting the context in contextual requirements, as well as their basic implementation. SACRE primarily focuses on architectural decisions, addressing self-adaptive systems’ engineering challenges. Furthering the work on ACon, in this paper, we perform an evaluation of the entire approach in different uncertainty scenarios in real-time in the extremely demanding domain of smart vehicles. The real-time evaluation is conducted in a simulated environment in which the smart vehicle is implemented through software components. The evaluation results provide empirical evidence about the applicability of SACRE in real and complex software system domains.

[1]  Rudolph E. Seviora,et al.  An approach to automatic detection of software failures in real-time systems , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[2]  T. De Wolf,et al.  Towards autonomic computing: agent-based modelling, dynamical systems analysis, and decentralised control , 2003, IEEE International Conference on Industrial Informatics, 2003. INDIN 2003. Proceedings..

[3]  Yuriy Brun,et al.  An Architectural Style for Solving Computationally Intensive Problems on Large Networks , 2007, International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07).

[4]  John Mylopoulos,et al.  (Requirement) evolution requirements for adaptive systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[5]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

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

[7]  Jörg Hähner,et al.  Decentralised Progressive Signal Systems for Organic Traffic Control , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems.

[8]  David Andrews,et al.  Steering wheel with measurement of hand pressure , 2011 .

[9]  Tom De Wolf,et al.  Emergence Versus Self-Organisation: Different Concepts but Promising When Combined , 2004, Engineering Self-Organising Systems.

[10]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[11]  Daniela E. Damian,et al.  A case study of applying data mining to sensor data for contextual requirements analysis , 2014, 2014 IEEE 1st International Workshop on Artificial Intelligence for Requirements Engineering (AIRE).

[12]  N. Uday Bhaskar,et al.  Context Exploration For Requirements Elicitation In Mobile Learning Application Development , 2008 .

[13]  Daniela E. Damian,et al.  SACRE: A tool for dealing with uncertainty in contextual requirements at runtime , 2015, 2015 IEEE 23rd International Requirements Engineering Conference (RE).

[14]  Sam Malek,et al.  Mining the execution history of a software system to infer the best time for its adaptation , 2012, SIGSOFT FSE.

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

[16]  Jim Dowling,et al.  Self-managed decentralised systems using K-components and collaborative reinforcement learning , 2004, WOSS '04.

[17]  Joshua D. Hoffman,et al.  Collision warning design to mitigate driver distraction , 2004, CHI.

[18]  Kyongsu Yi,et al.  Lane-keeping assistance control algorithm using differential braking to prevent unintended lane departures , 2014 .

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

[20]  T. Baumhöfer,et al.  Production caused variation in capacity aging trend and correlation to initial cell performance , 2014 .

[21]  Wolfgang Reif,et al.  A Formal Framework for Compositional Verification of Organic Computing Systems , 2010, ATC.

[22]  Miguel Torres-Torriti,et al.  Optical Flow and Driver's Kinematics Analysis for State of Alert Sensing , 2013, Sensors.

[23]  Raian Ali,et al.  Modeling and Reasoning about Contextual Requirements: Goal-based Framework , 2010 .

[24]  Eihan Shimizu Survey Engineering , 2011 .

[25]  Kenneth Sundaraj,et al.  Detecting Driver Drowsiness Based on Sensors: A Review , 2012, Sensors.

[26]  Jesper Andersson,et al.  On decentralized self-adaptation: lessons from the trenches and challenges for the future , 2010, SEAMS '10.

[27]  Paola Inverardi,et al.  Requirements models at run-time to support consistent system evolutions , 2011, 2011 2nd International Workshop on Requirements@Run.Time.

[28]  Sabine Glesner,et al.  Adaptive Knowledge Bases in Self-Adaptive System Design , 2015, 2015 41st Euromicro Conference on Software Engineering and Advanced Applications.

[29]  Sandra Lowe Architecture Based Design Of Multi Agent Systems , 2016 .

[30]  Nelly Bencomo,et al.  Models@run.time (Dagstuhl Seminar 11481) , 2011, Dagstuhl Reports.

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

[32]  Christian Becker,et al.  FESAS: Towards a Framework for Engineering Self-Adaptive Systems , 2013, 2013 IEEE 7th International Conference on Self-Adaptive and Self-Organizing Systems.

[33]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[34]  Daniel T. Larose,et al.  Discovering Knowledge in Data: An Introduction to Data Mining , 2005 .

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

[36]  Mark L. Berenson,et al.  Basic Business Statistics : Concepts and Applications , 2007 .

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

[38]  John Yuan,et al.  Changes in Physiological Parameters Induced by Indoor Simulated Driving: Effect of Lower Body Exercise at Mid-Term Break , 2009, Sensors.

[39]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

[40]  Sam Malek,et al.  Ieee Transactions on Software Engineering 1 a Learning-based Framework for Engineering Feature-oriented Self-adaptive Software Systems , 2022 .

[41]  William N. Robinson,et al.  Monitoring Web service requirements , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[42]  Miguel Ángel Sotelo,et al.  Real-time system for monitoring driver vigilance , 2004, Proceedings of the IEEE International Symposium on Industrial Electronics, 2005. ISIE 2005..

[43]  Bradley R. Schmerl,et al.  On Patterns for Decentralized Control in Self-Adaptive Systems , 2010, Software Engineering for Self-Adaptive Systems.

[44]  Danny Weyns,et al.  Software Engineering of Self-Adaptive Systems: An Organised Tour and Future Challenges , 2017 .

[45]  Anna Perini,et al.  Engineering adaptive requirements , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[46]  Sotiris B. Kotsiantis,et al.  Supervised Machine Learning: A Review of Classification Techniques , 2007, Informatica.

[47]  Ilias Gerostathopoulos,et al.  Architectural Homeostasis in Self-Adaptive Software-Intensive Cyber-Physical Systems , 2016, ECSA.

[48]  Stephen P. Boyd,et al.  Future directions in control in an information-rich world , 2003 .

[49]  Jesper Andersson,et al.  On interacting control loops in self-adaptive systems , 2011, SEAMS '11.

[50]  Anna Perini,et al.  Requirements Monitoring for Adaptive Service-Based Applications , 2012, REFSQ.

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

[52]  Ravi Kumar Gullapalli,et al.  Data Mining in Adaptive Control of Distributed Computing System Performance , 2011 .

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

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

[55]  Jacques Klein,et al.  Towards flexible evolution of Dynamically Adaptive Systems , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[56]  Paola Inverardi,et al.  A Software Lifecycle Process to Support Consistent Evolutions , 2010, Software Engineering for Self-Adaptive Systems.

[57]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[58]  Jianchun Xing,et al.  Handling Uncertainty in Self-Adaptive Software Using Self-Learning Fuzzy Neural Network , 2016, 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC).

[59]  Danny Weyns,et al.  ActivFORMS: active formal models for self-adaptation , 2014, SEAMS 2014.

[60]  Tom De Wolf,et al.  Design Patterns for Decentralised Coordination in Self-organising Emergent Systems , 2006, ESOA.

[61]  Daniela E. Damian,et al.  ACon: A learning-based approach to deal with uncertainty in contextual requirements at runtime , 2016, Inf. Softw. Technol..

[62]  Angela Rook On the Feasibility of Integrating Data Mining Algorithms into Self Adaptive Systems for Context Awareness and Requirements Evolution , 2014 .

[63]  Marija Mikic-Rakic,et al.  A Decentralized Redeployment Algorithm for Improving the Availability of Distributed Systems , 2005, Component Deployment.

[64]  Tom De Wolf,et al.  Towards a Methodology for Engineering Self-Organising Emergent Systems , 2005, SOAS.

[65]  Andres J. Ramirez,et al.  Automatically RELAXing a Goal Model to Cope with Uncertainty , 2012, SSBSE.

[66]  P. Sudhakar Rao,et al.  A Real Time Improved Driver Fatigue Monitoring System , 2014 .

[67]  Karl Claxton,et al.  Characterizing structural uncertainty in decision analytic models: a review and application of methods. , 2009, Value in health : the journal of the International Society for Pharmacoeconomics and Outcomes Research.

[68]  Steffen Leonhardt,et al.  ECG on the Road: Robust and Unobtrusive Estimation of Heart Rate , 2011, IEEE Transactions on Biomedical Engineering.