Using Dynamic Adaptive Systems in Safety-Critical Domains

The development of safety-critical Cyber-Physical Systems (CPS) is expanding due to the Internet of Things' promise to make high-integrity applications and services part of everyday life. This expansion is seen in the dependencies some connected vehicles have on cloud services that provide guidance and accident avoidance / detection features. Such systems are safety-critical since failure could result in serious injury or death. Due to the severe consequences of failure, fault-tolerance, reliability and dependability should be primary driving qualities in the design and development of these systems. However, the cost of the analysis, evaluation and certification activities needed to ensure that the possibility of failure has been sufficiently mitigated is significantly higher than the cost of developing traditional software. Our group is exploring the addition of dynamic adaptive capabilities to safety-critical systems. We postulate that dynamic adaptivity could provide several enhancements to safety-critical systems. It would allow systems to reason about the environment within which they are sited and about their internal operation enabling decision making that is context-specific and appropriately prioritized. However, the addition of adaptivity with the associated overhead of reasoning is not without drawbacks particularly when hard real-time safety-critical systems are involved. In this brief position paper, we explore some of the questions and concerns that are raised when dynamic adaptive behavior is introduced into safety-critical systems as well as ways that the Architecture Analysis \& Design Language (AADL) can be used to model / analyze such systems.

[1]  Ch. Ramesh Babu,et al.  Internet of Vehicles: From Intelligent Grid to Autonomous Cars and Vehicular Clouds , 2016 .

[2]  Julien Delange,et al.  Architecture Fault Modeling with the AADL Error-Model Annex , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[3]  Julien Delange,et al.  Illustrating the AADL error modeling annex (v.2) using a simple safety-critical medical device , 2013, HILT.

[4]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

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

[6]  Myra B. Cohen,et al.  Using feature locality: can we leverage history to avoid failures during reconfiguration? , 2011, ASAS '11.

[7]  Per Runeson,et al.  Software product line testing - A systematic mapping study , 2011, Inf. Softw. Technol..

[8]  Gabor Karsai,et al.  Towards Practical Runtime Verification and Validation of Self-Adaptive Software Systems , 2013, Software Engineering for Self-Adaptive Systems.

[9]  Insup Lee,et al.  Cyber-physical systems: The next computing revolution , 2010, Design Automation Conference.

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

[11]  Andreas Rausch,et al.  Achieving Dependable Component Bindings in Dynamic Adaptive Systems - A Runtime Testing Approach , 2009, 2009 Third IEEE International Conference on Self-Adaptive and Self-Organizing Systems.

[12]  Heather Goldsby,et al.  Modular verification of dynamically adaptive systems , 2009, AOSD '09.

[13]  Gordon S. Blair,et al.  Dynamically Adaptive Systems are Product Lines too: Using Model-Driven Techniques to Capture Dynamic Variability of Adaptive Systems , 2008, SPLC.

[14]  Mario Trapp,et al.  Determining Configuration Probabilities of Safety-Critical Adaptive Systems , 2007, 21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07).

[15]  Frank Ortmeier,et al.  Safety and Dependability Analysis of Self-Adaptive Systems , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[16]  Jürgen Becker,et al.  Strategies to On- Line Failure Recovery in Self- Adaptive Systems based on Dynamic and Partial Reconfiguration , 2006, First NASA/ESA Conference on Adaptive Hardware and Systems (AHS'06).

[17]  P. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

[18]  Erich Musick,et al.  The 1992 London Ambulance Service Computer Aided Dispatch System Failure , 2006 .

[19]  Steve Vestal,et al.  An Overview of the SAE Architecture Analysis & Design Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering , 2004, IFIP-WADL.

[20]  John C. Knight,et al.  Safety critical systems: challenges and directions , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[21]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[22]  Zhou Hai,et al.  Software for fault tree analysis , 2001 .

[23]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[24]  Jonathan P. Bowen,et al.  Safety-critical systems, formal methods and standards , 1993, Softw. Eng. J..

[25]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[26]  The SAE Architecture Analysis & Design Language ( AADL ) Standard , .