Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Zustandsautomaten (Finite State Machines, FSM): Entwurf und Implementierung mit C

  • Inhalt
     
  • Ziele -
    Ihr Nutzen
  • Teilnehmer
     
  • Voraussetzungen
     

Sie beherrschen die Grundlagen für den Entwurf von Zustandsautomaten (endlicher Automat - Finite State Machine). Sie lernen verschiedene Implementierungen für Zustandsautomaten kennen und können dieses Wissen bei der Implementierung eigener Automaten anwenden oder setzen es ein, um über die Auswahl eines Frameworks zu entscheiden. Weiterhin werden die wichtigsten Grundlagen zum Test von Automaten vermittelt.

Software-Entwickler und Software-Architekten

Entweder solide C-Kenntnisse oder solide C++-Kenntnisse

Einführung in die Gedankenwelt der Automaten:

  • Warum ist der Einsatz von Zustandsautomaten sinnvoll?
  • Gründe, warum noch zu wenig Automaten im Einsatz sind

Grundlagen:

  • Welche unterschiedlichen Automaten gibt es?
  • Automaten für den Einsatz in industrieller Software (z.B. Embedded-Systemen)
  • Unterschied zwischen Akzeptoren und Transduktoren
  • Die Automatenmodelle von Moore und Mealy
  • Darstellung von Automaten in der UML

Der Entwurf von Zustandsautomaten:

  • Unterschiede beim Entwurf von Moore- oder Mealy-Automaten
  • Vor- und Nachteile der verschiedenen Automatenmodelle und deren Mischformen bzw. Erweiterungen
  • Praxistipps zur Auswahl des richtigen Automatenmodells
  • Hierarchische Automaten
  • History-Zustand
  • Hinweise zum Vorgehen beim Entwurf von Automaten
  • Typische Fehler beim Entwurf
  • Das Thema wird anhand praktischer Beispiele erklärt
  • Verschiedene Übungen zum Entwurf von Automaten

Implementierung von Zustandsautomaten:

  • Beispiele in C und C++
  • Vorstellung verschiedener Implementierungsformen
  • Switch-Case
  • State Pattern
  • Verschiedene Arten tabellengesteuerter Automaten
  • Hierarchische Automaten
  • Asynchrone Automaten
  • Ausblick auf mögliche Erweiterungen der vorgestellten Implementierungen
  • Alternativen zur Eigenentwicklung von Zustandsautomaten
  • Allgemeine Hinweise zur Implementierung
  • Das Thema wird anhand praktischer Beispiele erklärt
  • Verschiedene Übungen zur Implementierung

Ressourcenverbrauch:

  • Gegenüberstellung der Codegröße der verschiedenen Implementierungen
  • Betrachtung des Zeitverhaltens

Test von Zustandsautomaten:

  • Welche Fehler können durch einen Test erkannt werden?
  • Abdeckungsmaße für Zustandsautomaten
  • Definition von Testfällen
  • Einsatz von Unit-Tests
  • Betrachtung der Testbarkeit der verschiedenen Implementierungen
  • Das Thema wird anhand praktischer Beispiele erklärt
  • Verschiedene Übungen zum Test von Automaten

Übungen im FSM-Training

  • Übungen zum Entwurf von Automaten
  • Übungen zur Implementierung
  • Übungen zum Test
  • An jedem Trainingstag finden mehrere Übungen statt

MicroConsult PLUS

  • Als Teilnehmer haben Sie die folgenden Möglichkeiten, um Ihre Übungsverzeichnisse und Lösungsbeispiele für alle Übungsaufgaben mitzunehmen:
  • Sie nehmen die Dateien direkt auf einem von MicroConsult bereitgestellten kostenfreien USB-Stick mit, oder
  • Sie senden sich die Dateien selbst per E-Mail zu, oder
  • Sie erhalten auf Anfrage Zugriff auf die Dateien per Download.


Im Preis enthalten:

Mittagessen, Getränke, Trainingsunterlagen und Teilnahmezertifikat


Für Personalabteilungen

Sie können in unserem Online-Formular bis zu 5 Teilnehmer auf ein Training buchen.
Möchten Sie mehrere Teilnehmer auf verschiedene Trainings buchen, kontaktieren Sie uns bitte!

Bitte beachten Sie auch unser Bonusprogramm bei der gleichzeitigen Buchung von mehreren Trainings und/oder Teilnehmern.

Für Personalabteilungen

Verwandte Trainings

Embedded C Schulung: Programmiermethoden und -tools für Embedded-Anwendungen
Trainings-Code: EMB-C

Embedded C++: Objektorientierte Programmierung für Mikrocontroller mit C++/EC++ und UML
Trainings-Code: EC++

