Lecture "Software Architecture for Distributed Embedded Systems"

General Information

Lecture and tutorial in English language.

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

Achievement of the intended learning outcomes is assessed in a single written exam (75 min) at the end of the semester. The written exam is performed in a closed book policy without supporting material. Assessment criteria are: Ability to make design decisions for software architecture based on design patterns which have been discussed in the course, combining theoretical concepts with practical implementation considerations. Ability to apply methods, concepts and design patterns related to software architecture for embedded and distributed systems.


  • 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.