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.
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.