Software Engineering for Embedded Systems (Wintersemester 2010/2011)

Dozent: Prof. Dr. Holger Giese (Systemanalyse und Modellierung)
Tutoren: Dipl.-Inform. Stefan Neumann


Software-intensive systems, in which a considerable fraction of the system development efforts is dedicated to the development of embedded software, are often regarded as the most important software engineering field in the years to come. They are expected to be one key factor of success for many industries such as, for example, the automotive sector, transportation, or medical devices. As today technical systems also become connected to each other using network technology, we no longer only have technical systems which are controlled by isolated operating embedded software. Instead, the software may include complex information processing capabilities and the coordination between the different technical systems via networks taking hard real-time constraints into account.

Modeling embedded systems often results in a mix of models from a multitude of disciplines such as software engineering, control engineering, mechanical engineering, and electrical engineering. Block diagrams in systems engineering and the Unified Modeling Language (UML) in software engineering, are prominent examples of domain specific modeling techniques used for modeling. Recently, several steps towards integrating both worlds can be observed. UML 2.0 component diagrams offer a system view which has been originally invented for complex real-time systems in the telecommunications domain. SysML suggests an extension of the UML for systems engineering. The required integration has to combine the usually continuous world considered by systems engineering and the discrete software engineering view and thus results in techniques for hybrid systems which support both continuous as well as discrete behavior.

Embedded systems are often safety-critical applications where their correct operation is vital to ensure the safety of the public and environment. Examples include shut-down systems for nuclear power plants, fly-by-wire aircrafts, autonomous train control software or anti-lock braking systems in automobiles. Safety is a system property and thus cannot be studied by simply taking into account the software part of an embedded system, only. However, in this lecture we will address the general engineering aspects of safety in a rather superficial manner and mainly concentrate on the specific problems of safety-critical systems which contain (complex) software parts.

In this lecture, we will review the current state of the art of software engineering for embedded systems taking into account the techniques available for the different development activities such as project management, requirements engineering, analysis & design, implementation, and verification & validation. This will, in particular, include the study of available techniques for the development of systems, which are safety-critical, have hard real-time constraints, and are hybrid systems. Also an overview about the current state of the art for the model-driven development of embedded systems is provided. In addition to the lecture exercises are organized to give an insight how to use state of the art approaches and tools. Within small projects the students can contribute the gained knowledge by developing solutions for the Robotino-Robot by using these introduced tools and concepts. The exercises and projects will be organized (partially) in the context of the currently established new Cyber-Physical-Systems-Laboratory (CPS-Lab) at the Hasso-Plattner-Institute.


The slides for the lectures will be published on the internal directory of the lecture.

In addition, the following books, articles and reports are recommended:

[1] L. Carloni, M. D. D. Benedetto, R. Passerone, A. Pinto, and A. Sangiovanni-Vincentelli. Modeling Techniques, Programming Languages and Design Toolsets for Hybrid Systems. Project IST-2001-38314 COLUMBUS - Design of Embedded Controllers for Safety Critical Systems, WPHS: Hybrid System Modeling, July 2004. Version: 0.2, Deliverable number: DHS4-5-6.

[2] D. Henriksson, O. Redell, J. El-Khoury, M. Törngren, and K.-E. Arzen. Tools for Real-Time Control Systems Co-Design - A Survey. Technical Report ISRNLUTFD2/TFRT--7612--SE, Department of Automatic Control, Lund Institute of Technology, Sweden, April 2005.

[3] J. C. Laprie, editor. Dependability : basic concepts and terminology in English, French, German, Italian and Japanese [IFIP WG 10.4, Dependable Computing and Fault Tolerance], volume 5 of Dependable computing and fault tolerant systems. Springer Verlag, Wien, 1992.

[4] Nancy G. Leveson. Safeware: system safety and computers. Addison-Wesley, 1995.

[5] P. Liggesmeyer and D. Rombach, eds., Software Engineering eingebetteter Systeme: Grundlagen - Methodik - Anwendungen. Elsevier, 2005. (UPB Bib: TWQ 11163 +1)

[6] Peter G. Neumann. Computer related risks. ACM Press, 1995.

[7] Object Management Group. Systems Modeling Language (SysML) Specification, January 2005. Document: ad/05-01-03.

[8] Object Management Group. UML for System Engineering Request for Proposal, ad/03-03-41, March 2003.

[9] Object Management Group. UML 2.0 Superstructure Specification, October 2004. Document: ptc/04-10-02 (convenience document).

