Towards a hybrid formal analysis technique for safety-critical software architectures

Given the catastrophic damage that bugs in critical systems can inflict on human life and its socio-economic environment, the use of rigorous analysis techniques while developing such systems is getting more and more important especially with the increasingly growing complexity of their architecture. However, the aforementioned growing complexity of such systems architecture leads to many scalability issues for the existing formal specification and verification approaches. This paper presents a novel and scalable formal development approach for critical system software architectures. In particular, our proposal is based on rewriting logic and combines both model checking and property-based testing techniques to bridge the gap between these complementary techniques, and hence overcome the drawbacks of previous attempts to ensure the absence of undesired or unexpected behaviour in the specification and implementation of a critical system.

[1]  Alcino Cunha,et al.  Property-based testing for the robot operating system , 2018, A-TEST@ESEC/SIGSOFT FSE.

[2]  Antonio Bucchiarone,et al.  Model-Checking Plus Testing: From Software Architecture Analysis to Code Testing , 2004, FORTE Workshops.

[3]  Said Meghzili,et al.  On the Verification of UML State Machine Diagrams to Colored Petri Nets Transformation Using Isabelle/HOL , 2017, 2017 IEEE International Conference on Information Reuse and Integration (IRI).

[4]  Zakaryae Boudi,et al.  From Place/Transition Petri nets to B abstract machines for safety critical systems , 2015 .

[5]  Reiner Hähnle,et al.  Formal modeling and analysis of railway operations with active objects , 2018, Sci. Comput. Program..

[6]  Holger Giese,et al.  Combining Requirements, Use Case Maps and AADL Models for Safety-Critical Systems Design , 2016, 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[7]  Bradley R. Schmerl,et al.  Improving self-adaptation planning through software architecture-based stochastic modeling , 2016, J. Syst. Softw..

[8]  José Meseguer Formal Design of Cloud Computing Systems in Maude , 2018, SBMF.

[9]  Alexandre Sztajnberg,et al.  Towards a Rewriting Semantics for a Software Architecture Description Language , 2004, Electron. Notes Theor. Comput. Sci..

[10]  Renaud Rioboo,et al.  Modelling UML state machines with FoCaLiZe , 2018, Int. J. Inf. Commun. Technol..

[11]  Karsten Wolf,et al.  Petri Net Model Checking with LoLA 2 , 2018, Petri Nets.

[12]  Alberto Verdejo,et al.  Parameterized Strategies Specification in Maude , 2018, WADT.

[13]  Bradley R. Schmerl,et al.  Software Architecture-Based Self-Adaptation , 2009, Autonomic Computing and Networking.

[14]  Ulrich Berger,et al.  Verification of the European Rail Traffic Management System in Real-Time Maude , 2017, Sci. Comput. Program..

[15]  Bixin Li,et al.  A Verification-Based Approach to Evaluate Software Architecture Evolution , 2017 .

[16]  Zakaryae Boudi,et al.  Colored Petri Nets formal transformation to B machines for safety critical software development , 2015, 2015 International Conference on Industrial Engineering and Systems Management (IESM).

[17]  Bixin Li,et al.  A classification and comparison of model checking software architecture techniques , 2010, J. Syst. Softw..

[18]  Vittorio Cortellessa,et al.  Availability-Driven Architectural Change Propagation Through Bidirectional Model Transformations Between UML and Petri Net Models , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[19]  Bernhard Schätz,et al.  Formal analysis of feature degradation in fault-tolerant automotive systems , 2018, Sci. Comput. Program..

[20]  Adrián Riesco,et al.  Introducing the ITP Tool: a Tutorial , 2006, J. Univers. Comput. Sci..

[21]  Christian Wolff,et al.  Design Guidelines for Coffee Vending Machines , 2013, HCI.

[22]  Flávio Oquendo Formally describing the software architecture of Systems-of-Systems with SosADL , 2016, 2016 11th System of Systems Engineering Conference (SoSE).

[23]  Judy Bowen,et al.  Modelling safety-critical devices: coloured petri nets and Z , 2017, EICS.

[24]  MeseguerJosé Conditional rewriting logic as a unified model of concurrency , 1992 .

