Executable State Machines Derived from Structured Textual Requirements - Connecting Requirements and Formal System Design.

There exists a gap between (textual) requirements specification and systems created in the system design process. System design, particular in automotive, is a tremendously complex process. The sheer number of requirements for a system is too high to be considered at once. In industrial contexts, complex systems are commonly created through many design iterations with numerous hardware samples and software versions build. System experts include many experience-based design decisions in the process. This approach eventually leads to a somewhat consistent system without formal consideration of requirements or a traceable design decision process. The process leaves a de facto gap between specification and system design. Ideally, requirements constrain the initial solution space and system design can choose between the design variants consistent with that reduced solution space. In reality, the true solution space is unknown and the effect of particular requirements on that solution space is a guessing game. Therefore, we want to propose a process chain that formally includes requirements in the system design process and generates an executable system model. Requirements documented as structured text are mapped into the logic space. Temporal logic allows generation of consistent static state machines. Extracting and modelling input/output signals of that state machine enables us to generate an executable system model, fully derived from its requirements. This bridges the existing gap between requirements specification and system design. The correctness and usefulness of this approach is shown in a case study on automotive systems at Daimler AG.

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

[2]  Crispin Hales,et al.  Engineering design: a systematic approach , 1989 .

[3]  Andreas Spillner,et al.  Basiswissen Softwaretest - Aus- und Weiterbildung zum Certified Tester, Foundation Level nach ISTQB-Standard (3. Aufl.) , 2005 .

[4]  Stephan Rudolph,et al.  On a Grammar-Based Design Language That Supports Automated Design Generation and Creativity , 2004 .

[5]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.

[6]  Enrico Franconi,et al.  A Temporal Description Logic for Reasoning about Actions and Plans , 1998, J. Artif. Intell. Res..

[7]  Guiming Luo,et al.  Direct translation of LTL formulas to Büchi automata , 2012, 2012 IEEE 11th International Conference on Cognitive Informatics and Cognitive Computing.

[8]  Salomon Sickert Linear Temporal Logic , 2016, Arch. Formal Proofs.

[9]  Johan Anthory Willem Kamp,et al.  Tense logic and the theory of linear order , 1968 .

[10]  Tiziano Villa,et al.  Synthesis of Finite State Machines: Functional Optimization , 2010 .

[11]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

[12]  Frank Houdek,et al.  Model-based engineering of an automotive adaptive exterior lighting system: Realistic example specifications of behavioral requirements and functional design , 2015 .

[13]  Wolfgang Minker,et al.  Domain-Level Reasoning for Spoken Dialogue Systems , 2011 .

[14]  Stephan Rudolph,et al.  A SEMANTIC VALIDATION SCHEME FOR GRAPH-BASED ENGINEERING DESIGN GRAMMARS , 2006 .

[15]  D. Holdstock Past, present--and future? , 2005, Medicine, conflict, and survival.

[16]  Stephan Rudolph,et al.  Improving Test Execution Efficiency Through Clustering and Reordering of Independent Test Steps , 2018, 2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST).

[17]  Tiziano Villa,et al.  Synthesis of Finite State Machines: Logic Optimization , 1997 .

[18]  Stephan Rudolph,et al.  A Formalization Method to Process Structured Natural Language to Logic Expressions to Detect Redundant Specification and Test Statements , 2017, 2017 IEEE 25th International Requirements Engineering Conference (RE).

[19]  Dariusz Kania,et al.  Finite State Machine Logic Synthesis for Complex Programmable Logic Devices , 2013 .

[20]  Martin Glinz,et al.  On Non-Functional Requirements , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[21]  George S. Avrunin,et al.  Property specification patterns for finite-state verification , 1998, FMSP '98.

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

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