Early validation of system requirements and design through correctness-by-construction

Abstract Early validation of requirements aims to reduce the need for the high-cost validation testing and corrective measures at late development stages. This work introduces a systematic process for the unambiguous specification of system requirements and the guided derivation of formal properties, which should be implied by the system ’s structure and behavior in conjunction with its external stimuli. This rigorous design takes place through the incremental construction of a model using the BIP (Behavior-Interaction-Priorities) component framework. It allows building complex designs by composing simpler reusable designs enforcing given properties. If some properties are neither enforced nor verified, the model is refined or certain requirements are revised. A validated model provides evidence of requirements’ consistency and design correctness. The process is semi-automated through a new tool and existing verification tools. Its effectiveness was evaluated on a set of requirements for the control software of the CubETH nanosatellite and an extract of software requirements for a Low Earth Orbit observation satellite. Our experience and obtained results helped in identifying open challenges for applying the method in industrial context. These challenges concern with the domain knowledge representation, the expressiveness of used specification languages, the library of reusable designs and scalability.

[1]  Maritta Heisel,et al.  A Structured Approach for Eliciting, Modeling, and Using Quality-Related Domain Knowledge , 2014, ICCSA.

[2]  Andrew Kennedy,et al.  A Model-based Approach to Engineering Behavior of Complex Aerospace Systems , 2012, Infotech@Aerospace.

[3]  Joost-Pieter Katoen,et al.  Spacecraft early design validation using formal methods , 2014, Reliab. Eng. Syst. Saf..

[4]  Lars Grunske,et al.  Specification patterns for probabilistic quality properties , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[5]  Alistair Mavin,et al.  Big Ears (The Return of "Easy Approach to Requirements Engineering") , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[6]  Alistair Mavin,et al.  Just Formal Enough? Automated Analysis of EARS Requirements , 2017, NFM.

[7]  George S. Avrunin,et al.  Breaking up is hard to do: An evaluation of automated assume-guarantee reasoning , 2008, TSEM.

[8]  Qiang Wang,et al.  Formal Verification of Infinite-State BIP Models , 2015, ATVA.

[9]  John Mylopoulos,et al.  On formal requirements modeling languages: RML revisited , 1994, Proceedings of 16th International Conference on Software Engineering.

[10]  Cyrille Jégourel,et al.  Statistical model checking QoS properties of systems with SBIP , 2012, International Journal on Software Tools for Technology Transfer.

[11]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[12]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[13]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[14]  Joseph Sifakis,et al.  DesignBIP: A Design Studio for Modeling and Generating Systems with BIP , 2018, ArXiv.

[15]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[16]  Alessandro Cimatti,et al.  OCRA: A tool for checking the refinement of temporal contracts , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[17]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[18]  Dennis M. Buede,et al.  The Engineering Design of Systems: Models and Methods , 1999 .

[19]  George Rahonis,et al.  On Weighted Configuration Logics , 2017, FACS.

