Integrating Software Safety and Product Line Engineering using Formal Methods: Challenges and Opportunities

Product line engineering and safety engineering for software have both become mainstays to address the current challenges in developing software-intensive, safety-critical embedded systems. They address orthogonal concerns and the concepts and methods used by them have naturally evolved independently. A holistic, streamlined approach toward system engineering, however, obviously needs to identify and exploit the opportunities for a beneficial interplay between the two. We believe that appropriate formal models and methods can provide a suitable backbone in realizing such an approach. In this article, we present the challenges that arise while addressing safety in the software product line engineering context; and discuss where opportunities exist for leveraging formal methods and how they can provide the necessary techniques to address them. Keywords—Software Product Line Engineering, Safety Engineering, Formal Methods, System Engineering

[1]  Steven P. Miller,et al.  A proposal for model-based safety analysis , 2005, 24th Digital Avionics Systems Conference.

[2]  Pierre Bieber,et al.  ISAAC, a framework for integrated safety analysis of functional, geometrical and human aspects , 2006 .

[3]  Holger Giese,et al.  Component-Based Hazard Analysis: Optimal Designs, Product Lines, and Online-Reconfiguration , 2006, SAFECOMP.

[4]  Marta Z. Kwiatkowska,et al.  Probabilistic symbolic model checking with PRISM: a hybrid approach , 2004, International Journal on Software Tools for Technology Transfer.

[5]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[6]  Andreas Schäfer,et al.  Combining Real-Time Model-Checking and Fault Tree Analysis , 2003, FME.

[7]  Marco Bozzano,et al.  ESACS: an integrated methodology for design and safety analysis of complex systems , 2003 .

[8]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[9]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[10]  John McDermid,et al.  Product Line Analysis and the System Safety Process , 2004 .

[11]  David Lorge Parnas,et al.  An Invitation to Formal Methods , 1996, Computer.

[12]  Debra S. Herrmann,et al.  Software safety and reliability - techniques, approaches, and standards of key industrial sectors , 2000 .

[13]  Dirk Muthig,et al.  A light-weight approach facilitating an evolutionary transition towards software product lines , 2002 .

[14]  Josh Dehlinger,et al.  Software fault tree analysis for product lines , 2004, Eighth IEEE International Symposium on High Assurance Systems Engineering, 2004. Proceedings..

[16]  J. McDermid,et al.  Automated Component Configuration in Safety-Critical Domains , 2004 .

[17]  Peter Liggesmeyer,et al.  Trends in Embedded Software Engineering , 2009, IEEE Software.

[18]  Pierre Bieber,et al.  Combination of Fault Tree Analysis and Model Checking for Safety Assessment of Complex System , 2002, EDCC.

[19]  Tomoji Kishi,et al.  Formal verification and software product lines , 2006, CACM.

[20]  Holger Giese,et al.  Compositional Hazard Analysis of UML Component and Deployment Models , 2004, SAFECOMP.

[21]  Dirk Muthig,et al.  Model-Based Design of Product Line Components in the Automotive Domain , 2008, 2008 12th International Software Product Line Conference.

[22]  Capers Jones,et al.  Embedded Software: Facts, Figures, and Future , 2009, Computer.

[23]  Frank Ortmeier,et al.  Formal Fault Tree Analysis - Practical Experiences , 2007, Electron. Notes Theor. Comput. Sci..

[24]  Anders P. Ravn,et al.  From Safety Analysis to Software Requirements , 1998, IEEE Trans. Software Eng..

[25]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[26]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[27]  Pierre-Yves Schobbens,et al.  Evaluating formal properties of feature diagram languages , 2008, IET Softw..

[28]  Marco Ajmone Marsan,et al.  Modelling with Generalized Stochastic Petri Nets , 1995, PERV.

[29]  Christel Baier,et al.  Principles of model checking , 2008 .

[30]  Joseph Kiniry,et al.  Formal Methods in Software Product Lines: Concepts, Survey, and Guidelines , 2008 .

[31]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[32]  Flemming Nielson,et al.  Semantics with Applications: An Appetizer , 2007, Undergraduate Topics in Computer Science.

[33]  Jing Liu,et al.  Safety analysis of software product lines using state-based modeling , 2007, J. Syst. Softw..

[34]  Alberto L. Sangiovanni-Vincentelli,et al.  Metamodels in Europe: Languages, Tools, and Applications , 2009, IEEE Design & Test of Computers.

[35]  Sandeep K. Shukla Model-Driven Engineering and Safety-Critical Embedded Software , 2009, Computer.

[36]  Stefania Gnesi,et al.  Formal Modeling for Product Families Engineering , 2008, 2008 12th International Software Product Line Conference.

[37]  Marco Bozzano,et al.  Symbolic Fault Tree Analysis for Reactive Systems , 2007, ATVA.

[38]  G. Winskel The formal semantics of programming languages , 1993 .

[39]  Andreas Classen,et al.  Formal modelling of feature configuration workflows , 2009, SPLC.

[40]  Kirsten Winter,et al.  Probabilistic Model-Checking Support for FMEA , 2007 .