[25]  Shihai Wang,et al.  Transformation rules from AADL to improved colored GSPN for integrated modular avionics , 2016, 2016 11th International Conference on Reliability, Maintainability and Safety (ICRMS).

[26]  Arthit Thongtak,et al.  Transformation of time Petri net into Promela , 2017, 2017 11th International Conference on Telecommunication Systems Services and Applications (TSSA).

[27]  Yvon Savaria,et al.  Efficient probabilistic fault tree analysis of safety critical systems via probabilistic model checking , 2016, 2016 Forum on Specification and Design Languages (FDL).

[28]  Kay Römer,et al.  Automatic Testbench Generation for Simulation-based Verification of Safety-critical Systems in UML , 2016, PECCS.

[29]  Kamel Barkaoui,et al.  On the Use of Real-Time Maude for Architecture Description and Verification: A Case Study , 2008, BCS Int. Acad. Conf..

[30]  Francisco Durán,et al.  Dynamic Validation of Maude Prototypes of UML Models , 2014, Specification, Algebra, and Software.

[31]  Peter Csaba Ölveczky,et al.  Formal Semantics and Analysis of Behavioral AADL Models in Real-Time Maude , 2010, FMOODS/FORTE.

[32]  Peter Csaba Ölveczky Real-Time Maude 2.3 manual , 2004 .

[33]  F. Belala,et al.  K Semantics for Dynamic Software Architectures , 2013 .

[34]  Paolo Ballarini,et al.  Petri nets compositional modeling and verification of Flexible Manufacturing Systems , 2011, 2011 IEEE International Conference on Automation Science and Engineering.

[35]  Jamal Bentahar,et al.  Model-Based Verification and Testing Methodology for Safety-Critical Airborne Systems , 2018, MEDI Workshops.

[36]  Flávio Oquendo,et al.  Modeling and Executing Software Architecture Using SysADL , 2018, 2018 IEEE International Conference on Software Architecture Companion (ICSA-C).

[37]  Elena Troubitsyna,et al.  Towards Integrated Modelling of Dynamic Access Control with UML and Event-B , 2017, IMPEX/FM&MDD.

[38]  Junhua Ding An approach for modeling and analyzing dynamic software architectures , 2016, 2016 12th International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery (ICNC-FSKD).

[39]  José Meseguer,et al.  The Maude LTL Model Checker and Its Implementation , 2003, SPIN.

[40]  Kamel Barkaoui,et al.  Hierarchical Verification in Maude of L f P Software Architectures , 2007, ECSA.

[41]  Bernhard K. Aichernig,et al.  Towards integrating statistical model checking into property-based testing , 2016, 2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE).

[42]  Hans-Christian Reuss,et al.  A model-driven approach for the development of safety-critical functions using modified architecture description language (ADL) , 2016, 2016 International Conference on Electrical Systems for Aircraft, Railway, Ship Propulsion and Road Vehicles & International Transportation Electrification Conference (ESARS-ITEC).

[43]  Monika Singh,et al.  Formal Transformation of UML Diagram: Use Case, Class, Sequence Diagram with Z Notation for Representing the Static and Dynamic Perspectives of System , 2016 .

[44]  João Pascoal Faria,et al.  Automatic Model Transformation from UML Sequence Diagrams to Coloured Petri Nets , 2018, MODELSWARD.

[45]  Peter Csaba Ölveczky,et al.  The SynchAADL2Maude Tool , 2012, FASE.

[46]  Allaoua Chaoui,et al.  A Graph Transformation Approach to Generate Analysable Maude Specifications from UML Interaction Overview Diagrams , 2018, 2018 IEEE International Conference on Information Reuse and Integration (IRI).

[47]  Vittorio Cortellessa,et al.  A model-driven approach to catch performance antipatterns in ADL specifications , 2017, Inf. Softw. Technol..

[48]  Michael G. Hinchey,et al.  Evolving Critical Systems: A Research Agenda for Computer-Based Systems , 2010, 2010 17th IEEE International Conference and Workshops on Engineering of Computer Based Systems.

[49]  Bernhard Rumpe,et al.  Evolving Software Architecture Descriptions of Critical Systems , 2010, Computer.

