Model-based Testing of Real-Time Embedded Systems in the Automotive Domain

Software aspects of embedded systems are expected to have the greatest impact on industry, market and everyday life in the near future. This motivates the investigation of this field. Furthermore, the creation of consistent, reusable, and well-documented models becomes an important stage in the development of embedded systems. Design decisions that used to be made at the code level are increasingly made at a higher level of abstraction. The relevance of models and the efficiency of model-based development have been demonstrated for software engineering. A comparable approach is applicable to quality-assurance activities including testing. The concept of model-based testing is emerging in its application for embedded systems. Nowadays, 44% of embedded system designs meet only 20% of functionality and performance expectations [Enc03, Hel05]. This is partially attributed to the lack of an appropriate test approach for functional validation and verification. Hence, the problem addressed by this innovation relates to quality-assurance processes at model level, when neither code nor hardware exists. A systematic, structured, and abstract test specification is in the primary focus of the innovation. In addition, automation of the test process is targeted as it can considerably cut the efforts and cost of development. The main contribution of this thesis applies to the software built into embedded systems. In particular, it refers to the software models from which systems are built. An approach to functional black-box testing based on the system models by providing a test model is developed. It is contrasted with the currently applied test methods that form dedicated solutions, usually specialized in a concrete testing context. The test framework proposed herewith, is realized in the MATLAB®/Simulink®/Stateflow® [MathML, MathSL, MathSF] environment and is called Modelin-the-Loop for Embedded System Test (MiLEST). The developed signal-feature – oriented paradigm allows the abstract description of signals and their properties. It addresses the problem of missing reference signal flows as well as the issue of systematic test data selection. Numerous signal features are identified. Furthermore, predefined test patterns help build hierarchical test specifications, which enables a construction of the test specification along modular divide-and-conquer principles. The processing of both discrete and continuous signals is possible, so that the hybrid behavior of embedded systems can be addressed. The testing with MiLEST starts in the requirements phase and goes down to the test execution level. The essential steps in this test process are automated, such as the test data generation and test evaluation to name the most important. Three case studies based on adaptive cruise control are presented. These examples correspond to component, component-in-the-loop, and integration level tests. Moreover, the quality of the test specification process, the test model, and the resulting test cases is investigated in depth. The resulting test quality metrics are applied during the test design and test execution phases so as to assess whether and how the proposed method is more effective than established techniques. A quality gain of at least 20% has been estimated.

[1]  J. Wegener,et al.  Test Case Design by Means of the CTE XL , 2000 .

[2]  Stacy J. Prowell,et al.  JUMBL: a tool for model-based statistical testing , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[3]  Marius Mikucionis,et al.  Online On-the-Fly Testing of Real-time Systems , 2003 .

[4]  I. Schieferdecker,et al.  Automotive Validation Functions for On-Line Test Evaluation of Hybrid Real-Time Systems , 2006, 2006 IEEE Autotestcon.

[5]  Gabor Karsai,et al.  Constraint-Based Design-Space Exploration and Model Synthesis , 2003, EMSOFT.

[6]  Elaine J. Weyuker,et al.  The evaluation of program-based software test data adequacy criteria , 1988, CACM.

[7]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

[8]  Benjamin C. Kuo,et al.  AUTOMATIC CONTROL SYSTEMS , 1962, Universum:Technical sciences.

[9]  Graeme P. Maxton,et al.  Time for a Model Change: Re-engineering the Global Automotive Industry , 2004 .

[10]  Alexander Pretschner,et al.  Model Based Testing for Real: The Inhouse Card Case Study , 2001 .

[11]  Harald Richter,et al.  A component-based specification approach for embedded systems using FDTs , 2006, ACM SIGSOFT Softw. Eng. Notes.

[12]  K. Oguchi,et al.  Towards Model-Based Failure-Management for Automotive Software , 2007, Fourth International Workshop on Software Engineering for Automotive Systems (SEAS '07).

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

[14]  Andreas Krämer,et al.  Model-Based Testing of Automotive Systems , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[15]  Elliott Mendelson,et al.  Introduction to Mathematical Logic , 1979 .

[16]  Jens Bräuer,et al.  µTTCN - an approach to continuous signals in TTCN-3 , 2007, Software Engineering.

[17]  Lionel Morel,et al.  Formal Definition of a Mode-Automata Like Architecture in Simulink/Stateflow , 2007 .

[18]  Mirko Conrad Modell-basierter Test eingebetteter Software im Automobil , 2004 .

[19]  Edward A. Lee,et al.  Concurrent models of computation for embedded software , 2005 .

[20]  Ingolf Krüger,et al.  Hybrid Sequence Charts , 2000, Proceedings Third IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000) (Cat. No. PR00607).

