Inhaltliche Aufgabe

  1. Im Abschnitt 2.2 wird in mehreren Schritten ein einfaches Beispiel beschrieben, wie man ein RTS konstruiert. Es wird alles beschrieben bis auf den Punkt der Implementierung. Implementieren Sie das RTS aus dem Abschnitt 2.2 mittels einer Programmiersprache oder einem Simulationswerkzeug ihrer Wahl.
  2. Als Input (Eingabe) muß ihr RTS eine technische Tabelle $TT$ akzeptieren, wie Sie im Abschnitt 2.2 beschrieben wird. Es sollten mindestens bis zu 10 verschiedenen Ereignissen gleichzeitig möglich sein. Entweder muß man die Werte zu Beginn per Hand eingeben können oder man liest eine Excel-Tabelle im .csv-Format als Datei ein.
  3. Nach der Eingabe der $TT$ beginnt das System zu arbeiten. Während es die Ereignismenge bearbeitet gibt es für jeden Zweitpunkt $t_{i}$ aus, welche Ereignisse aktuell die Menge $Q$ umfaßt und welcher Task $\tau_{i}$ als derjenige aus $Q$ ausgewählt worden ist, der ausgeführt werden soll. Das System stoppt entweder, wenn eine Deadline gebrochen wurde, oder wenn das minimale Zeitfenster durchlaufen wurde. Als minimales Zeitfenster gilt der Hyperzyklus, der sich als kleinstes gemeinsames Vielfaches (KGV) aus den Periodenwerten $T_{i}$ aller Ereignisse berechnet.
  4. Als Testfall für alle Teams dient diefolgende technische Tabelle:
    E $r_{i}$ $\Gamma$ $C_{i}$ $D_{i}$ $T_{i}$
    $e_{1}$ 0 $\tau_{1}$ 1 3 3
    $e_{2}$ 0 $\tau_{2}$ 1 4 4
    $e_{3}$ 0 $\tau_{3}$ 2 6 6
    Jedes Team muß zeigen, daß das RTS diese Tabelle korrekt abarbeiten kann. Nach einem erfolgreichen Lauf, wird ein Wert geändert und es wird ausgewertet, wie sich das System dann verhält.

Zur erfolgreichen Präsentation gehören folgende Elemente:

  1. Eine Präsentation des Quellkodes mit Erklärungen + Anleitung zur Installation/ Kompilierung
  2. Eine Vorführung des Programms mit Test-TT
  3. Eine Vorführung mit veränderter TT

Gerd Doeben-Henisch 2013-01-16