[20]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[21]  Haruhiko Kaiya,et al.  Ontology based requirements analysis: lightweight semantic processing approach , 2005, Fifth International Conference on Quality Software (QSIC'05).

[22]  Michael W. Whalen,et al.  Proving the Shalls Early Validation of Requirements Through Formal Methods , 2004 .

[23]  Joseph Sifakis,et al.  D-Finder 2: Towards Efficient Correctness of Incremental Design , 2011, NASA Formal Methods.

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

[25]  Marco Roveri,et al.  The nuXmv Symbolic Model Checker , 2014, CAV.

[26]  Stefano Rossi CubETH Magnetotorquers: Design and Tests for a CubeSat Mission , 2015 .

[27]  Oscar Ljungkrantz,et al.  ReSA: An ontology-based requirement specification language tailored to automotive systems , 2015, 10th IEEE International Symposium on Industrial Embedded Systems (SIES).

[28]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[29]  Reino Kurki-Suonio A Practical Theory of Reactive Systems - Incremental Modeling of Dynamic Behaviors , 2005, Texts in Theoretical Computer Science. An EATCS Series.

[30]  Armin Biere,et al.  Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs , 1999, CAV.

[31]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[32]  Joseph Sifakis,et al.  Component Assemblies in the Context of Manycore , 2011, FMCO.

[33]  John Mylopoulos,et al.  Specifying and analyzing early requirements in Tropos , 2004, Requirements Engineering.

[34]  Lawrence D. Pohlmann,et al.  The Engineering Design of Systems – Models and Methods , 2000 .

[35]  Joseph Sifakis Rigorous system design , 2014, PODC '14.

[36]  R. Karban,et al.  An ontology for State Analysis: Formalizing the mapping to SysML , 2012, 2012 IEEE Aerospace Conference.

[37]  Elena Gabriela Barrantes,et al.  Automated Detection of Language Issues Affecting Accuracy, Ambiguity and Verifiability in Software Requirements Written in Natural Language , 2010, NAACL.

[38]  Philipp Reinkemeier,et al.  A pattern-based requirement specification language: Mapping automotive specific timing requirements , 2011, Software Engineering.

[39]  Qiang Wang,et al.  Automatic Fault Localization for BIP , 2015, SETTA.

[40]  Joseph Sifakis,et al.  Architecture internalisation in BIP , 2014, CBSE '14.

[41]  Marco Bozzano,et al.  Formal Design and Safety Analysis of AIR6110 Wheel Brake System , 2015, CAV.

[42]  Mike Mannion,et al.  Using Viewpoints to Define Domain Requirements , 1998, IEEE Softw..

[43]  Narasimha Bolloju,et al.  Analyzing the Quality of Domain Models Developed by Novice Systems Analysts , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[44]  Marius Bozga,et al.  RTD-Finder: A Tool for Compositional Verification of Real-Time Component-Based Systems , 2016, TACAS.

[45]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[46]  Víctor M. González Suárez,et al.  Formal Verification of Complex Properties on PLC Programs , 2014, FORTE.

[47]  Thomas Moser,et al.  DODT: Increasing requirements formalism using domain ontologies for improved embedded systems development , 2011, 14th IEEE International Symposium on Design and Diagnostics of Electronic Circuits and Systems.

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

[49]  Henry Muccini,et al.  What Industry Needs from Architectural Languages: A Survey , 2013, IEEE Transactions on Software Engineering.

[50]  Hardi Hungar,et al.  Using contract-based component specifications for virtual integration testing and architecture design , 2011, 2011 Design, Automation & Test in Europe.

[51]  Deborah Anne Baker The use of requirements in rigorous system design , 1982 .

[52]  M. Jackson,et al.  Problem Analysis and Structure , 2000 .

[53]  Rich Hilliard,et al.  Architecture Description Languages in Practice Session Report , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

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

[55]  Simon Bliudze,et al.  Reduction and Abstraction Techniques for BIP , 2014, FACS.

[56]  Ajitha Rajan,et al.  CESAR - Cost-efficient Methods and Processes for Safety-relevant Embedded Systems , 2013 .

[57]  Chih-Hong Cheng,et al.  Structural Synthesis for GXW Specifications , 2016, CAV.

[58]  Mark S. Fox,et al.  A Requirement Ontology for Engineering Design , 1996 .

[59]  Martin Böschen,et al.  Bridging the Gap between Natural Language Requirements and Formal Specifications , 2016, REFSQ Workshops.

[60]  Joseph Sifakis,et al.  Architecture-Based Design: A Satellite On-Board Software Case Study , 2016, FACS.

[61]  A. Berztiss,et al.  Requirements Engineering , 2002, J. Object Technol..

[62]  Sanjai Rayadurgam,et al.  Compositional verification of a medical device system , 2013, HILT '13.

[63]  Mourad Oussalah,et al.  An explicit definition of connectors for component-based software architecture , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[64]  Silvio Romero de Lemos Meira,et al.  ToolDAy: a tool for domain analysis , 2010, International Journal on Software Tools for Technology Transfer.

[65]  Joseph Sifakis,et al.  Configuration logics: Modeling architecture styles , 2017, J. Log. Algebraic Methods Program..

[66]  Oscar Ljungkrantz,et al.  Specification and Semantic Analysis of Embedded Systems Requirements: From Description Logic to Temporal Logic , 2017, SEFM.

[67]  Insup Lee,et al.  From Requirements to Code: Model Based Development of a Medical Cyber Physical System , 2014, FHIES/SEHC.

[68]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[69]  Joseph Sifakis,et al.  Architecture Diagrams: A Graphical Language for Architecture Style Specification , 2016, ICE.

[70]  Joseph Sifakis,et al.  A general framework for architecture composability , 2014, Formal Aspects of Computing.

[71]  Alistair Mavin,et al.  Easy Approach to Requirements Syntax (EARS) , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[72]  Mats Per Erik Heimdahl,et al.  Proving the shalls , 2003, International Journal on Software Tools for Technology Transfer.

[73]  Joseph Sifakis,et al.  Rigorous implementation of real-time systems – from theory to application , 2013, Mathematical Structures in Computer Science.