Model-Based Testing of Real-Time Embedded Systems in the Automotive Domain
Total Page:16
File Type:pdf, Size:1020Kb
Model-based Testing of Real-Time Embedded Systems in the Automotive Domain vorgelegt von Dipl. Inform., Dipl. Ing. Justyna Zander-Nowicka von der Fakultät IV – Elektrotechnik und Informatik der Technischen Universität Berlin zur Erlangung des akademischen Grades der Doktorin der Ingenieurwissenschaften – Dr.-Ing. – Genehmigte Dissertation Promotionsausschuss: Vorsitzender: Prof. Dr. –Ing. Clemens Gühmann Berichter: Prof. Dr. –Ing. Ina Schieferdecker Berichter: Prof. Dr. rer. nat. Ingolf Heiko Krüger Tag der wissenschaftlichen Aussprache: 19.12.2008 Berlin, 2009 D 83 Model-based Testing of Real-Time Embedded Systems in the Automotive Domain by M. Sc. Justyna Zander-Nowicka Faculty IV – Electrical Engineering and Computer Science Technical University Berlin A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Engineering Science – Eng. Sc. D. – Accredited Dissertation Examination Board: Chairman: Prof. Eng. Sc. D. Clemens Gühmann Supervisor: Prof. Eng. Sc. D. Ina Schieferdecker Technical University Berlin, Faculty of Electrical Engineering and Computer Science Supervisor: Prof. Dr. Ingolf Heiko Krüger University of California, San Diego, Department of Computer Science and Engineering Day of the Defense: December 19th, 2008 Berlin, 2009 D 83 To my parents Ewa and Georg Zander. ii Technical University Berlin Faculty IV – Electrical Engineering and Computer Science Department for Design and Testing of Telecommunications Systems Franklinstraße 28-29 10587 Berlin, Germany http://www.iv.tu-berlin.de/ University of California, San Diego Department of Computer Science and Engineering UCSD CSE Building 9500 Gilman Drive, Dept. 0404 La Jolla, CA 92093-0404, U.S.A. https://sosa.ucsd.edu/ iii Abstract 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. Fur- thermore, the creation of consistent, reusable, and well-documented models becomes an impor- tant 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 engineer- ing. 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, Hel+05]. This is partially attributed to the lack of an appropriate test ap- proach for functional validation and verification. Hence, the problem addressed by this innova- tion relates to quality-assurance processes at model level, when neither code nor hardware ex- ists. A systematic, structured, and abstract test specification is in the primary focus of the inno- vation. In addition, automation of the test process is targeted as it can considerably cut the ef- forts and cost of development. The main contribution of this thesis applies to the software built into embedded systems. In par- ticular, 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 con- trasted 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 MAT- LAB®/Simulink®/Stateflow® [MathML, MathSL, MathSF] environment and is called Model- in-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 construc- tion 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 sys- tems 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 tech- niques. A quality gain of at least 20% has been estimated. iv Zusammenfassung Die Forschung im Bereich Software-Aspekte von eingebetteten Systemen wird in naher Zu- kunft entscheidenden Einfluss auf Industrie-, Markt- und Alltagsleben haben. Das regt die Un- tersuchung dieses Anwendungsgebietes an. Weiterhin wird die Erstellung eines konsistenten, wiederverwendbaren und gut dokumentierten Modells die wichtigste Aufgabe bei der Entwick- lung von eingebetteten Systemen. Designentscheidungen, die früher auf der Kodeebene be- schlossen wurden, werden heute zunehmend auf einer höheren Abstraktionsebene getroffen. Außerdem, wenn die Debatte über die Relevanz von Modellen und modellbasierter Entwick- lung für die Softwaretechnik zutreffend ist, dann besitzt sie auch Gültigkeit für Aktivitäten der Qualitätssicherung einschließlich Testen. Hiermit wird das Konzept des modellbasierten Tes- tens entwickelt. Heutzutage erfüllen 44% der eingebetteten Systemdesigns 20% der Erwartungen an Funktiona- lität und Leistung [Enc03, Hel+05]. Das liegt zum Teil daran, dass ein passender Testansatz für funktionale Validierung und Verifikation fehlt. Folglich bezieht sich das in dieser Dissertation besprochene Problem auf den Qualitätssicherungsprozess auf Modellebene, wenn weder Kode noch Hardware existiert. Eine systematische, strukturierte, wiederholbare und möglichst abs- trakte Testspezifikation ist der Hauptschwerpunkt dieser Arbeit. Ein weiteres Ziel ist eine Au- tomatisierung des Testprozesses, da diese den Arbeitsaufwand und die Kosten der Entwicklung beträchtlich senken kann. Der Hauptbeitrag dieser Dissertation gilt für Software der eingebetteten Systemen und bezieht sich die eigentliche Breite dieser Arbeit auf Modelle des Softwares, auf deren Grundlage folg- lich die Systeme gebaut werden. Ein Ansatz für funktionale Black-Box Tests, die auf den Mo- dellen basieren und die selbst auch ein Testmodell darstellen, wurde entwickelt. Dem stehen derzeit verwendete Testmethoden gegenüber, die zweckbestimmte Lösungen für in der Regel spezialisierte Testzusammenhänge darstellen. Die hier vorgeschlagene Testframework wurde in einer MATLAB®/Simulink®/Stateflow®-Umgebung realisiert und trägt den Namen Model-in- the-Loop for Embedded System Test (MiLEST). Das Signalsmerkmals-orientierte Paradigma erlaubt eine abstrakte Beschreibung eines Signals und spricht sowohl die Probleme des fehlenden Verlaufes von Referenzsignalen als auch der systematischen Testdatenauswahl an. Zahlreiche Signalsmerkmale werden identifiziert und klassifiziert, vordefinierte Testmuster helfen, hierarchische Testspezifikationen zu bilden. Da- durch wird die Verarbeitung von diskreten und kontinuierlichen Signalen möglich, so dass das hybride Verhalten des Systems adressiert wird. Das Testen mittels MiLEST beginnt in der Anforderungsphase und geht hinunter auf das Test- durchführungsniveau. Einige Prozessschritte sind automatisiert, wobei die Testdatengenerie- rung und die Testauswertung zu den wichtigsten zählen. Drei Fallstudien, die auf der Funktionalität des Tempomats basieren, werden vorgestellt. Diese Beispiele entsprechen den Komponententests, Component-in-the-Loop-Tests und Integrations- niveautests. Außerdem, werden die Qualität des Testspezifikationsprozesses, des Testmodells und der resultierenden Testfälle genauer untersucht. Die Testqualitätsmetriken werden dann während der Testkonstruktion und der Testdurchführung angewendet, um einzuschätzen, ob und in welchem Maße sich die vorgeschlagene Methode von bekannten Techniken unterschei- det. Qualitätsgewinn von mindestens 20% wird abgeschätzt. v Declaration The work presented in this thesis is original work undertaken between September 2005 and August 2008 at the Fraunhofer Institute for Open Communication Systems, Competence Center – Modeling and Testing for System and Service Solutions, the Technical University of Berlin, Faculty of Electrical Engineering and Computer Science, and the University of California, San Diego, Department of Computer Science and Engineering. It has been financed by several research grants and the doctoral fellowship awarded to the author by Studienstiftung des deutschen Volkes1. Portions of this work have been already presented elsewhere due to a num- ber of research travel scholarships received from the IFIP, IEEE, Siemens, and Métodos y Tec- nología. They resulted in the following publications: − ZANDER-NOWICKA, J., SCHIEFERDECKER, I., MARRERO PÉREZ, A.: Automotive Valida- tion Functions for On-line Test Evaluation of Hybrid Real-time Systems, In Proceed-