[50]  Wei Zheng,et al.  Formal model-based quantitative safety analysis using timed Coloured Petri Nets , 2018, Reliab. Eng. Syst. Saf..

[51]  Peter Csaba Ölveczky,et al.  Rewriting Logic as a Unifying Framework for Petri Nets , 2001, Unifying Petri Nets.

[52]  Libero Nigro,et al.  Modelling and Analysis of Partially Stochastic Time Petri Nets Using Uppaal Model Checkers , 2019 .

[53]  Kristin Giammarco,et al.  Verification and Validation of Behavior Models Using Lightweight Formal Methods , 2018 .

[54]  Mourad Badri,et al.  Translating UML Diagrams Into Maude Formal Specifications: A Systematic Approach , 2006, SEKE.

[55]  Peter Csaba Ölveczky,et al.  Automatic Analysis of Consistency Properties of Distributed Transaction Systems in Maude , 2019, TACAS.

[56]  Eckehard Schnieder,et al.  Evaluating Fault Tree by means of Colored Petri nets to analyze the railway system dependability , 2018 .

[57]  Zuohua Ding,et al.  AADL+: a simulation-based methodology for cyber-physical systems , 2018, Frontiers of Computer Science.

[58]  Allaoua Chaoui,et al.  Using graph transformation and maude to simulate and verify UML models , 2013, 2013 The International Conference on Technological Advances in Electrical, Electronics and Computer Engineering (TAEECE).

[59]  Christian Steger,et al.  A Novel Design Method for Automotive Safety-Critical Systems based on UML/MARTE , 2015 .

[60]  Peter Csaba Ölveczky,et al.  Semantics and pragmatics of Real-Time Maude , 2007, High. Order Symb. Comput..

[61]  Elaine J. Weyuker,et al.  Automated test generation using model checking: an industrial evaluation , 2014, International Journal on Software Tools for Technology Transfer.

[62]  Grigore Rosu,et al.  From Rewriting Logic, to Programming Language Semantics, to Program Verification , 2015, Logic, Rewriting, and Concurrency.

[63]  Faiza Belala,et al.  Towards a mobile architecture description language , 2008, 2008 IEEE/ACS International Conference on Computer Systems and Applications.

[64]  MengChu Zhou,et al.  Generating Petri Net-Based Behavioral Models From Textual Use Cases and Application in Railway Networks , 2016, IEEE Transactions on Intelligent Transportation Systems.

[65]  Lalit Kumar Singh,et al.  Verification of safety critical and control systems of Nuclear Power Plants using Petri nets , 2019 .

[66]  Monika Singh,et al.  An UML+Z Framework For Validating And Verifying the Static Aspect of Safety Critical System , 2016 .

[67]  Mohamed Jmaiel,et al.  From AADL Model to LNT Specification , 2015, Ada-Europe.

[68]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[69]  Ali H. Dogru,et al.  Lightweight realization of UML ports for safety-critical real-time embedded software , 2016, 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[70]  Hector J. Levesque,et al.  The cognitive agents specification language and verification environment for multiagent systems , 2002, AAMAS '02.

[71]  Thouraya Bouabana-Tebibel,et al.  A CTL-based OCL extension using CPN ML for UML validation , 2016, Int. J. Crit. Comput. Based Syst..

[72]  Gihwon Kwon,et al.  Failure Analysis in Safety Critical Systems Using Failure State Machine , 2017, CSA/CUTE.

[73]  Peter C. Ölveczky Specifying and Analyzing Real-Time Object Systems in Real-Time Maude , 2001 .

[74]  Laura M. Castro,et al.  Automatic generating algorithm of rewriting logic specification for multi-agent system models based on Petri nets , 2018, Multiagent Grid Syst..

[75]  Toshiaki Aoki,et al.  Combined Model Checking and Testing Create Confidence—A Case on Commercial Automotive Operating System , 2017 .

[76]  Lars-Åke Fredlund,et al.  Applying Property-Based Testing in Teaching Safety-Critical System Programming , 2015, 2015 41st Euromicro Conference on Software Engineering and Advanced Applications.

[77]  Roberto Bruni,et al.  Hierarchical Design Rewriting with Maude , 2008, WRLA.

