T1A1:
a) real-time-system: Die Züge fahren real, dementsprechend müssen sie auf reale Ereignisse in Echtzeit reagieren.
b) embedded system: Für die Steuerung des Zuges sind Linuxrechner mit Steuerplatinen verbunden, die unauffällig in der Konstruktion der Bahnanlage eingebaut sind.
c) safty-critical system: Die Züge können miteinander kollidieren. Weitere Gefahrenpunkte sind Stellen, an denen ein Zug eine Straße kreuzt und auch sonst könnten sich auf den Schienen Hindernisse befinden. Wenn es zu solch einer Kollision kommt, würde es im Falle einer realen Bahn möglicherweise Tote und Verletzte geben.

T1A2:

Zunächst habe ich mir eine Liste aus Weicheneinstellungen und benötigten Streckenabschnitten aufgeschrieben, diese Listen sind als Arrays von Strukturen welche Unions enthalten (damit da sowohl Weichen als auch Gleisabschnitte rein können) implementiert. Nachdem alle Gleise und Weichen eingestellt sind, läuft eine Schleife, in der die Kontakte auf den Gleisen ausgelesen werden und die feststellt, ob sich der Zug auf einem Streckenabschnitt befindet, auf dem er gebremst oder angehalten werden soll. Wenn der Zug den Zielbahnhof erreicht hat, wird die Schleife verlassen und es wird 5 Sekunden gewartet, bevor die neue Strecke eingelesen wird und eine neue Schleife startet, die die Kontakte ausliest.

Tutorial1Controller.c

T1A3:

Bei der Arbeit mit der Simulation habe ich festgestellt, dass es vorkommt, dass einige Weichen, Gleisabschnitte oder Sensoren nicht, oder sehr spät reagieren. Ich hatte eigentlich gehofft, dass dieses Problem erst in realer Umgebung auftritt. Ein möglicher Grund für diese Probleme könnte sein, dass Sensorwerte zu spät propagiert werden und die Befehle für die Weichen und Gleisabschnitte erst verzögert ankommen (also ein Nebenläufigkeitsproblem). Ich erwarte bei der realen Modellbahn, dass Bremswege und die Länge der Beschleunigung sowie die Geschwindigkeit der Züge eventuell von der Simulation leicht abweichen, da die Züge verschieden lang und verschieden schwer sind. Außerdem wäre es vielleicht bei den realen Modellbahnzügen möglich, dass sie aus der Kurve fliegen, wenn sie zu schnell sind, oder Steigungen nicht hoch kommen, wenn sie zu schwer sind. Witterungsbedingte Einflüsse treten bei der Modellbahn wahrscheinlich nicht auf. Außerdem würde es mich nicht wundern, wenn bei der realen Bahn gelegentlich Sensoren oder Weichen gestört oder defekt sind, oder wenn Staub auf den Gleisen dafür sorgt, dass ein Zug nicht mehr fahren kann. 

Tags: