Online-Modul "Entwurfsmethodik eingebetteter Systeme"
Am Institut für Eingebettete Systeme/Echtzeitsysteme wird ein Online-Angebot zum Thema der eingebetteten Echtzeitsysteme erstellt. Dieses Modul ist als Online-Kurs konzipiert und wird u. a. im Studiengang Sensorsystemtechnik angeboten.
Was ist ein Echtzeitsystem?
Stellen Sie sich vor, Sie wollen Ihren besten Freund besuchen. Dieser wohnt in einer anderen Stadt und Sie fahren bei schönem Wetter mit etwa 130 km/h auf der Autobahn. Regelmässig kontrollieren Sie mit Hilfe der Hinweisschilder am Straßenrand, wo Sie sich befinden und wie weit es noch bis zum Ziel ist. Am Ziel ist die Ausfahrt der Autobahn mit Schildern markiert: Das erste Schild befindet sich 1000 m vor der Ausfahrt, das zweite 500 m und nach 300 m erhalten Sie alle 100 m einen Hinweis wo Sie sich befinden. Während Sie so Ihre Position bestimmen, kontrollieren Sie mit einem kurzen Blick auf die Geschwindigkeitsanzeige wie schnell Sie fahren. Regelmässig wechseln Sie den Blick zwischen Geschwindigkeitsanzeige und Straßenrand. Sie bremsen, um die Ausfahrt nicht zu verpassen und mit Ihrem Fahrzeug die Kurve der Ausfahrt bewältigen zu können. Auch dabei kontrollieren Sie regelmässig die Geschwindigkeitsanzeige. In dieser Zeit blicken Sie nicht auf die Straße und am Ende der Ausfahrt bremsen Sie punktgenau, um an der Zubringerstraße anzuhalten.
Und jetzt stellen Sie sich bitte vor, Sie rasten in einer Raumkapsel mit 36.000 km/h auf den Mond zu. Keine Hinweisschilder weit und breit. Lediglich die Mondoberfläche, die langsam immer größer wird. Jede Sekunde reduziert sich die Entfernungsangabe zum Mond um 10 km. Um nicht am Mond vorbeizufliegen oder auf dem Mond zu zerschellen, müssen Sie exakt in die Mondumlaufbahn einschwenken. Dazu müssen Sie direkt an der nicht vorhandenen 100 m Markierung abbremsen. Aber bremsen können Sie nur, indem Sie ein Triebwerk zünden. Dazu muss eine Pumpe Treibstoff in eine Brennkammer pumpen, so dass das Triebwerk 0,5 s nach dem Zündbefehl zündet. Ihr Copilot zählt langsam den Countdown runter, und bei Null sollen Sie das Triebwerk zünden. Exakt bei Null! Wenn Sie den Knopf 1/10 s zu spät drücken, sind Sie um 1 km zu weit geflogen. Wenn Ihr Copilot eine Winkelmessung mit dem Mond vornimmt und dafür 2 s braucht, um zu entscheiden wann er das zählen beginnt, dann sind Sie 20 km am Ziel vorbeigeschossen. In exakt dieser Situation befanden sich Neil Amstrong, Buzz Aldrin und Michael Collins am 20. Juli 1969. Diese Männer waren Kampfpiloten und Ingenieure. Die besten, die nach jahrelangen Trainings und Auswahlverfahren übrig blieben. Man kann also nicht sagen, dass diese Männer langsam im Denken sind. Aber ohne einen Bordcomputer hätten sie keine Chance gehabt, auf dem Mond zu landen und heil zur Erde zurückzukehren. Die Bahnberechnungen in der notwendig kurzen Zeit zu berechnen, war nur mit einer Rechenmaschine möglich. Da aber selbst das Eingeben einer Zahl in den Computer Bahnabweichungen von über 10 km zur Folge hätten, musste der Computer direkt mit dem Raumschiff und seinen Navigationsystemen und Triebwerken gekoppelt werden. Triebwerkszündungen mussten automatisch durchgeführt werden und der Computer musste festgelegte Fristen für alle seine Berechnungen einhalten. Auch die Steuerung durch den Piloten erfolgte nur über den Computer. Die Steuerung eines Fahrzeug über einen Computer nennt man ein Fly-by-Wire System. Was heute in jedem Verkehrsflugzeug zur Standardausrüstung gehört und inzwischen selbst für Kraftfahrzeuge entwickelt wird, war damals völlig neu aber unbedingt notwendig. Einen Computer wie den Bordcomputer des Raumschiffs Columbia nennt man heute ein eingebettetes Echtzeitsystem.
Schauen wir noch einmal auf Neil Armstrong und Buzz Aldrin. Inzwischen haben sie die Mondumlaufbahn erreicht und mit ihrer Mondlandefähre den Landeanflug begonnen. Um kontrolliert auf dem Mond landen zu können, musste noch einmal die Höhe mit einem Radar gemessen und dieser Delta H genannte Höhenwert in den Computer übernommen werden. Zu diesem Zweck musste Buzz Aldrin Programm 16 aktivieren. Etwa 30 s nach aktivieren des neuen Programms schaltete sich der Landecomputer aus, meldete dies durch blinken einer roten Lampe mit der Aufschrift MASTER ALARM und startete neu. Genau so wie viele es von ihrem Personal Computer kennen. Erinnern sie sich kurz: Die Raumfähre kann nur über den Bordcomputer gesteuert werden. Die Erde ist 300.000 km entfernt und die Ingenieure im Kontrollzentrum schlagen in Handbüchern nach, welche Ursache wohl der auf dem Display und den Konsolen angezeigte Programmfehler 1201 hat. Wie sich rausstellen sollte bedeutet Fehler 1201 eine Überlastung des Computers. Programme waren nicht mehr in der Lage ihre Fristen einzuhalten.
Doch muss uns das auf der Erde interessieren? Stellen Sie sich noch einmal vor, sie befänden sich in ihrem Kraftfahrzeug. Inzwischen auf einer Landstrasse überholen Sie mit 100 km/h einen Lastwagen und in dem Moment hat der Computer, der den Motor steuert eine Überlast und startet neu. In dieser Zeit reagiert Ihr Fahrzeug nicht mehr auf das Gaspedal und wird langsamer.
Ziel dieses Kurses ist es, (angehenden) Ingenieuren und Informatikern das formal mathematische und methodische Rüstzeug zu liefern, derartige Echtzeitfehler in eingebetteten Computern vorherzusagen und zu vermeiden.
Skript zum Kurs
Video-Kostproben
Einleitung in den Kurs
In dem Video werden die Ziele des Kurses Entwurfsmethodik eingebetteter Echtzeitsysteme erklärt.
Fristen in eingebetteten Systemen
In dem Video wird erklärt, welche Eigenschaften Computer in Echtzeitsystemen haben müssen und welche Auswirkungen ein nicht beachten dieser Eigenschaften hat.
Sonar
An Hand eines Sonarsystems wird erklärt wie sich die Zeitbedingungen eines eingebetteten Systems ableiten lassen. Dafür wird zunächst die Funktionsweise des Sonars erklärt.
Auswahl geeigneter Architekturen
Wie hängen Architektur und Technologie in eingebetteten Systemen zusammen? Das Video zeigt welche Varianten beim Entwurf eines eingebetteten Systems betrachtet werden müssen.
Uhrenmodell in eingebetteten Systemen
Es wird gezeigt wie Zeit für die Modellierung eingebetteter Systeme beschrieben werden kann.
Ereignismodell mit Jitter
Ein einfaches Ereignismodell zur Analyse eingebetteter Echtzeitsystem ist das periodische Ereignismodell mit Ritter. In dem Video wird erklärt was ein Ereignisjitter ist und wie dieser in Echtzeitsystemen beschrieben werden kann.
Ereignisströme
Das Video führt in das abstrakte Konzept der Ereignisströme ein. Ereignisströme sind ein Ereignismodell, dass es erlaubt alle möglichen Ereignissequenzen elegant zu beschreiben.