Softwaretechnik für eingebettete Realzeitsysteme
Speicherschutzverletzung in der Navigationssoftware? |
Prof. Dr. Andy Schürr
email: schuerr@informatik.unibw-muenchen.de
Institut für Softwaretechnologie
Fakultät für Informatik
Universität der Bundeswehr München
"The importance of embedded realtime systems for our daily life is rapidly increasing. More or less unnoticed they fulfill the task to control the behavior of technical systems ranging from small coffee machines to big industrial complexes or autonomous vehicles on foreign planets. Important application areas may be found - among others - in the aerospace, automotive, chemical process engineering, and telecommunications industry. In all these areas the complexity of realized systems and their functions increases rapidly, and the software of these systems plays a more and more important role.
Until now the software of RT systems has mainly been developed using the structured analysis approach, i.e. software engineering technologies of the 80ies. As a consequence the developed software does not fulfill our expectations concerning maintenance and reusability of implemented subcomponents."
[Hofmann, Schürr 1999]
Seminar im Herbsttrimester 1999 an der Universität der Bundeswehr München
Durchführung des Seminars (Termine):
- Erste Gliederung der Ausarbeitung und "Beratungsgespräch" 6 Wochen vor Vortragstermin.
- Erste Fassung der Ausarbeitung (ca. 15 Seiten) 3 Wochen vor Vortragstermin.
- Endgültige Fassung der Ausarbeitung und erste Fassung der Folien 1 Woche vor Vortragstermin.
- Die vorläufige Liste der Vortragstermine finden Sie hier.
Seminarinhalt:
Wie bereits aus dem Titel ersichtlich befassen wir uns in diesem Seminar mit
Softwaretechnik (Software Engineering) für eingebettete Realzeitsysteme.
In den einzelnen Vorträgen werden in erster Linie objektorientierte Ansätze zur Modellierung der Struktur und des Verhaltens solcher Systeme behandelt. Als Ausgangsmaterial dient in fast allen Fällen ein in englischer Sprache verfasstes Buch, in dem ein bekannter Modellierungsansatz ggf. mit den zugehörigen Werkzeugen präsentiert wird.
Wir erwarten von den Seminarteilnehmern:
- allgemeine Kenntnisse zur objektorientierten Softwaretechnik (Vorlesung Software Engineering I)
- Erstellung einer Ausarbeitung und eines Seminarvortrags mit Übersicht über Modellierungsansatz
- Präsentation des Modellierungsansatzes anhand eines vorgegebenen Beispiels (siehe unten)
- Vorführung von Werkzeugen, die den Modellierungsansatz unterstützen (soweit möglich)
Da die Vorstellung eines Modellierungsansatzes mit der Ausarbeitung eines eigenen Beispiels und der Vorführung zugehöriger Werkzeuge den üblichen Rahmen eines Seminars sprengt, sollen die Teilnehmer jeweils in Zweiergruppen ein Thema bearbeiten und die anstehenden Arbeiten
(insbesondere die Auseinandersetzung mit dem Beispiel) gemeinsam erledigen. Die abzulieferende Ausarbeitung und die Präsentation sind jedoch (für Benotungszwecke) in Abschnitt zu unterteilen, die sich jeweils genau einem Seminarteilnehmer zuordnen lassen.
Das Beispiel (Sitzsteuerung für S-Klasse von DaimlerChrysler):
Sitz der S-Klasse (Quelle: DaimlerChrysler) |
Das vorgegebene Beispiel ist die "Funktionsvorschrift Sitz-SG" der Firma DaimlerChrysler, die die Funktionsweise eines Fahrersitzes für die S-Klasse beschreibt. Die hier zu modellierende Software steuert 6 Sitzverstellungsmotoren, eine Sitzkissenheizung und eine Sitzlehnenheizung und verarbeitet die Eingaben von 9 Schaltern, 6 Hallsensoren, einem Sitzbelegungssensor, einem Gurtschloss-Schalter sowie weiteren Sensoren für die Stellung des Zündschlüssels. Das entsprechende Lastenheft (für den Zulieferer von DaimlerChrysler) wird zusammen mit der Originalliteratur ausgeteilt und ist vertraulich zu behandeln.
Wir erwarten von den Seminarteilnehmern natürlich keine vollständige Beschreibung der Funktionsweise der Software, aber - soweit irgend möglich - sollen alle in in der Ausarbeitung und im Vortrag benutzten Modellierungsbeispiele sich auf die "Funktionsvorschrift Sitz-SG" beziehen.
Seminaranleitung:
Für die Erstellung einer Ausarbeitung und die Vorbereitung des Seminarvortrags gibt es eine fünfseitige Anleitung, die hier als pdf- und ps-Datei zur Verfügung steht (die Beschreibung geht davon aus, daß ein Seminarthema von einer Person bearbeitet wird, muss also entsprechend frei interpretiert werden):
- Anleitung. pdf (lesbar mit "acroread" von Adobe; siehe http://www-adobe.com)
- Anleitung.ps (direkt druckbare ps-Datei)
Seminarthemen:
1. Die objektorientierte Modellierungssprache Real-Time UML
Quelle:
B.P. Douglass: Real-Time UML, Addison Wesley (1998)
Betreuer: Ansgar Radermacher
Bearbeiter:
Ausarbeitung:
2. Die komponentenorientierte Modellierungssprache ROOM
Quelle:
B. Selic et al.: Real-Time Object-Oriented Modeling, John Wiley (1994)
Betreuer: Andy Schürr
Bearbeiter:
Ausarbeitung:
3. Die zustandsbasierte Modellierungssprache SDL
Quellen:
D. Hogrefe: Estelle, LOTOS und SDL, Springer Verlag (1989)
Standard zu OO-SDL und SDL
Jan Ellsberger: SDL : Formal Object-Oriented Language for Communicating Systems
(bestellt, aber noch nicht erhalten)
Betreuer: Ansgar Radermacher
Bearbeiter:
Ausarbeitung:
4. Die zustandsbasierte Modellierungssprache Statecharts
Quelle:
D. Harel, M. Politi: Modeling Reactive Systems With Statecharts : The Statemate Approach
(bestellt, aber noch nicht erhalten)
Betreuer: Ansgar Radermacher
Bearbeiter:
Ausarbeitung:
5. Message Sequence Charts and Life Sequence Charts
Quellen:
LSCs, MSCs
Betreuer: Andy Schürr
Bearbeiter:Ausarbeitung:
6. Die Datenflußmodellierungssprache GOOFEE
Quelle:
B. Kauler: Flow Design for Embedded Systems, R&D Books (199)
Betreuer: Andy Schürr
Bearbeiter:
Ausarbeitung:
Weiterer Seminarbetreuer:
- Ansgar Radermacher: ansgar@informatik.unibw-muenchen.de
*: Scanned image of fac-simile of early engraving printed in:
Jules Verne: The Great Explorers of the XIXth Century
New York: Charles Scribner's Sons (1912)