Tuesday Afternoon, Half Day
Embedded Systems in C++ — C++ Idioms, Patterns, and Architecture for Constrained Systems
Convention Ctr — Room 5
Detlef Vollmann, Vollmann Engineering GmbH

Embedded software is different: it often involves hard real-time constraints and very limited memory. But the challenges for embedded systems are even higher: they must be very reliable (99.999% is not good enough) and need to tackle a variety of different memory types (standard RAM, EEPROM, Flash, buffered RAM, ...). Another frequent design problem is the different kinds of processing tasks: interrupt handling, hardware control, application processes, all interconnected by a selection of communication means. To design a system in such an environment, a rich programming language like C++ seems to be quite useful. But on the other hand, it is often more difficult to keep the tight control necessary, e.g., for hard real-time requirements, with such a high-level language. This tutorial will present and discuss various techniques for designing and implementing typical embedded systems problems in C++. Different language features are analyzed with respect to embedded requirements. Participants of this tutorial will acquire a thorough understanding of the potentials of C++ for the development of systems with tight limitations. They will learn effective techniques to deal with these limitations even for complex systems.

Attendee Background: Participants should have a good working knowledge of ISO C++. Experience in the design of embedded systems will be helpful but is not essential.

Presenter: Detlef Vollmann has a background of 15 years in software engineering and more than 10 years with object technology. As an independent consultant he supports several Swiss companies with the design of object-oriented systems. Since 1991, he has authored and taught courses in C++, Object-Oriented Technologies, Software Architecture, and Distributed Computing for major Swiss companies.

Tutorials
at a Glance
Tutorials by Track
Full Description
of all Tutorials
Final Program