Enhancing Model-Based Engineering of Product Lines by Adding Functional Safety

Product lines in industry are often based on an engineer’s focus on fast and feasible product instantiation rather than a precise product line development method and process as described in literature. When considering functional safety, we need a precise model that includes evidence for the safety of each variant of the product.Functional safety standards provide guidance to develop safety critical products and require that evidence is collected to prove the safety of the product. But today’s functional safety standards do not provide guidance on how to achieve functional safety in product lines. At the same time arguments need to be collected during development so that each product configuration is safe and is fulfilling the requirements of the standards. Providing these arguments requires tracing safety-related requirements and dependencies through the development process taking the impact of variability in different development artifacts into consideration.In this thesis, we study the challenges of developing safety critical products in product lines. We explore industrial practices to achieve functional safety standard compliance in product lines by interviewing practitioners from different companies and by collecting the reported challenges and practices. This information helps us to identify improvement areas and we derive requirements that a product line engineering method needs to fulfill. Based on these findings we analyze variability management methods from the software product line engineering research domain to identify potential candidate solutions that can be adapted to support safety critical products. We provide an approach for capturing functional safety related characteristics in a model-based product line engineering method. We apply our method in an industrial case demonstrating the applicability.

[1]  Jan Bosch,et al.  Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization , 2002, SPLC.

[2]  Robyn R. Lutz,et al.  Analyzing software requirements errors in safety-critical, embedded systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[3]  Jing Liu,et al.  Safety analysis of software product lines using state-based modeling , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

[4]  Peter Liggesmeyer,et al.  A New Component Concept for Fault Trees , 2003, SCS.

[5]  Peter Liggesmeyer,et al.  Variability Management of Safety and Reliability Models: An Intermediate Model towards Systematic Reuse of Component Fault Trees , 2010, SAFECOMP.

[6]  Clifton A. Ericson,et al.  Hazard Analysis Techniques for System Safety , 2005 .

[7]  Fabien Belmonte,et al.  Interoperability between Risk Assessment and System Design for Railway Safety Critical Signalling System Development , 2012 .

[8]  Fredrik Törner,et al.  Modelling Support for Design of Safety-Critical Automotive Embedded Systems , 2008, SAFECOMP.

[9]  Robyn R. Lutz,et al.  Integrating Product-Line Fault Tree Analysis into AADL Models , 2007, 10th IEEE High Assurance Systems Engineering Symposium (HASE'07).

[10]  Wenyun Zhao,et al.  An Approach to Managing Feature Dependencies for Product Releasing in Software Product Lines , 2006, ICSR.

[11]  Tetsuo Kotoku,et al.  A profile and tool for modelling safety information with design information in SysML , 2014, Software & Systems Modeling.

[12]  Markus Oertel,et al.  Reusing a Functional Safety Concept in Variable System Architectures , 2014, ACESMB@MoDELS.

[13]  Hassan Gomaa,et al.  Designing Software Product Lines with UML , 2005, 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (SEW'05).