Vorlesungen, Diskussionen und Übungen. Am letzten Tag findet ein intensiver interaktiver Workshop statt, um die vorgestellten Techniken zu üben. Kursmaterial: Buch, Kursnotizen, Handouts, Artikel.
Die Entwicklung von Echtzeit-Software erfordert spezielle Methoden und Techniken. In diesem 5-tägigen Intensivkurs lernen die Teilnehmer Designaspekte von (eingebetteten) Echtzeitprogrammen kennen, insbesondere Aktualität und Gleichzeitigkeit.
Objektiv
Nach erfolgreichem Abschluss des Kurses werden die Teilnehmer in der Lage sein, über die Aspekte der Aktualität und Gleichzeitigkeit von (eingebetteter) Echtzeitsoftware nachzudenken. Genauer gesagt, werden sie:
- Methoden für den systematischen Entwurf gleichzeitiger Programme anwenden können;
- Sie müssen in der Lage sein, mit zeitlichen Aspekten und Echtzeit-Planung umzugehen;
- Techniken zur Modellierung von Echtzeit-Software anwenden können;
- Sie kennen die R-T Betriebssysteme, die Gleichzeitigkeit und Scheduling unterstützen.
Zielgruppe
Dieser Kurs richtet sich an Hardware- und Software-Ingenieure, Systemanalytiker und Designer, die Echtzeit-Software im Bereich eingebetteter Systeme, CAM, Laboratorien usw. entwickeln.
Voraussetzungen:
- Erfahrung in der Softwareentwicklung;
- Kenntnisse über die Grundlagen der Informatik;
- Kenntnisse der allgemeinen Betriebssystemrichtlinien und -mechanismen.
Programm
Tag 1 & 2:
- Grundlagen und Konzepte von eingebetteten Echtzeit-Software-Systemen.
- Primitive Gleichzeitigkeit.
- Multitasking-Probleme.
- Programmiermodelle.
- Kommunikation und Synchronisation.
- RT Betriebssysteme.
Tag 3:
- Einführung in die Terminplanung.
- Zeitplanungsanalyse mit periodischen, sporadischen und aperiodischen Ereignissen.
- Rate Monotonic Scheduling mit und ohne Ressourcenkonkurrenz.
- Berechnungen der Reaktionszeit.
- Monotone Terminplanung vs. monotone Ratenplanung.
- Feste Priorität vs. dynamische Priorität.
Tag 4:
- Warum ist Echtzeit anders als Nicht-Echtzeit?
- Allgemeine Aspekte, Abstraktionsebenen, methodische Aspekte des RT-Designs (Objektorientierung und Echtzeit, objektorientierte RT-Sprachen, Modellierung von RT-Systemen in UML2.
Tag 5:
- Anforderungen, Entwurf der Struktur (Anwendung allgemeiner und aufgabenstrukturierender Heuristiken), Spezifikation des Verhaltens, Analyse der zeitlichen Beschränkungen, Analyse der Planbarkeit (Zuweisung von Prioritäten, Identifizierung von Ressourcen, Prioritätsvererbung und Prioritätsobergrenze), Programmierung von Modellabhängigkeiten.