Executable State Machine Simulation mit Java Script

Die Executable Model-Simulation in EA ist ein mächtiges Werkzeug. Im Gegensatz zur interpretierten Model-Simulation wird bei der Executable Model-Simulation Code generiert, dieser wird anschließend ausgeführt. Das aktuell ausgeführte Verhalten wird anschließend im EA visualisiert.

Während der Simulation können Ereignisse (Trigger) manuell oder direkt aus der Simulation „ausgelöst“ werden. Die folgende Syntax wird derzeit unterstützt.

%BROADCAST_EVENT("<TRIGGER_NAME>.<SIGNAL_NAME>(<PAEAMETE_WERT_1>, … <PAEAMETE_WERT_n>,  )")%;

Konkretes Beispiel:

%BROADCAST_EVENT("T_MyTrigger.Sig_MySig(5)")%;

Auf die übertragenen Werte kann nun während des Übergangs in der Guard Condition zugegriffen werden. Bei JavaScript geschieht dies wie folgt:

event.signal.attX == 5

Wird die ausführbare Simulation mit anderen Programmiersprachen ausgeführt, muss die Abfrage in der Guard Condition entsprechend angepasst werden. Für C# zum Beispiel kann dies so aussehen:

((Sig_MyX)_event.signal) != null && ((Sig_MyX)_event.signal).att1 == 5

Prinzipiell dieselbe Logik: EVENT.SIGNAL.<ATTRIBUT_WERT>

Der obige Code stellt sicher, dass keine Ausnahmen auftreten.

Hier ist die Darstellung des gesamten Beispiels als Executable JavaScript Simulation.

 

Veröffentlicht unter Best Practices, Modell-Simulation
Schlagworte: ,