Incremental Life Cycle Assurance of Safety-Critical Systems

Finding problems and optimal designs in the requirements phase is more efficient than later phases. However, over-constraining the solution is also sub-optimal since not all information is necessarily available upfront. 'Build-then-test' approaches which insist on developing first requirements, then architecture, then implementation are not suitable for building systems that must be rapidly fielded and respond to ever-changing demands. Our approach, ALISA, is working on integrating four pillars for incrementally building systems which can be shown to satisfy the relevant requirements. Our four key pillars for assuring requirements satisfaction are requirements specifications, architecture models, verification techniques, and assurance case traceability between the first three. In this paper we introduce our approach, and highlight how we are integrating these pillars using an XText-driven DSL and tool meta-model leveraging existing tools and languages. Our current focus is on understanding exactly which requirements are responsible for the majority of design constraints. Identifying this subset promises to reduce architecture design space exploration and verification overhead, increasing delivery cadence.

[1]  Silvia Mara Abrahão,et al.  Managing requirements uncertainty in engine control systems development , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[2]  Yutaka Ishikawa,et al.  A Dependability Case Editor with Pattern Library , 2010, 2010 IEEE 12th International Symposium on High Assurance Systems Engineering.

[3]  Axel van Lamsweerde,et al.  From System Goals to Software Architecture , 2003, SFM.

[4]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[5]  Dominique Blouin,et al.  Defining an annex language to the architecture analysis and design language for requirements engineering activities support , 2011, 2011 Model-Driven Requirements Engineering Workshop.

[6]  Jörgen Hansson,et al.  System Architecture Virtual Integration: An Industrial Case Study , 2009 .

[7]  Sanjai Rayadurgam,et al.  Your "What" Is My "How": Iteration and Hierarchy in System Design , 2013, IEEE Software.

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

[9]  Arie Gurfinkel,et al.  Four Pillars for Improving the Quality of Safety-Critical Software- Reliant Systems , 2013 .

[10]  Michael W. Whalen,et al.  Helping system engineers bridge the peaks , 2014, TwinPeaks 2014.

[11]  Raghu Singh,et al.  International Standard ISO/IEC 12207 Software Life Cycle Processes , 1996, Softw. Process. Improv. Pract..

[12]  Mik Kersten,et al.  Mylar: a degree-of-interest model for IDEs , 2005, AOSD '05.

[13]  Konrad Slind,et al.  Resolute: an assurance case language for architecture models , 2014 .

[14]  Neil A. Ernst,et al.  Case studies in just-in-time requirements analysis , 2012, 2012 Second IEEE International Workshop on Empirical Requirements Engineering (EmpiRE).

[15]  Vincent Aravantinos,et al.  AutoFOCUS 3: Tooling Concepts for Seamless, Model-based Development of Embedded Systems , 2015, ACES-MB&WUCOR@MoDELS.

[16]  Shuichiro Yamamoto,et al.  An implementation of GSN community standard , 2013, 2013 1st International Workshop on Assurance Cases for Software-Intensive Systems (ASSURE).