Ampelsimulation JAM
JAM ist eine integrierte Entwicklungs- und Simulationsumgebung, die es erlaubt, mit selbst entworfenen Steuerprogrammen eine vierteilige Lichtsignalanlage an einer Kreuzung zu steuern.
Im Editor gibt man ein Steuerprogramm ein, das dann vom JAM-Interpreter ausgeführt wird. Unabhängig vom konkreten Steuerprogramm kann für jede Fahrspur eine bestimmte Verkehrsdichte und der Anteil der Linksabbieger am Verkehrsaufkommen pro Spur festgelegt werden. Außerdem wird ein Signalzeitenplan erstellt, über den sich während des Ablaufs des Steuerprogramms eine Laufkatze bewegt. Der Ablauf des Steuerprogramms erfolgt in Echzeit, kann jederzeit unterbrochen und an gleicher Stelle fortgesetzt werden.
Aufbau eines Steuerprogramms
JAM-Steuerprogramme sind einfache Skripte mit eingängiger Syntax und einem winzigen Befehlsvorrat. Sie bestehen aus einer Abfolge von Schaltbefehlen, durch die festgelegt wird, welche der vier Ampeln mit welchem Signal beschaltet werden soll, sowie Zeitbefehlen, die angeben, wie lange der letzte Signalzustand erhalten bleibt. Ein Minimalbeispiel zur Steuerung der nördlichen Ampel könnte so aussehen:
N:100 # Signal Rot für Ampel Nord T:8 # 8 Sekunden so halten N:110 # Signal Rot-Gelb T:1 # 1 Sekunde so halten N:001 # Signal Grün T:15 # 15 Sekunden so halten N:010 # Signal Gelb T:3 # 3 Sekunden halten
Erläuterung: Schaltbefehle beginnen stets mit dem Kennbuchstaben, der die Lage der Ampel angibt (N, S, W, O), gefolgt von einem Doppelpunkt und dem Schaltsignal. Das Schaltsignal ist eine 3-Bit-Folge, das linke Bit schaltet die rote Lampe, das mittlere die gelbe, das rechte die grüne. Zeitbefehle beginnen mit dem Kennbuchstaben T, es folgt ein Doppelpunkt und dann die Schaltzeit in Sekunden.
Weiterhin ist es möglich, mehrere Schaltbefehle in einer Zeile (durch Leerzeichen oder Tabulator getrennt) unterzubringen – maximal ein Befehl pro Ampel – und an beliebigen Stellen Kommentare durch eine vorangestellte Raute einzufügen. Das Steuerskript läuft automatisch in einer Endlosschleife, die nicht explizit programmiert werden muss.
Verkehrsfluss
Mit JAM kann man nicht nur die Steuerung einer Lichtsignalanlage simulieren, sondern einen Verkehrsfluss gleich mit. Dadurch ist es möglich, die Auswirkungen eines Steuerprogramms auf die Verkehrsentwicklung direkt zu überprüfen. Betont sei allerdings, dass die Simulation der Verkehrsentwicklung im besten Falle realitätsnah ist, keinesfalls aber wissenschaftlichen Kriterien für eine reale Simulation genügt. Für das vorgesehene Einsatzgebiet – den schulischen Informatikunterricht – genügt das jedoch allemal, um etwa zu verdeutlichen, dass ein erhöhter Anteil an Linksabbiegern eine phasenverschobene Schaltung gegenüber liegender Ampeln erfordert.
Download
JAM läuft auf allen Windowssystemen und begnügt sich auch mit schwächerer Hardware. Das Programm selbst besteht nur aus einer einzigen ausführbaren Datei, die auf allen Windows-Systemen laufen sollte; mit dem Window-Emulator Wine lässt sich JAM auch auf Linux-Systemen ausführen. JAM ist kostenlos, kann frei verwendet und weitergegeben werden, solange man es in genau der Form weitergibt, die man hier vorfindet.
JAM (Version 0.9.1) (bei Interesse an einer nativen Linux-Version bitte mit mir Kontakt aufnehmen)