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:

Gute Kenntnisse der Programmiersprache C++ und Grundlagen der objektorientierten Programmierung. Grundkenntnisse der UML (Unified Modeling Language) sind hilfreich, aber keine Voraussetzung für diesen Kurs.

Dauer:

5 Tage

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. Als weitere Besonderheit zeigt der Kurs auch, welche z.T. überraschenden neuen Möglichkeiten durch die Anwendung von Design Patterns im Bereich der Fehlersuche und des Debuggings eröffnet werden. Dies trägt zur Verkürzung der Projektlaufzeit und zur Verbesserung der Codequalität bei und ist gerade bei Embedded Systemen von zentraler Bedeutung.


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

Nicht genau was Sie suchen?