On Design-time Modelling and Verification of Safety-critical Component-based Systems

Component-based Software Engineering (CBSE) is currently a key paradigm used for developing safetycritical systems. It provides a fundamental means to master systems complexity, by allowing to design systems parts (i.e., components) for reuse and by allowing to develop those parts independently. One of the main challenges of introducing CBSE in this area is to ensure the integrity of the overall system after building it from individual components, since safety-critical systems require a rigorous development and qualification process to be released for the operation. Although the topic of compositional modelling and verification in the context of component-based systems has been studied intensively in the last decade, there is currently still a lack of tools and methods that can be applied practically and that consider major related systems quality attributes such as usability and scalability. In this paper, we present a novel approach for design-time modelling and verification of safety-critical systems, based on data semantics of components. We describe the composition, i.e., the systems design, and the underlying properties of components as a Constraint Satisfaction Problem (CSP) and perform the verification by solving that problem. We show that CSP can be successfully applied for the verification of compositions for many types of properties. In our experimental setup we also show how the proposed verification scales with regard to the complexity of different system configurations.

[1]  Alberto L. Sangiovanni-Vincentelli,et al.  Contract-based system-level composition of analog circuits , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[3]  Krzysztof R. Apt,et al.  Principles of constraint programming , 2003 .

[4]  Ivica Crnkovic,et al.  Building Reliable Component-Based Software Systems , 2002 .

[5]  Stefano Tonetta,et al.  Languages for safety-certification related propertis , 2013, SEAA 2013.

[6]  Mário de Sousa Data-type checking of IEC61131-3 ST and IL applications , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

[7]  Xavier Lorca,et al.  Choco: an Open Source Java Constraint Programming Library , 2008 .

[8]  Joseph Sifakis,et al.  Rigorous Component-Based System Design Using the BIP Framework , 2011, IEEE Software.

[9]  Arnd Poetzsch-Heffter,et al.  Component-based modeling and verification of dynamic adaptation in safety-critical embedded systems , 2011, TECS.

[10]  Patrick Frey Case study: engine control application , 2011 .

[11]  Séverine Sentilles,et al.  Integration of Extra-Functional Properties in Component Models , 2009, CBSE.

[12]  Christopher Preschern,et al.  Towards Assured Dynamic Configuration of Safety-Critical Embedded Systems , 2014, SAFECOMP Workshops.

[13]  Giuseppe Montano Dynamic Reconfiguration of Safety-Critical Systems: Automation and Human Involvement , 2011 .

[14]  Joseph Sifakis,et al.  Composition for component-based modeling , 2002, Sci. Comput. Program..

[15]  Christopher Preschern,et al.  A Component-Based Dynamic Link Support for Safety-Critical Embedded Systems , 2013, 2013 20th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS).

[16]  Dejan Nickovic,et al.  Contracts for Systems Design: Theory , 2015 .

[17]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[18]  Jörg Schäuffele,et al.  Automotive Software Engineering - Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen (3. Aufl.) , 2006 .

[19]  Benoît Caillaud,et al.  Other Grants and Activities - Speeds: Speculative and Exploratory Design in Systems Engineering , 2008 .

[20]  Christopher Preschern,et al.  Constraint-Based Verification of Compositions in Safety-Critical Component-Based Systems , 2015, Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing.