Vorlesung "Software Architecture for Distributed Embedded Systems"

General Information

Language: Lecture and tutorial in English language.

Lecture time: The lectures will be provided asynchronously as videos in the associated Moodle course.

Tutorial time: Thursday 11:15-12:00, please see the Moodle course for information how to join the Zoom session.

2 SWS lecture, 1 SWS tutorial

5 ECTS credits


  • Introduction to object oriented software development;
  • Unified Markup Language (UML) representation;
  • basic principles of pattern-oriented software design;
  • specific requirements for embedded systems;
  • challenges of distributed architectures;
  • selected structural, behavioral and creational "gang of four" design patterns which are relevant to the targeted applications;
  • design patterns in the context of resource constrained embedded systems: hardware access, concurrency and resource management, safety and reliability;
  • patterns for event handling, service access, configuration and concurrency of distributed applications.

Requirements (recommended)

Principles of embedded computing systems, object oriented programming.

Study Goals

Upon successful completion of the module, the participants are able to explain, apply and develop software architectures for embedded and distributed systems. The students are able to discuss and evaluate different architectural design patterns and design paradigms for such systems. They are able use the learned methods for both the choice of appropriate software architectures and to solve specific problems for applications based on the insights provided in this course, as well as to apply the methods and architectural concepts in system design processes.

Description of achievement and assessment methods

The final grade of this module is derived from the average of three mandatory coursework tasks, which will be handed out in periods of 2-4 weeks during the semster. The coursework consists of questions, UML drawing tasks, and programming tasks that need to be done as individual homework and submitted until a specified deadline.


  • Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects, Volume 2, by Douglas Schmidt, Michael Stal, Hans Rohnert and Frank Buschmann
  • Design Patterns: Elements of Reusable Object-Oriented Software, Book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm Further literature will be discussed in the lecture.