[21]  Ina Schieferdecker,et al.  Applying the ISO 9126 quality model to test specifications - exemplified for TTCN-3 test specifications , 2007, Software Engineering.

[22]  Ina Schieferdecker,et al.  From U2TP Models to Executable Tests with TTCN-3 - An Approach to Model Driven Testing , 2005, TestCom.

[23]  Edward A. Lee,et al.  Operational Semantics of Hybrid Systems , 2005, HSCC.

[24]  W. R. Howard Gödel's Theorem: An Incomplete Guide to its Use and Abuse , 2006 .

[25]  Alexander Pretschner,et al.  Prototype-based tests for hybrid reactive systems , 2003, 14th IEEE International Workshop on Rapid Systems Prototyping, 2003. Proceedings..

[26]  Werner Damm,et al.  Formale Verifikation von ASCET Modellen im Rahmen der Entwicklung der Aktivlenkung , 2003, GI Jahrestagung.

[27]  Dusan M. Velasevic,et al.  Applying simulation and design of experiments to the embedded software testing process , 2004, Softw. Test. Verification Reliab..

[28]  Mirko Conrad,et al.  Selective integration of formal methods in the development of electronic control units , 1998, Proceedings Second International Conference on Formal Engineering Methods (Cat.No.98EX241).

[29]  Jürgen Großmann,et al.  Testing Embedded Control Systems with TTCN-3 , 2007, SEUS.

[30]  Mirko Conrad,et al.  A Systematic Approach to Testing Automotive Control Software , 2004 .

[31]  Ina Schieferdecker,et al.  Test Data Variance as a Test Quality Measure: Exemplified for TTCN-3 , 2007, TestCom/FATES.

[32]  Steve Heath,et al.  Embedded Systems Design , 1997 .

[33]  Stuart Bennett,et al.  A History of Control Engineering 1800-1930 , 1979 .

[34]  Boris Beizer,et al.  Black Box Testing: Techniques for Functional Testing of Software and Systems , 1996, IEEE Software.

[35]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[36]  A. T. Fuller,et al.  A History of Control Engineering 1800-1930 , 1979 .

[37]  Mark Blackburn,et al.  Why Model-Based Test Automation is Different and What You Should Know to Get Started , 2004 .

[38]  Irving M. Copi,et al.  Introduction to Logic , 1962 .