[78]  Kamel Barkaoui,et al.  On the use of rewriting logic for verification of distributed software architecture description based LfP , 2005, 16th IEEE International Workshop on Rapid System Prototyping (RSP'05).

[79]  Dan Craigen,et al.  Experience with formal methods in critical systems , 1994, IEEE Software.

[80]  José Meseguer,et al.  Twenty years of rewriting logic , 2010, J. Log. Algebraic Methods Program..

[81]  Chen Li,et al.  An approach to modelling and analysing reliability of Breeze/ADL-based software architecture , 2017, International Journal of Automation and Computing.

[82]  Allaoua Chaoui,et al.  Generating Maude Specifications from UML Interaction Overview Diagrams: A Graph Transformation Based Approach , 2018, 2018 Fifth International Symposium on Innovation in Information and Communication Technology (ISIICT).

[83]  Rabih Bashroush,et al.  REPRESENTING VARIABILITY IN SOFTWARE ARCHITECTURE: A SYSTEMATIC LITERATURE REVIEW , 2018 .

[84]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[85]  Bernhard K. Aichernig,et al.  Statistical Model Checking Meets Property-Based Testing , 2017, 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[86]  Mert Ozkaya,et al.  SAwUML - UML-based, contractual software architectures and their formal analysis using SPIN , 2018, Comput. Lang. Syst. Struct..

[87]  Chi Zhang,et al.  Software Architecture Modeling and Reliability Evaluation Based on Petri Net , 2017, 2017 International Conference on Dependable Systems and Their Applications (DSA).

[88]  Steve Vestal,et al.  The SAE Architecture Analysis & Design Language (AADL) a standard for engineering performance critical systems , 2006, 2006 IEEE Conference on Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control.

[89]  Shuzhen Yao,et al.  Petri Nets-based method to elicit component-interaction related safety requirements in safety-critical systems , 2018, Comput. Electr. Eng..

[90]  Rolf Johansson,et al.  The EAST-ADL Architecture Description Language for Automotive Embedded Software , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[91]  Kamel Barkaoui,et al.  A Tile Logic Based Approach for Software Architecture Description Analysis , 2010, J. Softw. Eng. Appl..

[92]  Maurice H. ter Beek,et al.  Formal methods and automated verification of critical systems , 2018, International Journal on Software Tools for Technology Transfer.

[93]  Osman Hasan,et al.  Towards the Formal Development of Software Based Systems: Access Control System as a Case Study , 2018, Inf. Technol. Control..

[94]  Thierry Noulamo,et al.  Formalization Method of the UML Statechart by Transformation Toward Petri Nets , 2018 .

[95]  Sayak Ray,et al.  INVITED: Formal Verification of Security Critical Hardware-Firmware Interactions in Commercial SoCs , 2019, 2019 56th ACM/IEEE Design Automation Conference (DAC).

[96]  Didier Lime,et al.  Applying Parametric Model-Checking Techniques for Reusing Real-Time Critical Systems , 2016, FTSCS.

[97]  Michael Poppleton,et al.  Towards Feature-Oriented Specification and Development with Event-B , 2007, REFSQ.

[98]  Alexandre Sztajnberg,et al.  A Rewriting Semantics for a Software Architecture Description Language , 2005, Electron. Notes Theor. Comput. Sci..

[99]  Dilian Gurov,et al.  Formal Verification in Automotive Industry: Enablers and Obstacles , 2018, ISoLA.

[100]  Eun-Young Kang A Formal Verification Technique for Architecture-based Embedded Systems in EAST-ADL , 2019, ArXiv.

[101]  Stephan Merz,et al.  Model Checking , 2000 .

[102]  A. Pnueli The Temporal Semantics of Concurrent Programs , 1979, Theor. Comput. Sci..

[103]  Benjamin C. Pierce,et al.  Foundational Property-Based Testing , 2015, ITP.

[104]  Gang Lu,et al.  Formalization and Verification of Mobile Systems Calculus Using the Rewriting Engine Maude , 2018, 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC).

[105]  Sakka Rouis Taoufik,et al.  Towards a formal approach for the verification of SCA/BPEL software architectures , 2017, 2017 8th International Conference on Information, Intelligence, Systems & Applications (IISA).