[10] T. Samad and G. Balas, eds., Software-Enabled Control: Information Technology for Dynamical Systems. IEEE Press and Wiley-Interscience, 2003.

[11] N. Storey. Safety-Critical Computer Systems. Addison-Wesley, 1996.

Lern- und Lehrformen

Es finden zwei 90-minütige Veranstaltungen pro Woche statt. Dieses sind in der Regel Vorlesungen. Ab Mitte Januar findet anstelle der Vorlesung ein praktischer Teil statt.

Weitere Informationen zum praktischen Teil werden in der Veranstaltung besprochen.


Zur Leistungserfassung wird eine mündliche Prüfung herangezogen. Weiterhin gibt es Übungen/Projekte, welche je nach Teilnehmerzahl, in Gruppen oder einzeln bearbeitet werden. Die erfolgreiche Teilnahme an den Übungen/Projekten ist Voraussetzung für das Bestehen.


Aktuell (21.01.2011):

Es findet ein zusätzlich Vorlesung sowie ein eingeladener Vortrag statt.

Zusätzlicher Vorlesungstermin:

  • 07.02. - 11:00 Uhr - Raum HS3

Eingeladener Vortrag von Dr. Ingo Stürmer:

  • 08.02. - 11:00 Uhr - Raum HS2

Am 08.02.2011 um 11:00 Uhr hält Herr Dr. Ingo Stürmer einen Vortrag zu dem Thema: Modellqualität - Software-Modelle in der Entwicklung eingebetteter Software analysieren und bewerten

Abstract zum Vortrag:
Die Modellbasierte Entwicklung eingebetteter Software für das Automobil ist gekennzeichnet durch den konsequenten Einsatz ausführbarer Modelle in allen Entwicklungsphasen. Modellierungs- und Simulationswerkzeuge, die hier weite Verbreitung gefunden haben, sind z.B. die datenfluss-orientierte Modellierungssprache Simulink und die zur Modellierung von Zustandsautomaten verfügbare Erweiterung Stateflow von The MathWorks. Codegeneratoren wie z.B. TargetLink von dSPACE oder der Real-Time Workshop/Embedded Coder von The MathWorks erlauben es, automatisch effizienten C Code direkt aus diesen Modellen zu generieren. Entscheidend ist dabei die Qualität und Komplexität des genierten Codes. Beides resultiert unmittelbar aus der Qualität und Komplexität der Modelle, die für die Codegenerierung verwendet werden.

Im Rahmen der Vorlesung soll anhand praxis-relevanter Beispiele aus dem Automobilbereich gezeigt werden, wie die Qualität der Software-Modelle heutzutage analysiert und bewertet wird. Es wird aufgezeigt, welche Maßnahmen hierfür angewendet werden und wie diese im Rahmen des Entwicklungsprozesses zusammenspielen. Letztendlich wird demonstriert, wie aus Sicht des Managements die Qualität der zu entwickelnden Software kontinuierlich überwacht und gesteuert werden kann.

Kurze CV:
Dr. Ingo Stürmer ist Geschäftsführer der Model Engineering Solutions GmbH, eine Softwarefirma in Berlin spezialisiert auf die Qualitätssicherung eingebetteter Software im Automobil. Herr Stürmer studierte Informatik an der Universität der Bundeswehr in München und promovierte an der TU-Berlin in Zusammenarbeit mit der ehemaligen Daimler-Forschung in Berlin über die Zertifizierung von Software-Werkzeugen, die in der Entwicklung sicherheits-relevanter Software eingesetzt werden.



Zu den folgenden Terminen finden Vorlesungen statt (Montags in Raum H-E 51 und Dienstags in Raum HS 2):

  • 18.10.
  • 19.10.
  • 25.10.
  • 26.10.
  • 01.11.
  • 02.11.
  • 08.11.
  • 09.11.
  • 15.11.
  • 16.11.
  • 22.11.
  • 23.11.
  • 29.11.
  • 30.11.
  • 06.12.
  • 07.12.
  • 13.12.
  • 14.12.

Allgemeine Information

  • Semesterwochenstunden : 4
  • ECTS : 6
  • Benotet : Ja
  • Einschreibefrist : 1.10.2010 - 31.3.2011
  • Programm : IT-Systems Engineering MA
  • Lehrform : VU
  • Belegungsart : Wahlpflicht


  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D
  • Software Architecture & Modeling Technology
  • IT-Systems Engineering Analyse