Design Patterns für Embedded Systeme


Zielgruppe:

Softwareentwickler, Softwarearchitekten oder Projektleiter, die objektorientierte Embedded- bzw. Realtime-Anwendungen entwerfen oder deren Qualität verbessern wollen.

Voraussetzungen:

Grundlagen der objektorientierten Programmierung, sowie gute Kenntnisse der Programmiersprache C++. Kenntnisse der neueren Sprachstandards (ab C++11) sind NICHT erforderlich!

Erfahrung mit UML-Klassendiagrammen ist vorteilhaft, wird aber NICHT vorausgesetzt, da dieser Kurs auch die dafür notwendigen UML-Kenntnisse vermittelt!

Dauer:

5 Tage bzw. 2 x 3 Tage (mit praktischen Übungen)

Kursziel:

Dieser Kurs zeigt, unter welchen Bedingungen klassische GoF-Design-Patterns auch in ressourcelimitierten Embedded Systemen gewinnbringend eingesetzt werden können. Es wird eine Auswahl von Entwurfsmustern behandelt, die für diesen Zweck besonders geeignet sind. Diese Patterns werden anhand von hardwarenahen oder anderen, für Embedded Systeme typische Anwendungen vorgestellt. Dabei werden die für die Realisierung dieser Entwurfsmuster notwendigen Klassen und ihre Beziehungen nicht nur prinzipiell auf der Ebene von UML-Diagrammen, sondern detailliert anhand von vollständig ausprogrammierten Codebeispielen schrittweise entwickelt. Auf dieser Grundlage wird eine fundierte Beurteilung der Kosten in Bezug auf Speicherplatz und Laufzeit im Verhältnis zum Nutzen durch die Verwendung eines Entwurfsmusters ermöglicht. Ein weiterer Schwerpunkt des Kurses ist der Speicherplatz- und Laufzeit-Overhead, der durch die Verwendung von klassischen Debugtechniken entsteht und wie Patterns dazu verwendet können, dieses Problem zu lösen. Dieser Kurs zeigt also nicht nur, warum Design Patterns zu einer besseren Codequalität führen, sondern auch, warum Entwurfsmuster gerade für Embedded Systeme nützlich sind.


Inhalt:

Einführung

  • Geschichtliche Entwicklung
  • Was ist ein Design Pattern?
  • GoF Design Patterns
  • Typische Probleme in Embedded Systemen
  • Design Patterns in Embedded Systemen

Erzeugungsmuster

  • Beispiel: Motor
  • Interfaces
  • Beispiel: Positionsanzeige für ein Warentransportsystem
  • Wiederverwendung für Flugzeugpositionsanzeige
  • Design Pattern Fabrikmethode
  • Design Pattern Prototyp
  • Design Pattern Abstrakte Fabrik
  • Design Pattern Singleton

Strukturmuster

  • Neue Lösung für Motorbeispiel
  • Design Pattern Adapter
  • Beispiel: Counter-Klassen
  • Design Pattern Dekorierer
  • Multithreading-Beispiel
  • Design Pattern Proxy
  • Design Pattern Fliegengewicht
  • Design Pattern Fassade
  • Design Pattern Kompositum

Verhaltensmuster

  • Beispiel: Timer
  • Design Pattern Beobachter
  • Design Pattern Befehl
  • Beispiel: Zustandsautomat
  • Traditionelle Implementierung in C
  • Portierung nach C++
  • Design Pattern Zustand
  • Beispiel: Benutzerdefinierte Speicherverwaltung
  • Partition und PatitionManager
  • Flexible Speicherverwaltung mithilfe unterschiedlicher Manager
  • Dynamisch änderbare Speicherzuteilungsstrategie
  • Design Pattern Strategie
  • Algorithmus mit festgelegter Struktur
  • Design Pattern Schablonenmethode
  • Design Pattern Memento
  • Design Pattern Zuständigkeitskette
  • Design Pattern Iterator
  • Design Pattern Vermittler

praktische Übungen

 

Nicht genau was Sie suchen?

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.