Providing tool support for specifying safety-critical systems by enforcing syntactic contract conditions

Functional safety standards such as IEC 61508 and ISO 26262 advocate a particularly stringent requirements engineering where safety requirements must be structured in a hierarchical manner and specified in accordance with the system architecture. In contrast to the stringent requirements engineering in functional safety standards, according to previous studies, requirements engineering in industry is in general of poor quality. Contracts theory has been previously shown to be suitable for supporting such a stringent requirements engineering effort; this support has also been implemented in tools. However, to use these contract-based tools, requirements must be formalized, which is a major challenge in industry. Therefore, to support current industrial requirements engineering practice and the stringent requirements engineering in functional safety standards, it is shown how tool support can be provided even when requirements, and also architectures, are not formalized. This is achieved by enforcing syntactic, yet formal, conditions in contracts theory. Despite the need for further validation, initial findings in an industrial case study indicate high potential in realizing the proposed support in an industrial setting.

[1]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[2]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[3]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[4]  N. Harrison The Darwin Information Typing Architecture (DITA): applications for globalization , 2005, IPCC 2005. Proceedings. International Professional Communication Conference, 2005..

[5]  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).

[6]  Sophie Quinton,et al.  Contract-Based Verification of Hierarchical Systems of Components , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[7]  Jonas Westman,et al.  Failure Propagation Modeling Based on Contracts Theory , 2015, 2015 11th European Dependable Computing Conference (EDCC).

[8]  Thomas A. Henzinger,et al.  The Discipline of Embedded Systems Design , 2007, Computer.

[9]  GénovaGonzalo,et al.  A framework to measure and improve the quality of textual requirements , 2013 .

[10]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[11]  Kim G. Larsen,et al.  Moving from Specifications to Contracts in Component-Based Design , 2012, FASE.

[12]  C. A. R. Hoare,et al.  An Axiomatic Basis for Computer Programming (Reprint) , 2002, Software Pioneers.

[13]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

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

[15]  Martin Törngren,et al.  Experience on applying software architecture recovery to automotive embedded systems , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[16]  Kenneth L. McMillan,et al.  Circular Compositional Reasoning about Liveness , 1999, CHARME.

[17]  Alberto L. Sangiovanni-Vincentelli,et al.  Contracts for System Design , 2018, Found. Trends Electron. Des. Autom..

[18]  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.

[19]  Peter H. Feiler,et al.  Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language , 2012 .

[20]  Alexei Lapouchnian,et al.  Goal-Oriented Requirements Engineering: An Overview of the Current Research , 2005 .

[21]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[22]  Andreas Söderberg,et al.  Composable Safety-Critical Systems Based on Pre-certified Software Components , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering Workshops.

[23]  Qin Ma,et al.  5.1.2 Designing Embedded Systems using Heterogeneous Rich Components 1 , 2008 .

[24]  Lui Sha,et al.  Compositional Verification of Architectural Models , 2012, NASA Formal Methods.

[25]  Eric Knauss,et al.  Feedback-driven requirements engineering: The Heuristic Requirements Assistant , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[26]  Philippe Massonet,et al.  GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[27]  Jonas Westman,et al.  Conditions of contracts for separating responsibilities in heterogeneous systems , 2018, Formal Methods Syst. Des..

[28]  Mattias Nyberg,et al.  Failure propagation modeling for safety analysis using causal Bayesian networks , 2013, 2013 Conference on Control and Fault-Tolerant Systems (SysTol).

[29]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[30]  Nan Niu,et al.  A semantic relatedness approach for traceability link recovery , 2012, 2012 20th IEEE International Conference on Program Comprehension (ICPC).

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

[32]  John Mylopoulos,et al.  Goal-oriented requirements engineering: an extended systematic mapping study , 2017, Requirements Engineering.

[33]  Michael Jackson,et al.  The World and the Machine , 1995, 1995 17th International Conference on Software Engineering.

[34]  Ivar Jacobson,et al.  Unified Modeling Language Reference Manual, The (2nd Edition) , 2004 .

[35]  Emilio Insfran,et al.  Model-Driven Engineering Languages and Systems , 2014, Lecture Notes in Computer Science.

[36]  Werner Damm Controlling speculative design processes using rich component models , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[37]  Jonas Westman,et al.  Contracts for Structuring and Specifying Requirements on Cyber-Physical Systems , 2015 .

[38]  Andrea Zisman,et al.  Software and Systems Traceability , 2012, Springer London.

[39]  Axel van Lamsweerde,et al.  From Object Orientation to Goal Orientation: A Paradigm Shift for Requirements Engineering , 2002, RISSEF.

[40]  Manfred Broy,et al.  A logical approach to systems engineering artifacts: semantic relationships and dependencies beyond traceability—from requirements to functional and architectural views , 2018, Software & Systems Modeling.

[41]  Mauro Pezzè,et al.  Fundamental Approaches to Software Engineering , 2018, Lecture Notes in Computer Science.

[42]  Philippe Massonet,et al.  FAUST: formal analysis using specification tools , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[43]  Priya Narasimhan,et al.  Software Technologies for Embedded and Ubiquitous Systems , 2009, Lecture Notes in Computer Science.

[44]  Martin Törngren,et al.  Structuring Safety Requirements in ISO 26262 Using Contract Theory , 2013, SAFECOMP.

