//po wyjechaniu ze stacji cala naprzod
event Szlak_Testowo-info putvalues 1.0 none 0 0 0.2 SetVelocity -1 -1 endevent

//wyjechanie pociagu na szlak powoduje:
event Szlak_Testowo-Retro multiple 0.0 none Szlak_Testowo-info Testowo-do-Retro Retro-z-Testowo Testowo-RozwPrzebiegi endevent
event Szlak_Testowo-Zaczynek multiple 0.0 none Szlak_Testowo-info Testowo-do-Zaczynek Testowo-RozwPrzebiegi endevent

//informacja o statusie stacji: przebiegi, zajetosc torow szlakowych:
node -1 0 Testowo-status memcell 0 0 0.2 Rozwiazany 0 0 none endmemcell

//rozwiazanie przebiegow
event Testowo-RozwPrzebiegi updatevalues 5.0 Testowo-status Rozwiazany * * endevent

//zatwierdzenie przebiegu
event Testowo-Zatwierdz updatevalues 0.0 Testowo-status Zatwierdzony * * endevent

//informacja o wjechaniu pociagu na stacje oraz kierunku tego pociagu na torze stacyjnym
node -1 0 Testowo_status1 memcell 0 0 0.2 Wolny 0 0 none endmemcell
node -1 0 Testowo_status2 memcell 0 0 0.2 Wolny 0 0 none endmemcell
event Testowo_Wjazd1-Zaczynek-info updatevalues 1.0 Testowo_status1 Wjechal 1 * endevent 
event Testowo_Wjazd1-Retro-info updatevalues 1.0 Testowo_status1 Wjechal * 1 endevent
event Testowo_Wjazd2-Zaczynek-info updatevalues 1.0 Testowo_status2 Wjechal 1 * endevent
event Testowo_Wjazd2-Retro-info updatevalues 1.0 Testowo_status2 Wjechal * 1 endevent
//informacja o zwolnieniu toru stacyjnego
event Testowo_Wyjazd2-Retro-info updatevalues 1.0 Testowo_status2 Wolny 0 * endevent
event Testowo_Wyjazd1-Retro-info updatevalues 1.0 Testowo_status1 Wolny 0 * endevent
event Testowo_Wyjazd2-Zaczynek-info updatevalues 1.0 Testowo_status2 Wolny * 0 endevent
event Testowo_Wyjazd1-Zaczynek-info updatevalues 1.0 Testowo_status1 Wolny * 0 endevent

//wjazd na tor stacyjny powoduje przeslanie informacji do Testowo_status oraz skasowanie semafora wjazdowego
event Testowo_Wjazd1-Zaczynek multiple 0.0 none Testowo-RozwPrzebiegi Testowo_Wjazd1-Zaczynek-info Testowo_A_S1 Zaczynek-Testowo-wolny endevent 
event Testowo_Wjazd1-Retro multiple 0.0 none Testowo-RozwPrzebiegi Testowo_Wjazd1-Retro-info Testowo_F_S1 Testowo-Retro-wolny Retro-Testowo-wolny endevent
event Testowo_Wjazd2-Zaczynek multiple 0.0 none Testowo-RozwPrzebiegi Testowo_Wjazd2-Zaczynek-info Testowo_A_S1  Zaczynek-Testowo-wolny endevent
event Testowo_Wjazd2-Retro multiple 0.0 none Testowo-RozwPrzebiegi Testowo_Wjazd1-Retro-info Testowo_F_S1 Testowo-Retro-wolny Retro-Testowo-wolny endevent

//wyjazd z toru stacyjnego powoduje skasowanie semafora wyjazdowego oraz zwolnienie tego toru
event Testowo_Wyjazd2-Retro multiple 0.0 none Testowo_Wyjazd2-Retro-info Testowo_E_S1 endevent
event Testowo_Wyjazd1-Retro multiple 0.0 none Testowo_Wyjazd1-Retro-info Testowo_D_S1 endevent
event Testowo_Wyjazd2-Zaczynek multiple 0.0 none Testowo_Wyjazd2-Zaczynek-info Testowo_C_S1 endevent
event Testowo_Wyjazd1-Zaczynek multiple 0.0 none Testowo_Wyjazd1-Zaczynek-info Testowo_B_S1 endevent

//zgloszenie rezerwacji szlaku Zaczynek-Testowo
event Zaczynek-do-Testowo_zgloszenie updatevalues 0.0 Testowo-status * 4 * endevent
event Testowo-do-Zaczynek_zgloszenie updatevalues 0.0 Testowo-status * 8 * endevent

//zgloszenie pociagu na szlaku Zaczynek-Testowo
event Zaczynek-do-Testowo updatevalues 0.0 Testowo-status * 1 * endevent
event Testowo-do-Zaczynek updatevalues 0.0 Testowo-status * 2 * endevent

//zwolnienie odstepu miedzy stacjami Zaczynek i Testowo
event Zaczynek-Testowo-wolny updatevalues 0.0 Testowo-status * 0 * endevent

//zgloszenie rezerwacji szlaku Testowo-Retro
event Retro-do-Testowo_zgloszenie updatevalues 0.0 Testowo-status * * 8 endevent
event Testowo-do-Retro_zgloszenie updatevalues 0.0 Testowo-status * * 4 endevent