Software-Architektur-Schulung für Embedded-Systeme und Echtzeitsysteme
Trainings-Code: EMB-ARCH

UML-Schulung: UML-Grundlagen und Einstieg in die modellbasierte Softwareentwicklung
Trainings-Code: UML-G


Verwandte Trainings

Offenes Training

TerminPreis *Dauer
19.03. – 22.03.20182.000,00 €4 Tage 
11.06. – 14.06.20182.000,00 €4 Tage 
26.11. – 29.11.20182.000,00 €4 Tage 
18.02. – 21.02.20192.000,00 €4 Tage 
Anmeldecode: FSM-C
* Alle Preise zzgl. der gesetzlichen USt.


> Download Blanko-Anmeldeformular
> Trainingsbeschreibung als PDF

Inhouse Training

In maßgeschneiderten Workshops kombinieren wir Ihre konkreten Projektaufgaben mit unserem Trainingsangebot. Dabei berücksichtigen wir Ihre Anforderungen bezüglich Inhalt, Zeit, Ort, Dauer, technischem Umfeld und Vermittlungsmethodik.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

> Trainingsbeschreibung als PDF

Coaching

Unsere Coaching-Angebote bieten den großen Vorteil, dass unsere Experten ihr Wissen und ihre Erfahrungen direkt in Ihren Lösungsprozess einbringen und damit unmittelbar zu Ihrem Projekterfolg beitragen.

Für Ihre Anfrage oder weiterführende Informationen stehen wir Ihnen gern zur Verfügung.

Zustandsautomaten (Finite State Machines, FSM): Entwurf und Implementierung mit C

Inhalt

Einführung in die Gedankenwelt der Automaten:

  • Warum ist der Einsatz von Zustandsautomaten sinnvoll?
  • Gründe, warum noch zu wenig Automaten im Einsatz sind

Grundlagen:

  • Welche unterschiedlichen Automaten gibt es?
  • Automaten für den Einsatz in industrieller Software (z.B. Embedded-Systemen)
  • Unterschied zwischen Akzeptoren und Transduktoren
  • Die Automatenmodelle von Moore und Mealy
  • Darstellung von Automaten in der UML

Der Entwurf von Zustandsautomaten:

  • Unterschiede beim Entwurf von Moore- oder Mealy-Automaten
  • Vor- und Nachteile der verschiedenen Automatenmodelle und deren Mischformen bzw. Erweiterungen
  • Praxistipps zur Auswahl des richtigen Automatenmodells
  • Hierarchische Automaten
  • History-Zustand
  • Hinweise zum Vorgehen beim Entwurf von Automaten
  • Typische Fehler beim Entwurf
  • Das Thema wird anhand praktischer Beispiele erklärt
  • Verschiedene Übungen zum Entwurf von Automaten

Implementierung von Zustandsautomaten:

  • Beispiele in C und C++
  • Vorstellung verschiedener Implementierungsformen
  • Switch-Case
  • State Pattern
  • Verschiedene Arten tabellengesteuerter Automaten
  • Hierarchische Automaten
  • Asynchrone Automaten
  • Ausblick auf mögliche Erweiterungen der vorgestellten Implementierungen
  • Alternativen zur Eigenentwicklung von Zustandsautomaten
  • Allgemeine Hinweise zur Implementierung
  • Das Thema wird anhand praktischer Beispiele erklärt
  • Verschiedene Übungen zur Implementierung

Ressourcenverbrauch:

  • Gegenüberstellung der Codegröße der verschiedenen Implementierungen
  • Betrachtung des Zeitverhaltens

Test von Zustandsautomaten:

  • Welche Fehler können durch einen Test erkannt werden?
  • Abdeckungsmaße für Zustandsautomaten
  • Definition von Testfällen
  • Einsatz von Unit-Tests
  • Betrachtung der Testbarkeit der verschiedenen Implementierungen
  • Das Thema wird anhand praktischer Beispiele erklärt
  • Verschiedene Übungen zum Test von Automaten

Übungen im FSM-Training

  • Übungen zum Entwurf von Automaten
  • Übungen zur Implementierung
  • Übungen zum Test
  • An jedem Trainingstag finden mehrere Übungen statt

MicroConsult PLUS

  • Als Teilnehmer haben Sie die folgenden Möglichkeiten, um Ihre Übungsverzeichnisse und Lösungsbeispiele für alle Übungsaufgaben mitzunehmen:
  • Sie nehmen die Dateien direkt auf einem von MicroConsult bereitgestellten kostenfreien USB-Stick mit, oder
  • Sie senden sich die Dateien selbst per E-Mail zu, oder
  • Sie erhalten auf Anfrage Zugriff auf die Dateien per Download.

Merkzettel


Sie haben derzeit keine Trainings auf dem Merkzettel.