Test-Driven Scenario Specification of Automotive Software Components

The rising complexity of automotive software makes it increasingly difficult to develop the software with high quality in short time. Especially the late detection of early errors, such as requirement inconsistencies and ambiguities, often causes costly iterations. We address this problem with a new requirements specification and analysis technique based on executable scenarios and automated testing. The technique is based on the Scenario Modeling Language for Kotlin (SMLK), a Kotlin based framework that supports the modeling/programming of behavior as loosely coupled scenarios, which is close to how humans conceive and communicate behavioral requirements. Combined with JUnit, we propose the Test-Driven Scenario Specification (TDSS) process, which introduces agile practices into the early phases of development, significantly reducing the risk of requirement inconsistencies and ambiguities, and, thus, reducing development costs. We overview TDSS with the help of an example from the e-mobility domain, report on lessons learned, and outline open challenges.

[1]  Daniel Hoffman,et al.  Prose+test cases=specifications , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

[2]  Sebastián Uchitel,et al.  Existential live sequence charts revisited , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[3]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[4]  Edward L. Jones Test-driven specification: paradigm and automation , 2006, ACM-SE 44.

[5]  Kent L. Beck,et al.  Test Driven Development (TDD) , 2003, XP.

[6]  Guy Katz,et al.  ScenarioTools - A tool suite for the scenario-based modeling and analysis of reactive systems , 2017, Sci. Comput. Program..

[7]  Albert Albers,et al.  Eine Systematik zur situationsadäquaten Mechatroniksystementwicklung durch ASD - Agile Systems Design , 2019 .

[8]  Dorothee Feldmüller Usage of agile practices in Mechatronics System Design Potentials, Challenges and Actual Surveys , 2018, 2018 19th International Conference on Research and Education in Mechatronics (REM).

[9]  David Harel,et al.  Some Methodological Observations Resulting from Experience Using LSCs and the Play-In/Play-Out Approach , 2003, Scenarios: Models, Transformations and Tools.

[10]  Frank Houdek,et al.  Poster: Challenges with Automotive Test Case Specifications , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion).

[11]  Jochen Klose,et al.  Scenario-Based Monitoring and Testing of Real-Time UML Models , 2001, UML.

[12]  David Harel,et al.  Behavioral programming , 2012, CACM.

[13]  Hans-Leo Ross Functional Safety for Road Vehicles: New Challenges and Solutions for E-mobility and Automated Driving , 2016 .

[14]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[15]  Honghao Gao,et al.  An executable model and testing for Web software based on live sequence charts , 2016, 2016 IEEE/ACIS 15th International Conference on Computer and Information Science (ICIS).

[16]  Joel Greenyer,et al.  Synthesizing tests for combinatorial coverage of modal scenario specifications , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[17]  Joel Greenyer,et al.  Evaluating a formal scenario-based method for the requirements analysis in automotive software engineering , 2015, ESEC/SIGSOFT FSE.

[18]  Jörg Holtmann,et al.  Integrated and iterative systems engineering and software requirements engineering for technical systems , 2016, J. Softw. Evol. Process..

[19]  Domenico Cotroneo,et al.  Fault Injection for Software Certification , 2013, IEEE Security & Privacy.