//zgloszenie pociagu na szlaku Testowo-Retro
event Retro-do-Testowo updatevalues 0.0 Testowo-status * * 2 endevent
event Testowo-do-Retro updatevalues 0.0 Testowo-status * * 1 endevent

//zwolnienie odstepu miedzy stacjami Testowo-Retro
event Testowo-Retro-wolny updatevalues 0.0 Testowo-status * * 0 endevent


//przebiegi: wazny jest czas opoznienia wyzwalania powodujacy rozne priorytety
//przebiegi do stacji:
event Zaczynek-Retro-przelotTestowo1Zatwierdz multiple 1.0 Testowo_status1 Zaczynek-Retro-przelotTestowo1  endevent
event Zaczynek-Testowo2Zatwierdz multiple 4.0 Testowo_status2 Zaczynek-Testowo2 condition memcompare Wolny * * endevent
event Zaczynek-Testowo1Zatwierdz multiple 8.0 Testowo_status1 Zaczynek-Testowo1 condition memcompare Wolny * * endevent
event Zaczynek-Testowo2bZatwierdz multiple 16.0 Testowo_status2 Zaczynek-Testowo2b condition memcompare Wolny * * endevent

event Zaczynek-Retro-przelotTestowo1 multiple 1.0 Testowo-status Testowo-Zatwierdz Testowo-zwr1- Testowo-zwr2-  Testowo_A_S2 Testowo_D_S2 Retro-z-Testowo_zgloszenie endevent
event Zaczynek-Testowo2 multiple 1.0 Testowo-status Testowo-Zatwierdz Testowo-zwr1+  Testowo_A_S13 Testowo_E_S1 condition memcompare Rozwiazany * 8 endevent
event Zaczynek-Testowo1 multiple 2.0 Testowo-status Testowo-Zatwierdz Testowo-zwr1-  Testowo_A_S5 Testowo_D_S1 condition memcompare Rozwiazany * * endevent
event Zaczynek-Testowo2b multiple 3.0 Testowo-status Testowo-Zatwierdz Testowo-zwr1+  Testowo_A_S13 Testowo_E_S1 condition memcompare Rozwiazany * * endevent

event Retro-Zaczynek-przelotTestowo1Zatwierdz multiple 1.0 Testowo_status1 Retro-Zaczynek-przelotTestowo1 condition memcompare Wolny * * endevent
event Retro-Testowo2Zatwierdz multiple 4.0 Testowo_status2 Retro-Testowo2 condition memcompare Wolny * * endevent
event Retro-Testowo1Zatwierdz multiple 8.0 Testowo_status1 Retro-Testowo1 condition memcompare Wolny * * endevent
event Retro-Testowo2bZatwierdz multiple 16.0 Testowo_status2 Retro-Testowo2b condition memcompare Wolny * * endevent

event Retro-Zaczynek-przelotTestowo1 multiple 1.5 Testowo-status Testowo-Zatwierdz Testowo-zwr2- Testowo-zwr1-  Testowo_F_S2 Testowo_B_S2 condition memcompare Rozwiazany 0 * endevent
event Retro-Testowo2 multiple 1.5 Testowo-status Testowo-Zatwierdz Testowo-zwr2+ Testowo-zwr3+ Testowo_F_S13 Testowo_C_S1 condition memcompare Rozwiazany 4 * endevent
event Retro-Testowo1 multiple 2.5 Testowo-status Testowo-Zatwierdz Testowo-zwr2-  Testowo_F_S5 Testowo_B_S1 condition memcompare Rozwiazany * * endevent
event Retro-Testowo2b multiple 3.5 Testowo-status Testowo-Zatwierdz Testowo-zwr2+  Testowo-zwr3+ Testowo_F_S13 Testowo_C_S1 condition memcompare Rozwiazany * * endevent

//przebiegi ze stacji:
event Testowo1-Zaczynek multiple 10.0 Testowo-status Testowo-Zatwierdz Testowo-zwr1- Testowo_E_S2 condition memcompare Rozwiazany * 0 endevent
event Testowo2-Zaczynek multiple 15.0 Testowo-status Testowo-Zatwierdz Testowo-zwr1+ Testowo_E_S10 condition memcompare Rozwiazany * 0 endevent
event Testowo1-Retro multiple 11.0 Testowo-status Testowo-Zatwierdz Testowo-zwr2- Testowo-zwr3+ Testowo_B_S2 Retro-z-Testowo_zgloszenie condition memcompare Rozwiazany 0 * endevent
event Testowo2-Retro multiple 16.0 Testowo-status Testowo-Zatwierdz Testowo-zwr2+ Testowo-zwr3+ Testowo_C_S10 Retro-z-Testowo_zgloszenie condition memcompare Rozwiazany 0 * endevent

//wyzwalanie przebiegow wjazdowych: 
event od-Zaczynek multiple 35 Testowo-status Zaczynek-Retro-przelotTestowo1Zatwierdz  endevent
event od-Retro multiple 12 Testowo-status Retro-Zaczynek-przelotTestowo1Zatwierdz Retro-Testowo2Zatwierdz Retro-Testowo1Zatwierdz Retro-Testowo2bZatwierdz condition memcompare Rozwiazany * 2 endevent

