Model-Based Testing of Embedded Systems ...

20 downloads 0 Views 2MB Size Report
Justyna Zander. Fraunhofer Institute FOKUS, Germany .... M. Cameron Jones, Ingbert R. Floyd and Michael B. Twidale (2009). Software Applications: Concepts,.
377

Chapter 15

Model-Based Testing of Embedded Systems Exemplified for the Automotive Domain Justyna Zander Fraunhofer Institute FOKUS, Germany Ina Schieferdecker Fraunhofer Institute FOKUS & Technische Universität Berlin, Germany

abstraCt The purpose of this chapter is to introduce the test methods applied for embedded systems addressing selected problems in the automotive domain. Model-based test approaches are reviewed and categorized. Weak points are identified and a novel test method is proposed. It is called model-in-the-loop for embedded system test (MiLEST) and is realized in MATLAB®/Simulink®/Stateflow® environment. Its main contribution refers to functional black-box testing based on the system and test models. It is contrasted with the test methods currently applied in the industry that form dedicated solutions, usually specialized in a concrete testing context. The developed signal-feature-oriented paradigm developed herewith allows the abstract description of signals and their properties. It addresses the problem of missing reference signal flows and allows for a systematic and automatic test data selection. Processing of both discrete and continuous signals is possible, so that the hybrid behavior of embedded systems can be handled.

introduCtion embedded system Context An embedded system (Broy et al., 1998, Lazić & Velašević, 2004) is a system built for dedicated control functions. Embedded software (Lazić & Velašević, 2004; Conrad, 2004) is the software running on an embedded system. Embedded systems DOI: 10.4018/978-1-60566-750-8.ch015

have become increasingly sophisticated and their software content has grown rapidly for the last years. Applications now consist of hundreds of thousands or even more lines of code. The requirements that must be fulfilled while developing embedded software are complex in comparison to the standard software. Embedded systems are often produced in large volumes and the software is difficult to be updated once the product is deployed. Embedded systems interact with real-life environment. Hybrid aspects are often expressed via mathematical formu-

Copyright © 2010, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.

Model-Based Testing of Embedded Systems

las. In terms of software development, increased complexity of products, shortened development cycles and higher customer expectations of quality implicate the extreme importance and automation need for software testing. Software development activities in every phase are error prone, so the process of defects detection plays a crucial role. The cost of finding and fixing defects grows exponentially in the development cycle. The software testing problem is complex because of the large number of possible scenarios. The typical testing process is a human-intensive activity and, as such, it is usually unproductive and often inadequately done. Nowadays, testing is one of the weakest points of current development practices. According to the study given by Encontre (2003) 50% of embedded systems development projects are months behind schedule and only 44% of designs meet 20% of functionality and performance expectations. This happens despite the fact that approximately 50% of total development effort is spent on testing (Helmerich et al., 2005). The impact of research into test methodologies that reduce this effort is therefore very high and strongly desirable (Helmerich et al., 2005; Bouyssounouse & Sifakis, 2005). Although a number of valuable efforts in the context of testing already exist, there is still a lot of space to improve the situation. This applies in particular, to the automation potential of the test methods. Also, a systematic, appropriately structured, repeatable and consistent test specification is still an aim to be reached. Furthermore, both abstract and concrete views should be supported so as to improve the readability, on the one hand and assure the executability of the resulting test, on the other hand. The testing method should address all aspects of a tested system – whether a mix of discrete and continuous signals, time constrained functionality or a complex configuration is considered. In order to establish a controlled and stable testing process with respect to time, budget and software quality, the software testing process must be modeled, measured and analyzed. Moreover,

378

the existence of executable system models opens the potentials for model-based testing (MBT).

automotive domain Studies show that the strongest impact of embedded systems on the market has to be expected in the automotive industry. The share of innovative electronics and software in the total value of an automobile is currently estimated to be at least 25%, with an expected increase to 40% in 2010 and up to 50% for the time after 2010 (Helmerich et al., 2005; Schäuffele & Zurawka, 2006). Prominent examples of such electronic systems are safety facilities, advanced driver assistance systems (ADAS) or adaptive cruise control (ACC). These functionalities are realized by software within electronic control units (ECUs). A modern car has up to 80 ECUs (Schäuffele & Zurawka, 2006). Furthermore, the complexity of car software dramatically increases as it implements formerly mechanically or electronically integrated functions. Yet, the functions are distributed over several ECUs interacting with each other. Studies by Maxton & Wormald (2004), Schäuffele & Zurawka (2006), Broy et al. (2007) predict that most innovations in a car will come from its electronic embedded systems and their inherent software. Nowadays, embedded software makes up 85% of the value of the entire system, according to Helmerich et al. (2005). At the same time, it is demanded to shorten time-to-market for a car by making its software components reliable and safe. Additionally, studies provided in DESS deliverable (2001) show that the cost of recalling a car model with a safety critical failure can be more than the cost of thorough testing/verification. Under these circumstances the introduction of quality assurance techniques in the automotive domain becomes obvious and will be followed within this work. The remainder of this chapter is the following. In Section 2, testing requirements for embedded

35 more pages are available in the full version of this document, which may be purchased using the "Add to Cart" button on the product's webpage: www.igi-global.com/chapter/model-based-testing-embeddedsystems/36350?camid=4v1

This title is available in InfoSci-Books, Business-Technology-Solution, InfoSci-Software Technologies, Science, Engineering, and Information Technology, InfoSci-Select, InfoSci-Computer Science and Information Technology. Recommend this product to your librarian: www.igi-global.com/e-resources/library-recommendation/?id=1

Related Content Design and Transformation of a Domain-Specific Language for Reconfigurable Conveyor Systems Kyoungho An, Adam Trewyn, Aniruddha Gokhale and Shivakumar Sastry (2014). Software Design and Development: Concepts, Methodologies, Tools, and Applications (pp. 551-569).

www.igi-global.com/chapter/design-transformation-domain-specificlanguage/77722?camid=4v1a Requirement Management and Link with Architecture and Components Jean-Louis Boulanger (2011). Knowledge Engineering for Software Development Life Cycles: Support Technologies and Applications (pp. 34-67).

www.igi-global.com/chapter/requirement-management-link-architecturecomponents1/52876?camid=4v1a Not Ready for Prime Time: A Survey on Security in Model Driven Development Jostein Jensen and Martin Gilje Jaatun (2011). International Journal of Secure Software Engineering (pp. 49-61).

www.igi-global.com/article/not-ready-prime-time/61153?camid=4v1a Patchwork Prototyping with Open Source Software M. Cameron Jones, Ingbert R. Floyd and Michael B. Twidale (2009). Software Applications: Concepts, Methodologies, Tools, and Applications (pp. 1641-1656).

www.igi-global.com/chapter/patchwork-prototyping-open-source-software/29469?camid=4v1a