[45]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[46]  Jeremy J. Carroll,et al.  Resource description framework (rdf) concepts and abstract syntax , 2003 .

[47]  Alberto L. Sangiovanni-Vincentelli,et al.  Taming Dr. Frankenstein: Contract-Based Design for Cyber-Physical Systems , 2012, Eur. J. Control.

[48]  L. McMillanmcmillan Circular Compositional Reasoning about Liveness , 1999 .

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

[50]  Tim Berners-Lee,et al.  Linked Data - The Story So Far , 2009, Int. J. Semantic Web Inf. Syst..

[51]  Antonio Iannopollo,et al.  TAMING DR. FRANKENSTEIN: CONTRACT-BASED DESIGN FOR CYBER-PHYSICAL SYSTEMS , 2012 .

[52]  Leslie Lamport,et al.  Model Checking TLA+ Specifications , 1999, CHARME.

[53]  Sanford Friedenthal,et al.  A Practical Guide to SysML: The Systems Modeling Language , 2008 .

[54]  Maria-Eugenia Iacob,et al.  Requirements traceability in model-driven development: Applying model and transformation conformance , 2007, Inf. Syst. Frontiers.

[55]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[56]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[57]  Edward A. Lee Cyber Physical Systems: Design Challenges , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[58]  Ulf Leser,et al.  Querying Distributed RDF Data Sources with SPARQL , 2008, ESWC.

[59]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[60]  Danda B. Rawat,et al.  Cyber-Physical Systems: From Theory to Practice , 2015 .

[61]  Roberto Passerone,et al.  Multiple Viewpoint Contract-Based Specification and Design , 2008, FMCO.

[62]  Frank D. Valencia,et al.  Formal Methods for Components and Objects , 2002, Lecture Notes in Computer Science.

[63]  Bernhard Josko,et al.  Contract Based ISO CD 26262 Safety Analysis , 2009 .

[64]  Grant Williams,et al.  Detecting, classifying, and tracing non-functional software requirements , 2016, Requirements Engineering.

[65]  Jonas Westman,et al.  Environment-Centric Contracts for Design of Cyber-Physical Systems , 2014, MoDELS.

[66]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[67]  R. Bell,et al.  IEC 61508: functional safety of electrical/electronic/ programme electronic safety-related systems: overview , 1999 .

[68]  Ghulam Rasool,et al.  Software Architecture Recovery , 2007 .

[69]  Dilian Gurov,et al.  Formal architecture modeling of sequential non-recursive C programs , 2017, Sci. Comput. Program..

[70]  Roberto Passerone,et al.  Multi-Viewpoint State Machines for Rich Component Models , 2009 .

[71]  Donald Firesmith,et al.  Engineering Safety Requirements, Safety Constraints, and Safety-Critical Requirements , 2004, J. Object Technol..

[72]  Jana Maria Heinsohn,et al.  Einführung in die ISO 26262 "Functional Safety - Road Vehicles" , 2011 .

[73]  Lindsay Jones Development of Safety Critical Systems and Software for Ministry of Defence , 1991 .

[74]  Ivan Kurtev,et al.  Generation and validation of traces between requirements and architecture based on formal trace semantics , 2014, J. Syst. Softw..

[75]  Jozef Hooman,et al.  The Quest Goes on: A Survey of Proofsystems for Partial Correctness of CSP , 1986, Current Trends in Concurrency.

[76]  Neil A. M. Maiden,et al.  The Domain Theory for Requirements Engineering , 1998, IEEE Trans. Software Eng..

[77]  Jonas Westman,et al.  A Reference Example on the Specification of Safety Requirements using ISO 26262 , 2013, DECS@SAFECOMP.

[78]  James B. Dabney,et al.  Mastering Simulink 4 , 2001 .

[79]  Leslie Lamport,et al.  Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers [Book Review] , 2002, Computer.

[80]  Raymond Hubbard,et al.  The significant difference paradigm promotes bad science , 2013 .

[81]  Peter H. Feiler,et al.  Model-Based Engineering with AADL , 2012 .

[82]  Eric R. Ziegel,et al.  System Reliability Theory: Models, Statistical Methods, and Applications , 2004, Technometrics.

[83]  Simonetta Balsamo,et al.  Radical Innovations of Software and Systems Engineering in the Future , 2004, Lecture Notes in Computer Science.

[84]  Eike Thaden,et al.  A Model-Based Design Methodology with Contracts to Enhance the Development Process of Safety-Critical Systems , 2010, SEUS.

[85]  Jonas Westman,et al.  Extending Contract theory with Safety Integrity Levels , 2015, 2015 IEEE 16th International Symposium on High Assurance Systems Engineering.

[86]  Aarne Ranta,et al.  An Authoring Tool for Informal and Formal Requirements Specifications , 2002, FASE.

[87]  Amir Pnueli,et al.  Compositionality: The Significant Difference , 1999, Lecture Notes in Computer Science.

[88]  Michael Jackson,et al.  Software requirements & specifications , 1995 .

[89]  Valentin Moreno,et al.  A framework to measure and improve the quality of textual requirements , 2011, Requirements Engineering.

[90]  Alessandro Cimatti,et al.  Contracts-refinement proof system for component-based embedded systems , 2015, Sci. Comput. Program..