Download PDF Download PDF Download PDF

Academia-to-Business forum, Date: 2010/09/23 - 2010/09/23, Location: Ghent, Belgium

Publication date: 2010-01-01

Author:

Van Landschoot, Sille
Cordemans, Piet ; Boydens, Jeroen

Keywords:

embedded software, test-driven development

Abstract:

One of the spearheads of the Enterprise Programming research group focuses on Test-Driven Development of the software component for embedded systems (IWT / Tetra 090191). During several TDD4ES meetings with the EP-knowledge partners the need appeared for a reliable foundation for structural design of industrial relevant embedded systems. More specifically, the general in-practice development process does no longer meet the increased complexity of embedded systems. During the elaboration phase of this project, a couple of practical applications of embedded systems are realized, with all necessary attention towards documentation and quality assurance. This way, manuals, best-practice procedures and bottlenecks are indicated when building and realizing embedded systems. Finally the concrete applications and manuals will form a base for support and development of course materials for the professional bachelor courses of Electronics-ICT and Electromechanics-Automation. In the scientific domain, this project is supported by FMTC (Flander’s Mechatronic Technology Centre), who supplies the definition of industrial relevant applications. FMTC represents the leading companies in the mechatronic industry in Flanders. Furthermore, the valorization partner, DSP Valley, supports the dissemination of the project results in their technology network. International research illustrates that more and more concepts of Test-Driven Development (TDD) are migrated to the embedded software domain. In contrast to desktop applications, embedded systems demand for the approach of co-designing hard- and software. This emanates from the fact that the hardware only becomes available at the end of the design. This is the reason that current design methods only pay attention for testing at the end of the configuration. Embedded designers use the final test stage to demonstrate the correctness of their embedded system. To conduct these final tests, debugging tools are used. Test-Driven Development puts testing much earlier in the design process, even before the hardware is available. This is made possible by developing virtual hardware, a technique called mocking in software engineering. In that case the tests for embedded software do not use the real hardware, but the virtual simulating components. Even more, in Test-Driven Development, the tests have a repetitive nature. This entails that they can be used actively at different moments in the design, to detect faults in good time. Repetitive testing is essential in an embedded environment, because the replacement cost rises dramatically from the moment that the device is used. Test-Driven Development, as is the case with desktop applications, increases the quality of the source code. Even more so, the greatest advantage of this methodology, namely the early detection of faulty behavior, is essential in an environment where hardware and software are developed at the same moment.