[39]  Shinichi Soejima,et al.  ([DPSOHV RI XVDJH DQG VSUHDG RI '\PROD ZLWKLQ 7R\RWD 0RGHOLFD :RUNVKRS 3URFHHGLQJV SS Examples of usage and the spread of Dymola within Toyota , 2000 .

[40]  Werner Zimmermann,et al.  Kfz-Bussysteme, Protokolle und Standards , 2007 .

[41]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[42]  Tom Erkkinen,et al.  Production Code Generation for Safety-Critical Systems , 2004 .

[43]  Vincent Encontre Testing Embedded Systems : Do You Have The GuTs for It ? , 2001 .

[44]  J. Dormand,et al.  A family of embedded Runge-Kutta formulae , 1980 .

[45]  James R. Guggemos,et al.  MODERN CONTROL TECHNOLOGY WITH MODEL T COMPUTERS , 1973 .

[46]  Ingolf Krüger,et al.  Distributed system design with message sequence charts , 2000 .

[47]  Paul Allen,et al.  Service Orientation: Winning Strategies and Best Practices , 2006 .

[48]  Alexander Pretschner,et al.  One evaluation of model-based testing and its automation , 2005, ICSE.

[49]  Experience report: the reactis validation tool , 2007, ICFP '07.

[50]  Ilene Burnstein,et al.  Practical Software Testing , 2003, Springer Professional Computing.

[51]  Daniel Grund,et al.  Rule Checking within the Model-Based Development of Safety-Critical Systems and Embedded Automotive Software , 2007, Eighth International Symposium on Autonomous Decentralized Systems (ISADS'07).

[52]  Bruno Marre,et al.  Test sequences generation from LUSTRE descriptions: GATEL , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[53]  Klaus Lamberg,et al.  Model-based Testing of Embedded Automotive Software Using Mtest , 2004 .

[54]  Dejan Nickovic,et al.  AMT: A Property-Based Monitoring Tool for Analog Systems , 2007, FORMATS.

[55]  Darren D. Cofer,et al.  Formal Verification of an Avionics Sensor Voter Using SCADE , 2004, FORMATS/FTRTFT.

[56]  O. Koné,et al.  Test method for embedded real-time systems , 2005 .

[57]  G. Karsai Title: Embedded Control Systems Language for Distributed Processing (ecsl-dp) , 2004 .

[58]  Matthias Grochtmann,et al.  Modellbasierte Entwicklung eingebetteter Fahrzeugsoftware bei DaimlerChrysler , 2005, Informatik - Forschung und Entwicklung.

[59]  Gaetano Borriello,et al.  Symbolic timing verification of timing diagrams using Presburger formulas , 1997, DAC.

[60]  Klaus Grimm Systematisches Testen von Software: eine neue Methode und eine effektive Teststrategie , 1995, GMD-Bericht.

[61]  Z. Dai Model-Driven Testing with UML 2 . 0 , 2004 .

[62]  G. Le Lann Critical issues for the development of distributed real-time computing systems , 1990, [1990] Proceedings. Second IEEE Workshop on Future Trends of Distributed Computing Systems.

[63]  David Lee,et al.  Testing Finite-State Machines: State Identification and Verification , 1994, IEEE Trans. Computers.

[64]  Guanhua Yan,et al.  Simulation of large scale networks using SSF , 2003, Proceedings of the 2003 Winter Simulation Conference, 2003..

[65]  Andy Schürr,et al.  Checking and Enforcement of Modeling Guidelines with Graph Transformations , 2008, AGTIVE.

[66]  Alexander Pretschner Compositional Generation of MC/DC Integration Test Suites , 2003, Electron. Notes Theor. Comput. Sci..

[67]  Ina Schieferdecker,et al.  From Functional Requirements through Test Evaluation Design to Automatic Test Data Patterns Retrieval - a Concept for Testing of Software Dedicated for Hybrid Embedded Systems , 2007, Software Engineering Research and Practice.

[68]  Keith Marzullo,et al.  Making real-time reactive systems reliable , 1990, EW 4.

[69]  William C. Hetzel,et al.  The complete guide to software testing , 1984 .

[70]  George Din,et al.  A performance test design method and its implementation patterns for multi-services systems , 2009 .

[71]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[72]  Helmut Wolfram Neukirchen,et al.  Languages, tools and patterns for the specification of distributed real-time tests , 2004 .

[73]  Jean Louis Sourrouille,et al.  Considerations about Model Mapping , 2003 .

[74]  Manfred Broy,et al.  Engineering Automotive Software , 2007, Proceedings of the IEEE.

[75]  Bertrand Jeannet,et al.  Symbolic Test Selection Based on Approximate Analysis , 2005, TACAS.

[76]  Hartmut Ehrig,et al.  Mathematisch-strukturelle Grundlagen der Informatik, 2. Auflage , 2001, Mathematisch-strukturelle Grundlagen der Informatik, 2. Auflage.

[77]  Christian Wewetzer,et al.  TestML - A Test Exchange Language for Model-Based Testing of Embedded Software , 2006, ASWSD.

[78]  Edward W. Kamen,et al.  Fundamentals of signals and systems using MATLAB , 1997 .

[79]  A. Tiwari Formal Semantics and Analysis Methods for Simulink Stateflow Models , 2001 .

[80]  Alberto L. Sangiovanni-Vincentelli,et al.  Correct-by-construction transformations across design environments for model-based embedded software development , 2005, Design, Automation and Test in Europe.

[81]  Mirko Conrad Systematic model-based testing of embedded control software: the MB , 2004, ICSE 2004.

[82]  Antonio De Luca,et al.  Function-Oriented Model Development for Real-Time Simulators with MATLAB/SIMULINK , 2002 .

[83]  Manfred Broy,et al.  A formal model of services , 2007, TSEM.

[84]  Ingolf Krüger Service-oriented software and systems engineering - a vision for the automotive domain , 2005, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2005. MEMOCODE '05..

[85]  Bernhard Schätz,et al.  Model-Based Development of Embedded Systems , 2002, OOIS Workshops.

[86]  Mirko Conrad,et al.  Model-Based Development of In-Vehicle Software , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[87]  Ingo Stürmer,et al.  Systematic Testing of Model-Based Code Generators , 2007, IEEE Transactions on Software Engineering.

[88]  Vijay Kumar,et al.  Modular Specification of Hybrid Systems in CHARON , 2000, HSCC.

[89]  Lionel Morel,et al.  Stepwise Development of Simulink Models Using the Refinement Calculus Framework , 2007, ICTAC.

[90]  Winfried Dulz,et al.  MaTeLo - statistical usage testing by annotated sequence diagrams, Markov chains and TTCN-3 , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[91]  Raymond A. Paul,et al.  Rapid verification of embedded systems using patterns , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[92]  Debra J. Richardson,et al.  Approaches to specification-based testing , 1989 .

[93]  Larry Apfelbaum,et al.  Model Based Testing , 1997 .

[94]  Ina Schieferdecker,et al.  Test Design Patterns for Embedded Systems , 2007 .

[95]  Alberto Bemporad,et al.  HYSDEL-a tool for generating computational hybrid models for analysis and synthesis problems , 2004, IEEE Transactions on Control Systems Technology.

[96]  Ina Schieferdecker,et al.  Combining System Development and System Test in a Model-Centric Approach , 2004, RISE.

[97]  Bart Broekman,et al.  Testing Embedded Software , 2002 .

[98]  Jürgen Großmann,et al.  Continuous TTCN-3: testing of embedded control systems , 2006, SEAS '06.

[99]  Raymond A. Paul,et al.  Rapid embedded system testing using verification patterns , 2005, IEEE Software.

[100]  Matthias Grochtmann,et al.  Classification trees for partition testing , 1993, Softw. Test. Verification Reliab..

[101]  D.M. Cohen,et al.  The Combinatorial Design Approach to Automatic Test Generation , 1996, IEEE Softw..

[102]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[103]  Ina Schieferdecker,et al.  Model-Driven Testing: Using the UML Testing Profile , 2007 .

[104]  Bruno Legeard,et al.  Boundary coverage criteria for test generation from formal models , 2004, 15th International Symposium on Software Reliability Engineering.

[105]  A. Jefferson Offutt,et al.  Combination testing strategies: a survey , 2005, Softw. Test. Verification Reliab..

[106]  Ingolf Krüger,et al.  Model-Based Failure Management for Distributed Reactive Systems , 2006, Monterey Workshop.

[107]  Richard R. Spencer,et al.  Introduction to Electronic Circuit Design , 2002 .

[108]  B. I. Silva,et al.  Modeling and Verifying Hybrid Dynamic Systems Using CheckMate , 2001 .

[109]  Hartmut Ehrig,et al.  Mathematisch-strukturelle Grundlagen der Informatik , 1999, Mathematisch-strukturelle Grundlagen der Informatik.

[110]  J. Ackrill,et al.  Aristotle the philosopher , 1981 .

[111]  Ina Schieferdecker,et al.  Test Patterns with TTCN-3 , 2004, FATES.

[112]  Joachim Wegener,et al.  Evolutionary unit testing of object-oriented software using strongly-typed genetic programming , 2006, GECCO '06.

[113]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[114]  Walter J. Gutjahr,et al.  Partition Testing vs. Random Testing: The Influence of Uncertainty , 1999, IEEE Trans. Software Eng..

[115]  Alexander Pretschner Zum modellbasierten funktionalen Test reaktiver Systeme , 2003 .

[116]  Edsger W. Dijkstra,et al.  Notes on structured programming , 1970 .

[117]  Robert Mandl,et al.  Orthogonal Latin squares: an application of experiment design to compiler testing , 1985, CACM.

[118]  Jürgen Großmann,et al.  Modeling Property Based Stream Templates with TTCN-3 , 2008, TestCom/FATES.

[119]  Stephan Merz,et al.  Temporal Logic and State Systems , 2008, Texts in Theoretical Computer Science. An EATCS Series.

[120]  Claude Kaiser,et al.  Distributed computing systems , 1986 .

[121]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[122]  Automotive Bus Systems , 2006 .

[123]  S. Ramesh,et al.  Automatic Generation of Test-Cases Using Model Checking for SL / SF Models ⋆ , 2007 .

[124]  P. J. Monsterman Hybrid dynamic systems: A hybrid bond graph modeling paradigm and its application in diagnosis , 1997 .

[125]  Thomas A. Henzinger,et al.  The theory of hybrid automata , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[126]  Manfred Broy,et al.  SOFTBED: Problemanalyse für ein Großverbundprojekt "Systemtechnik Automobil - Software für eingebettete Systeme" , 1998 .

[127]  Eckard Lehmann Time partition testing: systematischer Test des kontinuierlichen Verhaltens von eingebetteten Systemen , 2004 .

[128]  Ina Schieferdecker,et al.  Systematic Test Data Generation for Embedded Software , 2008, Software Engineering Research and Practice.

[129]  Klaus Grimm Software technology in an automotive company - major challenges , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[130]  Jörg Schäuffele,et al.  Automotive Software Engineering , 2003 .