аЯрЁБс>ўџ ”ўџџџ Ž‘’џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRoot EntryџџџџџџџџЃ+wТ|ƒбЃыsА К_—Т•@ContentsџџџџџџџџЇ SummaryInformation(џџџџџџџџџџџџ-џџџџџџџџџџџџўџџџ§џџџџџџџџџџџўџџџ§џџџ§џџџ §џџџ§џџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџRoot EntryџџџџџџџџЃ+wТ|ƒбЃыsА 5‰_—Т•@ContentsџџџџџџџџЇЧSummaryInformation(џџџџџџџџџџџџ-џџџџџџџџџџџџџџџџџџџџўџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџхlхх 4щ>1єФ(…$$ˆšџџџ˜Ÿѕ' <ј@  Arialœ0       !"#$%&'()*+,-./012345џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§џџџџџџџџџџџ§џџџ§џџџџџџџўџџџІџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџџџЈЉЊЋЌЎџџџџЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ7lV•^tKфЉSфЉS”ќ“œ0 \94К“1Ф(…$$џџџPлѕ' <ј@  Arialœaџџџџ0 €Ре01HДЄq`ыАџџџџ1`|ВА8,•aџџџџ €Ре01E•­ +94’{1Ф(…$$џџџбѕ' <ј@  Arialœ0 л94pW1Ф(…$$џџџЈЫѕ' <ј@  Arialœ0РМzрЊz Нz z№І0Нzфv№kцyцy0Нz№ёz Р94NA1Ф(…$$џџџpФѕ' <ј@  ArialР`їœ0O€p‘ДаіЈq €Д@MЕУДаЄБp‘ДвР‘ўpџp‘ДРІД  948#1Ф(…$$џџџрКѕ' <ј@  Arial€Ў1РœE$ѕ—1œe0аdpyАApжаy1`єє—єє—рАzаy10Ь?мє—{ай ƒ94ЪБ1Ф(…$$ˆšџџџ€Ÿѕ' <ј@  Arialœ0 :4„q1Ф(…$$џџџ fѕ' <ј@  Arialœ0 t?4­Œ1Ф(…$$џџџРJѕ' <ј@  Arialœœ0hh ў@ўћсœop0o—шАўЈўрќрЬ›шАўvw т@41џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџФ(…$$ˆ*џџџ8ѕ' <ј@  Arialœ0 СD4R11Ф(…$$ˆšџџџИѕє' <ј@  Arialœ$ 0 7ДцN,і“Ќ7ДZ^№ѕ“И7ДLœ$Ф7Дџџџџ а7Д$м7Д Iœш7Дџџџџє7ДMœ$8Д ‘8ДцN oI4 ј1Ф(…$$џџџ рє' <ј@  Arialижњ(зњxзњШзњињhињИињœBœџџџџ0$џџџџDœ%џџџџEœ$џџџџ Fœ$џџџџ Gœ$џџџџ Lœ$џџџџ Hœ$ 7Kџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџр…ŸђљOhЋ‘+'Гйр…ŸђљOhЋ‘+'Гй0§АИдє@LX l x „  œЈАИР€ирш№фRailway CrossingSDL-2000 Design Contest Jens Brandt/railway crossing, sam 2002, sdl design contest Jens Brandt794@Аc[СИ@P,ЄфјС@аџ!—Т@р'T)бС*Cinderella SDLџџџ Scope units & errors" Scope units" MSC control"All"Document structure"Pagination & document structure"Errors"Empty"Default" Communication" Instances"States & Input"l а    "s4t4Х4œ44J4K4Ш4Щ4Ъ4Ы4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4є4ѕ4і4E4F4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~44€44‚4ƒ4„4…4†4‡4ˆ4‰4Š4‹4Œ44С4Т4У4Ф4Х4Ц4Ч4Ш4“4”4•4–4—4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4§4ќ4ћ4њ4љ4?4@4U4V4W4X4Y4Ц4Ч4Ш4Щ4Ъ4Ы4Ь4Э4Ю4Я4а4б4в4г4д4е4ж4з4и4й4к4л4м4н4о4п4р4с4т4у4ф4х4ц4G4H4N4I4J4K4L4M4У4Ф2O4P4А4Б4В4Г4Œ44Ž44­44Ќ4‘4’4“4”4v4w4x4y4X4Y4Z4[4\4]4^4z4{4ц4ч44ш4щ44ъ4ы4Ь4Э4Ю4Я4а4б4u4v4w4x4y4z4{4|4}4~44€44‚44434241404Q4R4в4г4Щ4Ъ4Ы4Ь4Э4Ю4Я4а4б4в4г4д4е4ж4з4и4й4к4л4м4н4о4п4р4с4т4у4ф4х4ц4ч4ш4 4Ё4Ђ4Ѓ4І4Ї4Ј4Љ4ь4э4ю4я4L4M4N4O4P4Q4R4S4T4U4љ4њ4ћ4ќ494:4;4<4=4>4?444444444Є4Ѕ2О4Н4М4Л4К4П4Й4И4З4Ж4Е4Д4Г4В4Б4А4Р4Џ4Ў4­4Ќ4Ћ4Њ4С4644Т4У44Ф4Х4Ц4Ч4Ш494:4;4<444S4T4/4.4-4U4V4W4,4+4*4X4Y44Z4)4(4'4&4%4[4\4$4#4"4!4 4]4^4444_4`4a4444b4c4444d4e4f4g4h4i444j4k4l444m4n4o444p4ž4Ÿ4a44 4 4 4)4(4 4д4q4r2№4ё4ђ4ѓ4є4ѕ4і4ї4ј4љ4њ4ћ4ќ4§4ў4џ4444444 44'4&44е4ж4з4и4й4к4л4м4н4о4п4р4с4т4у4ф4х4ц4ч4ш4щ4444%4$4444#4"44ъ4ы4ь4э4V4W2r4q4p4o4n4s4m4l4k4j4i4h4g4f4e4d4c4b4t4u2ˆ4‡4†4…4„4‰4ƒ4‚44€44~4}4Š4‹2Њ4Љ4Ј4Ї4І4Ћ4Ѕ4Є4Ѓ4Ў4Џ2Ь4Ы4Ъ4Щ4Ш4Э4Ч4Ц4Х4Ф4У4Т4С4Р4П4О4Н4М4Л4К4Й4И4З4Ж4Е4Д4Ђ4Ё4 4ю4я4ѕ4№4ё4ђ4ѓ4є4Ц4Ч2і4ї4ј2,2I2х2 44444!444444ф4у4т4с4р4п4о4н4м4л4к4й4и4з4ж4е4д4г4в4б4а4Я4Ю44Ф4У4Т4С4Р4П4О4Н4Л4Ќ4­4Џ4А4Б4В4Г4Д4К4Е4Ж4З4И4Й4І4Ї2Ў4Ћ4Њ4Љ4М4Ѕ4Є4Ѓ4Ђ4Ё4 4Ÿ4ž44œ4›4š4™4˜4—4–4•4”4“4’4‘444Ž44Œ4‹4Š4‰4ˆ4‡4Х4†4…4Ј4`4_4|44œ4›4š4™4˜4—4–4•444444444*4+4џ4ў4§4„4ƒ4 4 44 4 4 444l4m24Ю4Я4а4б4в4г4д4ј4ї4і4A4B4C4D2e2c4b4a4`4_4d4^4]4\4[4Z4™4š4›4œ44ž4Ÿ4 444 4f4{4g4h4z4i4j4е44ж4з4и4й4к4л4м4н44ѓ4є494ѕ4і4ї4ј4љ4њ4ћ4ќ4§4ў4џ44444444п4р4с2Ё4Ђ4Ѓ4Є4Ѕ4І4Ї4Ј4Љ4Њ4Ћ4Ќ4­4Ў4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4!4"4#454$4%4&4'4(4)4*4+4,4-4.4/40414243444m4n4o4p4Џ4q4.4/4046414243444544282ў4O4N4M4L4K48494:4J4I4H4G4F4;4<4=4>4?4E4@4A4B4C4D4џ4a4`4_4^4]444444 44 4 4 4 4422r4s4y4t4u4v4w4x4_4`2|2272T4U4[4V4W4X4Y4Z442i4j4k2U4V4\4W4X4Y4Z4[45462=4>2я4ю4э4ь4ы4№4ъ4щ4‘4’2Р2О4Н4М4Л4К4П4Й4И4З4Ж4<4;4b4c4d4e4f444ё4ђ4ѓ4є4ѕ4Е4Д4Г4В4Б4А4Ž4:47444\4]4^4_4`44 4 4a4b4c4d4 4e4 4 44444f4g4h4l44444444 4 4 4 4 4k4о4A4@4?4>4=4-4,4+4*4)4(4'4&4%4$4#4^4]4\4[4Z4Y4X4W4V4U4T4S4R4Q4P4O4N4M4L4K4J4I4H4G4F4E4D4"474!4e46454P4Q4R4S4T48474g4h4i4j4k4Э4Ь4Ы44Ъ44Щ44434241404/4.4-442'4&4%4$4#4(4"4!4 4444444)4444*44+44,444ђ4ё44№4я4ю4˜4444444C4B4A4@4э4ь4ы4ъ4щ4ш4ч4ц4х4ф4у4т4d4c4 44b4a484ƒ4„24œ4›4š4™4ž4˜4—4–4•4”4“4’4‘444Ž44Œ4‚444€444~4}4‹4Š4‰4ˆ4‡4†4…4Ÿ4"4#2!4 4C4B4A4@4?4D4>4=4<4;4:494847464544434241404/4.4-4,4+4*4)4(4'4&4%4E4$4F4 4 4 44444444444444444ђ4ѓ2ё4№4 4 444444444я4ю4э4ь4ы4ъ4щ4ш4ч4444џ4ў4§4ќ4ћ4њ4љ4ј4ї4Љ4Њ4Ћ4Ќ4­4Ў4Џ4А4Б4В4Г4Д4Е4Ж4З4И4Й4К4Л4М4Т4Н4О4П4Р4С4š4›2™4˜4Ј4Ї4І4Ѕ4Є4Ѓ4Ђ4Ё4 4Ÿ4ž4q4r4s4t4—4–4n4o2”4“4’4‘44•44Ž44Œ4‹4Š4‰4ˆ4‡4†4…4„4ƒ4‚44€44~4}4|4{4z4y4x4w4v4u4p4l24srM&t›ФџџCSDLLine№х# џџџџџџџџK4tr tracks:=toDo;‰sФџџ CSDLSymbollсДџџџxž# <ј@  Arial€ˆђаˆђ ‰ђp‰ђР‰ђŠђ`ŠђœX/‚№nѕ0+1јь@z/‚N0А/Pђ‚a|а†fѕР/Ш‚71ˆьŒK4ХФM&соФ€qТq `O# qТq џџџџџџџџyK4œ›M&ЏЌФ€АhАшN# АhАџџџџџџџџxK4›M&ЙЖФ€lhlЙ(N# lhlЙџџџџџџџџwK4JIM&кмФ€hр€#  hџџџџџџџџdK4KIM&ижФ€uuh@Œ€#  uuhџџџџџџџџcK4ШЧM&ЫфФ€ЙдЙншр‚# ЙдЙнџџџџџџџџbK4ЩЧM&ЪчФ€%д.нИц€# .д.н%н%нџџџџџџџџaK4ЪЧ0trackTbl(track).count:= trackTbl(track).count-1шЩФ€ АRдџџџpS‚! <ј@  Arialœ0_K4ЫЧ0trackTbl(track).count:= trackTbl(track).count+1хШФ€•Андџџџ0Ь€! <ј@  Arialœ0`K4-,8null.Ф€Ћ;НM $jџџџИdї#<ј@  Arialœ0KK4.,M&18-Ф€uMЯя@dї# ™MЯMЯцuцuяџџџџџџџџ8K4/,[else0Ф€~_Ђq $jџџџШcї#<ј@  Arialœ0,JK40,M&1</Ф€u_uzPcї# u_uzџџџџџџџџ9K41,train2.0Ф€Q;™_џџџиbї! <ј@  Arial@…/…/р…/0†/€†/а†/ ‡/œшa‘јЏ0+А/И_ŒaI˜‹ќ[2(x‡S(А0і‰Pў7А/И_Œaa:K42,M&61Ф€uu;`bї#  uu;џџџџџџџџ;K43,M&:6Ф€uиuѓшaї#  uиuѓџџџџџџџџK46,trackTbl(track).sight:=train;324Ф€Qѓ™џџџ€`ї! <ј@  ArialœHœ0џџџџ Iœ$џџџџMœ$џџџџJœ$џџџџPœ$џџџџRœ$џџџџQœ$џџџџ?K47,M&<8Ф€užuя`ї# užuяџџџџџџџџ@K48, -.7Ф€Qя™џџџˆ_ї! ˆ$FјP H1а!Fа!Fа!Fh!F<ј@  Arialœ0EK49,M&;:Ф€u™uДџџџ_ї# u™uДџџџџџџџџFK4:,inSight(track,train)93>Ф€QД™иџџџ˜^їЁ QД™Д™иQиjЦ<ј@  Arialœ€cC0GK4;, *9Ф€Qu™™џџџ ^ї! И"Fр…ŸђљOhЋ‘+'ГйpК'l pК'l X+lˆ F<ј@  Arialœ0X Wh]]p~Wh]]X Wа WœT…@c[x/HK4<,:trainSignal(trackTbl(track).sig) to trackTbl(track).sight07@Ф€Qz™žџџџЈ]ї! Qz€z™Œ€žQž<ј@  ArialœHœ0џџџџ Iœ$џџџџMœ$џџџџJœ$џџџџPœ$џџџџRœ$џџџџQœ$џџџџIK4=,#handover requested>Ф€_Дниџџџ0]ї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0DK4>,M&=:Ф€™Ц_ЦИ\ї# ™Ц_ЦџџџџџџџџCK4?,#<send signal status to train which is now in range of sight@Ф€_qнЇџџџ@\ї# <ј@  Arialижњ(зњxзњШзњињhињИињœxмњhнњ0XоњЈоњјоњHпњшпњ8рњˆрњирњ(сњxсњШсњтњ€тњатњ уњpуњРуњфњ`фњАфњхњ!cl0P BK4@,M&?<Ф€™Œ_ŒШ[ї# ™ŒЂŒЂŒ_ŒџџџџџџџџAK4B,cФ€[-v= $jџџџиZї#<ј@  Arialœ§' 0ј@  ArialhВРœ02(4)6K4єѓM&ѕ Ф€~Ђ~ЋWї# ~Ђ~Ћџџџџџџџџ K4ѕѓtr:=call regularTracks;ієФ€Z~ЂЂџџџWї! <ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0010AяСўPpярі—1`Ќ…јі—@f я010ApяK4іѓM&ѕФ€~u~~ Vї# ~u~~џџџџџџџџK4EDM&FNФ€Ћ7и7(Vї# Ћ7и7џџџџџџџџ‘I4FD##all waiting cars pass the crossingEФ€и%DIџџџАUї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0I4feM&gqФ€cuc‡8Uї# cuc‡џџџџџџџџI4ge detectingfФ€?Q‡uџџџРTї! Аiр…ŸђљOhЋ‘+'ГйpК'l pК'l X+l<ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0h ?а2ŽI4heM&jtФ€c c.џџџHTї# c c.џџџџџџџџ|I4ieM&nmФ€cc)џџџаSї# cc)џџџџџџџџ}I4jemanyCarsWaitingxhФ€?ц‡ џџџXSї! ?цnц‡јn ? <ј@  Arialœ0HL ˆv2˜љ1@j1Pњ/~I4ke8 thresholdlФ€lMЂ_ $jџџџрRї#<ј@  Arialœ€ф=0љ5рО4 '8p1ˆI4leM&mrkФ€cMchџџџhRї# cMchџџџџџџџџI4mecarsizlФ€?)‡Mџџџ№Qї! <ј@  Arialœ0r4X–€I4ne cars:=cars+1;‚i}Ф€?ѓ‡џџџxQї! <ј@  Arialœ0ˆ.2I4oeM&tpФ€cRcdџџџQї# cRcdџџџџџџџџ‚I4pe -oФ€?d‡ˆџџџˆPї! рц?Ач? 0„?ˆж;— 0„?—X+lРж;€Ач?рц?<ј@  Arialœџџџџ0џџџџ†€џџџџh€џџџџ‡€џџџџџџџџ˜€џџџџƒI4qet1f€Ф€?‡‡ЋџџџPїЁ ?‡‡‡‡Ћ?ЋX™<ј@  ArialœBœџџџџ0$џџџџDœ%џџџџEœ$џџџџ р ‘ œ#цN,і“,œ#Z^№ѕ“8œ#Lœ$Dœ#џџџџ Pœ#$„I4re carsWaitinglsФ€?h‡Œџџџ˜Oї! ?hnh‡znŒ?Œ<ј@  ArialœBœџџџџ0$џџџџDœ$џџџџEœ%џџџџ ‘`’#"O,і“l’#z№ѕ“x’#Lœ$„’#џџџџ ’#$…I4seM&ruФ€cŒcЇџџџ Oї# cŒcЇџџџџџџџџ†I4teset(t1);„vhoФ€?.‡RџџџЈNї! <ј@  Arialœ$ 0 7ДцN,і“Ќ7ДZ^№ѕ“И7ДLœ$Ф7Дџџџџ а7Д$м7Д Iœш7Дџџџџє7ДMœ$8Д ‘8ДцN‡I4uecarszsxvФ€?Ї‡Ыџџџ0Nї! <ј@  Arialœ0r4X–{I4veM&utwФ€cЙЯ.ИMї# ‡ЙЯЙЯ%c%c.џџџџџџџџzI4we[elsevФ€ЇДЙ $jџџџ@Mї#<ј@  Arialœ0‰I4xeM&ujyФ€cЫcцШLї# cЫcцџџџџџџџџyI4ye8 manyThresholdxФ€lЫЦн $jџџџPLї#<ј@  Arialœ0h ?а2ŠI4zeM&mu{Ф€c;ЯЇиKї# ‡;Я;ЯžcžcЇџџџџџџџџxI4{e[elsezФ€)Д; $jџџџ`Kї#<ј@  Arialœ0pК'lщщ( @щuŽl‹I4|e#approaching car must wait}Ф€hѓТџџџшJї# <ј@  Arialижњ(зњxзњШзњињhињИињœFœџџџџ0$  ‘Рнйb`њ“Ьнй‚№ѕ“инйџџџџ фнй$№нйMœќнйџџџџойJœ$ойџџџџ ой$wI4}eM&|nФ€‡hpJї# ‡hџџџџџџџџvI4~e#too many cars are waitingФ€hЇТЫџџџјIї# <ј@  Arialижњ(зњxзњШзњињhињИињœџџџџ0џџџџ†€џџџџh€џџџџ‡€џџџџџџџџ˜€џџџџuI4eM&~uФ€‡ЙhЙ€Iї# ‡ЙhЙџџџџџџџџtI4€eM&qФ€cЋcНIї# cЋcНџџџџџџџџsI4e gateClosed€„‚Ф€?Н‡сџџџHї! <ј@  ArialhЬ/ИЬ/Э/XЭ/ЈЭ/јЭ/HЮ/œ$ 0 7ДцN,і“Ќ7ДZ^№ѕ“И7ДLœ$Ф7Дџџџџ а7Д$м7Д Iœш7Дџџџџє7ДMœ$8Д ‘8ДцNrI4‚eM&nƒФ€cсcѓHї# cсcѓџџџџџџџџqI4ƒe8true‚Ф€lсѓ $jџџџ Gї#<ј@  ArialœBœџџџџ0$џџџџDœ$џџџџEœ%џџџџ ‘`’#"O,і“l’#z№ѕ“x’#Lœ$„’#џџџџ ’#$ŒI4„eM&t…Ф€cЯ.(Gї# ‡ЯЯ%c%c.џџџџџџџџpI4…e8false„Ф€НДЯ $jџџџАFї#<ј@  ArialœBœџџџџ0$џџџџDœ%џџџџEœ$џџџџ р ‘ œ#цN,і“,œ#Z^№ѕ“8œ#Lœ$Dœ#џџџџ Pœ#$I4‡ecФ€d-= $jџџџРEї#<ј@  Arialœ0r4X–2(2)nI4СРM&ШкФ€cMchxBї# cMchџџџџџџџџCI4ТРM&еШФ€cc)Bї# cc)џџџџџџџџBI4УРM&ФШФ€‡;ДЫˆAї# ‡;;ЫДЫџџџџџџџџ@I4ФР#5cars are not allowed to pass while closing the gateУФ€ДА2цџџџAї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0?I4ХРM&ЧЬФ€•M•h˜@ї# •M•hџџџџџџџџ>I4ЦРM&ЪЭФ€•Ц•ъ @ї#  •Ц•ъџџџџџџџџ=I4ЧРgateOpen via S3ЮХФ€q)ЙMџџџЈ?ї! q) )Й; MqM<ј@  ArialXЄ/ЈЄ/јЄ/HЅ/˜Ѕ/шЅ/8І/œ0ї# lъlџџџџџџџџ:I4”’M&Ђ—Ф€lДlЦ@>ї# lДlЦџџџџџџџџ9I4•’M&–ЖФ€ЦШ=ї# Цџџџџџџџџ8I4–’#initially the gate is closed•Ф€Ц )џџџP=ї# <ј@  Arialижњ(зњxзњШзњињhињИињœENDSe; 0OCESS; CONNECT CarChannel AND CarSimulatorERailroadCrossingAname152__i; ENDBLOCK; SYNONYM nrOfTracks Integer=1; 7I4—’gateClosed via S3”“Ф€HЦъџџџи<ї! HЦwЦиwъHъ<ј@  ArialXЄ/ЈЄ/јЄ/HЅ/˜Ѕ/шЅ/8І/œ0HL ˆv2˜љ1@j1Pњ/5I4GDM&PLФ€ž žd`<ї# ž ždџџџџџџџџ4I4HDM&RPФ€žЫžцш;ї# žЫžцџџџџџџџџ3I4IDM&NMФ€‡I‡dp;ї# ‡I‡dџџџџџџџџ2I4JDM&ONФ€‡ ‡%ј:ї# ‡ ‡%џџџџџџџџ1I4KDM&TOФ€‡Ы‡ц€:ї# ‡Ы‡цџџџџџџџџ0I4LD -GФ€zdТˆџџџ:ї! рц?Ач? 0„?ˆж;— 0„?—X+lРж;€Ач?рц?<ј@  Arialœџџџџ0џџџџ†€џџџџh€џџџџ‡€џџџџџџџџ˜€џџџџ/I4MD -IФ€cdЋˆџџџ9ї! рц?Ач? 0„?ˆж;— 0„?—X+lРж;€Ач?рц?<ј@  Arialœџџџџ0џџџџ†€џџџџh€џџџџ‡€џџџџџџџџ˜€џџџџ.I4NDcars:=0JIEФ€c%ЋIџџџ9ї! <ј@  Arialœ0ˆ.2-I4ODgateClosed:=falseKJФ€cцЋ џџџ 8ї! <ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0r4X–*I4PDgateClosed:=trueHGФ€zцТ џџџ(8ї! <ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0r4X–$I4QDM&ZRФ€‡ƒžЇА7ї# ‡ƒ‡•ž•žЇџџџџџџџџэH4RD gateClosedQHФ€zЇТЫџџџ87їЁ zЇТЇТЫzЫ“Й<ј@  Arial…/P…/ …/№…/@†/†/р†/œЈ[~˜ƒВ0`ƒВ~Ъ˜щ(%Вx"|ьH4SDM&ZTФ€‡ƒ‡ЇР6ї# ‡ƒ‡ЇџџџџџџџџыH4TDgateOpenSKФ€cЇЋЫџџџH6їЁ cЇЋЇЋЫcЫ|Й<ј@  Arial…/P…/ …/№…/@†/†/р†/œ0ъH4§>`?name620ќФ€љw‰ $jџџџа5ї#<ј@  Arialœџџџџ0џџџџџџџџњџџџџћџџџџџџџџ€џџџџщH4ќ>$§@CФџџ CSDLConnector№nіt $jџџџX5ї#шH4ћ>`?name619њФ€nw’‰ $jџџџр4ї#<ј@  Arialœ`Хќ€Уќ0шФќДќјРќ€РќРќˆПќ˜Оќ ОќЈНќ0Нќ@МќШЛќPЛќиКќ`КќшЙќpЙќјИќ€ИќЗќЗќ Жќ(ЖќАЕќИќИМќПќчH4њ>$ћ@‘Фe€enkt $jџџџh4ї#цH4љ>`S3@Ф€)V;h $jџџџ№3ї#<ј@  Arialœ$ 0 7ДцN,і“Ќ7ДZ^№ѕ“И7ДLœ$Ф7Дџџџџ а7Д$м7Д Iœш7Дџџџџє7ДMœ$8Д ‘8ДцNхH4?>N (gateStatus)@Ф€zVŒџџџx3ї# <ј@  Arial ТњpТњРТњУњ`УњАУњФњœЬ?(Wќ0џџџќX+lc|џџџџИ› Ќ `‚\jи}—ЛфH4@>M!њќљ?Фџџ CSDLChannelѓqhq3ї#  hqѓqџџџџуH4UDM&XVФ€‡и‡ъџџџˆ2ї# ‡и‡ъџџџџџџџџоH4VD detectingUФ€cъЋџџџ2ї! Jœ$ЄЙ#џџџџАЙ#$МЙ#RœШЙ#џџџџдЙ#Qœ$рЙ#џџџџџџџџ<ј@  Arialœџџџџ0џџџџ†€џџџџh€џџџџ‡€џџџџџџџџ˜€џџџџпH4WDM&YXФ€‡Ђ‡Дџџџ˜1ї# ‡Ђ‡ДџџџџџџџџрH4XDset(t1);WUФ€cДЋиџџџ 1ї! <ј@  Arialœ$ 0 7ДцN,і“Ќ7ДZ^№ѕ“И7ДLœ$Ф7Дџџџџ а7Д$м7Д Iœш7Дџџџџє7ДMœ$8Д ‘8ДцNсH4YD WФ€c~ЋЂџџџЈ0ї! сџџџџсџџџџсџџџџџџџџ#с<ј@  Arialœџџџџ0џџџџџџџџњџџџџћџџџџџџџџ€џџџџтH4ЦФM&ЧЬФ€c‘cЌ00ї# c‘cЌџџџџџџџџ€H4ЧФ switchCarsЪЦФ€?m‡‘џџџИ/ї! <ј@  Arialœ0010AяСўPpярі—1`Ќ…јі—@f я010ApяH4ШФM&гЯФ€Я‘Яы@/ї# Я‘Яыџџџџџџџџ~H4ЩФ80ЪФ€l@~R $jџџџШ.ї#<ј@  Arialœ0010AяСўPpярі—1`Ќ…јі—@f я010Apя}H4ЪФM&ЮЧЩФ€c.cmP.ї# c.cmџџџџџџџџ|H4ЫФM&ЬЭФ€cаcыи-ї# cаcыџџџџџџџџ{H4ЬФset(t1)ЦЫФ€?Ќ‡аџџџ`-ї! <ј@  ArialœHœ0џџџџ ` ‘€r`њ“Œ№ѕ“˜Jœ$ЄџџџџА$МRœШџџџџдQœ$рџџџџzH4ЭФ carsЫФ€?ы‡џџџш,ї! АŠx/<ј@  Arialœ0yH4ЮФcall totalCountжЪаФ€? ‡.џџџp,ї! <ј@  Arialœџџџџ0џџџџџџџџњџџџџћџџџџџџџџ€џџџџxH4ЯФ fastШФ€Ћыѓџџџј+ї! АŠx/<ј@  Arialœ0wH‚§џџџƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ4аФM&ЮгбФ€‡Яmџџџ€+ї# ‡ЯЯmџџџџџџџџvH4бФ[elseаФ€и7ќI€џџџ+ї#<ј@  Arialœ0џџџџApє№—є№—&5ˆєкXєЪ4HєџџџџA0д№—д№— , p uH4вФ trainsеФ€?_‡ƒџџџ*ї! ЪУр…ŸђљOhЋ‘+'ГйpК'l pК'l X+l8ЧУ<ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0tH4гФ switchFastаШФ€Ћmѓ‘џџџ*ї! <ј@  Arialœ0010AяСўPpярі—1`Ќ…јі—@f я010ApяsH4дФredefined carsWaitingежФ€?ž‡Тџџџ )їЁ ?ž‡ž‡Т?ТXА<ј@  ArialœBœџџџџ0$џџџџDœ%џџџџEœ$џџџџ Fœ$џџџџ Gœ$џџџџ Lœ$џџџџ Hœ$rH4еФM&вдФ€cƒcž()ї# cƒcžџџџџџџџџqH4жФM&дЮФ€cТc А(ї# cТc џџџџџџџџpH4зФM&ихФ€q‘qЌџџџ8(ї# q‘qЌџџџџџџџџoH4иФ switchCarsнзФ€Mm•‘џџџР'ї! <ј@  Arialœ0010AяСўPpярі—1`Ќ…јі—@f я010ApяnH4йФ[elseкФ€цI [€џџџH'ї#<ј@  Arialœ0џџџџApє№—є№—&5ˆєкXєЪ4HєџџџџA0д№—д№— , p mH4кФM&олйФ€•ныџџџа&ї# •нныџџџџџџџџlH4лФ -кФ€ЙыџџџX&ї! АŠx/<ј@  Arialœ0kH4мФ80нФ€zIŒ[€џџџр%ї#<ј@  Arialœ0jH4нФM&оимФ€q.qmџџџh%ї# q.qmџџџџџџџџiH4оФcall totalCountХкнфФ€M •.џџџ№$ї! <ј@  Arialœџџџџ0џџџџџџџџњџџџџћџџџџџџџџ€џџџџhH4пФ carsцФ€Mы•џџџ$ї! АŠx/<ј@  Arialœ0fH4рФM&тсФ€qƒqžџџџ˜"ї# qƒqžџџџџџџџџcH4сФredefined trainLeaving(track)рХФ€Mž•Тџџџ "їЁ Mž•ž•ТMТfА<ј@  Arialœ0bH4тФ fastрФ€M_•ƒџџџЈ!ї! р?јx/0иD<ј@  Arialœ0aH4уФ#9total number of trains (all tracks) between the sensorsфФ€7џџџ0!ї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0`H4фФM&уоФ€•И ї# •žžџџџџџџџџ_H4хФset(t1)зцФ€MЌ•аџџџ@ ї! <ј@  ArialœHœ0џџџџ ` ‘€r`њ“Œ№ѕ“˜Jœ$ЄџџџџА$МRœШџџџџдQœ$рџџџџ^H4цФM&хпФ€qаqыШї# qаqыџџџџџџџџ]H4HФcФ€d-= $jџџџиї#<ј@  Arialœ0010AяСўPpярі—1`Ќ…јі—@f я010Apя1(1)ТD4NФ`FastTrainsPrecedenceControllerФ€y-= $jџџџ`ї#<ј@  Arialœ0ШD4IФ_Ф€y-y- $jџџџшї#<ј@  ArialœHœ0џџџџ ` ‘€r`њ“Œ№ѕ“˜Jœ$ЄџџџџА$МRœШџџџџдQœ$рџџџџУD4JФ\ Service TypeФ€--t= $jџџџpї#<ј@  Arialœ0ФD4KФUФ€---- $jџџџјї#<ј@  Arial œBœџџџџ0$џџџџDœ%џџџџEœ$џџџџ Fœ$џџџџ Gœ$џџџџ Lœ$џџџџ Hœ$ХD4LФZФ€---- $jџџџ€ї#<ј@  Arialœ0ЦD4MФRinherits BasicControllerФ€-FЃV $jџџџї#<ј@  Arialœ0010AяСўPpярі—1`Ќ…јі—@f я010ApяЧD4УmFastTrainsPrecedenceControllerPФФ€VъТџџџшї! <ј@  Arialœ0БD2ФmФNLJKIMGHХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђ !"GHIJKLMNУ4Om#$regular trains wait for fast trainsPФ€цъˆџџџpї# <ј@  Arialижњ(зњxзњШзњињhињИињœџџџџ0џџџџџџџџњџџџџћџџџџџџџџ€џџџџЎD4PmM&OУФ€Тќцќјї# Тќцќџџџџџџџџ­D4АЏM&БСФ€ЋŒqŒ€ї# ЋŒДŒДŒqŒџџџџџџџџ&D4БЏ#.add the number of trains between the sensorsАФ€qqнЇџџџї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0HќА‚šp:’@Јj§Х%D4ВЏM&ГЗФ€Ћqї# Ћqџџџџџџџџ$D4ГЏ#for all tracksВФ€qѓЙџџџї# <ј@  Arialижњ(зњxзњШзњињhињИињœHœ0џџџџ Iœ$џџџџMœ$џџџџJœ$џџџџPœ$џџџџRœ$џџџџQœ$џџџџ#D4Œ‹M&—Ф€ЂНVН ї# ЂНVНџџџџџџџџќC4‹#set all stopping signalsŒФ€VЋдЯџџџ(ї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0`„šЈџћC4Ž‹M&˜Ф€ЂќVќАї# ЂќVќџџџџџџџџњC4‹#%wait until all signals have been setŽФ€Vъдџџџ8ї# <ј@  Arialижњ(зњxзњШзњињhињИињœHœ0џџџџ а‘€?Bv,і“Œ?BЪ4№ѕ“˜?BJœ$Є?BџџџџА?B$М?BRœШ?Bџџџџд?BQœ$р?BџџџџљC4­‹8falseФ€?Œcž $jџџџРї#<ј@  Arialœџџџџ0Wmџџџџ№WmА/и—mX@n@Vmш/АZk`џџџџцC4‹M&’˜­Ф€?с~ƒHї# Zƒ?ƒ?с~с~ъџџџџџџџџхC4Ќ‹8true‘Ф€‡АЋТ $jџџџаї#<ј@  Arialœ0HќА‚šp:’@Јj§ХфC4‘‹M&’ ЌФ€~•~ЫXї# ~•~ЫџџџџџџџџуC4’‹tr=trackLst and st=red•‘Ф€ZqЂ•џџџрї! <ј@  ArialhЬ/ИЬ/Э/XЭ/ЈЭ/јЭ/HЮ/œ0`„šЈџтC4“‹'DCL tr TrackList; DCL st SignalStatus;Ф€нQd‡џџџhї# нQZQd[Z[ZQd[d‡н‡<ј@  ArialœHœ0џџџџ Iœ$џџџџMœ$џџџџJœ$џџџџPœ$џџџџRœ$џџџџQœ$џџџџНC4”‹M& ЂФ€~я~№ї# ~я~џџџџџџџџМC4vuM&w|Ф€Ђ)xї# Ђ)џџџџџџџџЛC4wu#clear all stopping signalsvФ€)ѓƒџџџї# <ј@  Arialижњ(зњxзњШзњињhињИињœHœ0џџџџ Iœ$џџџџMœ$џџџџJœ$џџџџPœ$џџџџRœ$џџџџQœ$џџџџКC4xuM&y~Ф€ЂЦ)Цˆї# ЂЦ)ЦџџџџџџџџЙC4yu# open the gatexФ€)Дƒиџџџї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0`„šЈџИC4XWM&Y`Ф€z_z˜ї# z_zџџџџџџџџЗC4YW##finally clear all stopping signalsXФ€_hЫŒџџџ ї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0`„šЈџЖC4ZWM&[iФ€ќ_ќЈї# ќ_ќџџџџџџџџЕC4[W#$wait until the gate has been closedZФ€_ъЫџџџ0ї# <ј@  Arialижњ(зњxзњШзњињhињИињœHœ0џџџџ Iœ$џџџџMœ$џџџџJœ$џџџџPœ$џџџџRœ$џџџџQœ$џџџџДC4\WM&]cФ€Н_НИї# Н_НџџџџџџџџГC4]W#close the gate\Ф€_ЋЫЯџџџ@ї# <ј@  Arialижњ(зњxзњШзњињhињИињœHœ0џџџџ а‘€?Bv,і“Œ?BЪ4№ѕ“˜?BJœ$Є?BџџџџА?B$М?BRœШ?Bџџџџд?BQœ$р?BџџџџВC4^WM&`fФ€lŒlЇШ ї# lŒlЇџџџџџџџџ{C4zuM&|Ф€~~;P ї# ~~;џџџџџџџџhC4{uM&~|Ф€~и~ѓи ї# ~и~ѓџџџџџџџџgC4цхM&чыФ€я я` ї# я яџџџџџџџџQA4чх#safe to open the gateцФ€ нžџџџш ї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0PA4х[elseшФ€ѓ $jџџџp ї#<ј@  Arialœ0OA4шхM&ыщФ€ясRј ї# ясясRџџџџџџџџNA4щх -шФ€НRvџџџ€ ї! АŠx/<ј@  Arialœ0MA4х80ъФ€u‡ $jџџџ ї#<ј@  Arialœ0й€Жї№]њ c4LA4ъхM&ыѓФ€ll ї# llџџџџџџџџKA4ыхcall totalCountђшъцФ€Hнџџџ ї! <ј@  ArialhЬ/ИЬ/Э/XЭ/ЈЭ/јЭ/HЮ/œ!01Ф}„$$џџџ€єќ' <ј@  ArialJA4ЬЧM&ЭсФ€ъЇц ї# ъЇѓЇѓццџџџџџџџџIA4ЭЧ#^sensor signals in the next threshold time units will not be passed to theCentralControllerЬФ€Йqџџџ(ї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0HA4ЮЧM&ЯцФ€яѓ[_Аї# R_[_[ я яѓјѓџџџџџџџџGA4ЯЧ#4no sensor signal for at least threshold time unitsЮФ€јиdџџџ8ї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0FA4аЧM&бгФ€яRdРї# IRRIяIяdјdџџџџџџџџEA4бЧ#wake up theSignalControlаФ€јRdvџџџHї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0DA4urM&vœФ€Д_с_аї# Д_с_џџџџџџџџCA4vr#$for all signals in the list lstCopyuФ€сM;qџџџXї# <ј@  Arialижњ(зњxзњШзњињhињИињœФ0šˆџџџ`љќ' <ј@  ArialœBA4wrM&x”Ф€2.V.рї# 2.V.џџџџџџџџAA4xr#signal will be set laterwФ€Vž@џџџhї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0 С4оb@A4yrM&z™Ф€ДнVн№ї# ДнVнџџџџџџџџ?A4zr#signal can be setyФ€VЫžяџџџxї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0 4˜61­Фu„$?Ќ3>A4{rM&|ІФ€2%2ї# 2%2џџџџџџџџ=A4|r# set a signal{Ф€% mDџџџˆї# <ј@  Arialижњ(зњxзњШзњињhињИињœ0>0lcќ<ј@  Arialœ0џџџ!X0lјџџџ"Arial<ј@ ї@4зР closeGateийФ€?Ћ‡ЯџџџxєіЁ ?Ћ‡Ћ‡Я?ЯXН<ј@  Arialœ0!X0lјџџџ"Arial<ј@  Arialі@4иРM&жзФ€ccЋџџџєі# ccЋџџџџџџџџѕ@4йРM&зеФ€cЯcъџџџˆѓі# cЯcъџџџџџџџџє@4кР closingСФ€?h‡Œџџџѓі! ˆx/# X0lа‘џџџџ=Vl PpК,l<ј@  Arialœ 0!+82=l PpК,l pК,l pК,l ѓ@4лРM&моФ€ќќ)џџџ˜ђі# ќќ)џџџџџџџџё@4мРgateOpen via S2нлФ€иъ џџџ ђі! иъъ ќи<ј@  Arialœ0œX0l0щј4Ch5qœC„CрuЈCCШwДCœCИxРCЈC№@4нРM&пмФ€ќЯќъџџџЈёі# ќЯќъџџџџџџџџя@4оР -лФ€и) Mџџџ0ёі! џџџџћџџџџџџџџ€џџџџџџџџEс<ј@  ArialœBœџџџџ0$џџџџDœ$џџџџEœ$џџџџ №‘Fr,і“ Fžо№ѕ“FLœ$$Fџџџџ 0F$ю@4пРopenGateрнФ€иЋ ЯџџџИ№іЁ иЋ Ћ ЯиЯёН<ј@  Arialœ0Dœ%џџџџEœ$џџџџ А ‘а=:,і“м=~№ѕ“ш=Lœ$є=џџџџ >$ > Iœэ@4рРM&жпФ€cќЋџџџ@№і# cc™ќ™ќЋџџџџџџџџь@4тРcФ€[-v= $jџџџPяі#<ј@  Arialœ02(2)с@4 |M&ЁЄФ€яD Dьі# яD Dџџџџџџџџ‚@4Ё|#$calculates minimum braking distance Ф€ 2vVџџџыі# <ј@  Arialижњ(зњxзњШзњињhињИињœЬт0`}тј у@4Ђ|M&ЃрФ€я ыі# я џџџџџџџџ€@4Ѓ|#)calculates position, speed, accelerationЂФ€ ќv џџџ ъі# <ј@  Arialижњ(зњxзњШзњињhињИињœ€ї0 c41ФQ„$$šˆџџџ№\§' @4ІЅM&ЇЏФ€ЂzDz(ъі# ЂzDzџџџџџџџџ~@4ЇЅ#simulate brakingІФ€DhдŒџџџАщі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0}@4ЈЅM&ЉБФ€ЂDDD8щі# ЂDDDџџџџџџџџx@4ЉЅ#calculate braking distanceЈФ€D2дVџџџРші# <ј@  Arialижњ(зњxзњШзњињhињИињœ0№-­w@4ьхM&эіФ€Й ЙHші# Й Йџџџџџџџџ5@4эх#"manual open" requestьФ€ ЇžЫџџџачі# <ј@  Arialижњ(зњxзњШзњињhињИињœ04@4юхM&яќФ€Ц ЦXчі# Ц Цџџџџџџџџ1@4ях#"manual close" requestюФ€ Дžиџџџрці# <ј@  Arialижњ(зњxзњШзњињhињИињœ00@4LIM&MЎФ€žјАјhці# žјАјџџџџџџџџ@4MI#@returns total number of trains (all tracks) between the sensorsLФ€Ацd џџџ№хі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0xюќ`њќшљќpљќјјќ€јќјќїќїќ іќ(іќАѕќ8ѕќрђќhђќxёќёќˆ№ќ№ќ˜яќ№ёќ@4NIM&OŠФ€‡R™Rxхі# ‡R™Rџџџџџџџџ @4OI#signals to red, open the gateNФ€™@;dџџџхі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0@4PIM&QtФ€‡%™%ˆфі# ‡%™%џџџџџџџџ@4QI#open the gate, signals to greenPФ€™;7џџџфі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0@4RIM&SVФ€‡ј™ј˜уі# ‡ј™јџџџџџџџџ@4SI# close the gate, signals to greenRФ€™ц; џџџ уі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0@4TIM&UйФ€™ЋЦЋЈті# ™ЋЦЋџџџџџџџџ@4UI#standard behaviourTФ€Ц™2Нџџџ0ті# <ј@  Arialижњ(зњxзњШзњињhињИињœ0xюќ`њќшљќpљќјјќ€јќјќїќїќ іќ(іќАѕќ8ѕќрђќhђќxёќёќˆ№ќ№ќ˜яќ№ёќ@4љјM&њФ€™ЙќТИсі# ™ТЂТЂЙќЙџџџџџџџџц?4њј#;append track to track list, set speed information in tableљФ€ќЇžЫџџџ@сі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0х?4ћјM&ќФ€™ЯќЯШрі# ™ЯќЯџџџџџџџџф?4ќј#7initially the gate is closed and all signals are greenћФ€ќНŒсџџџPрі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0у?498M&:FФ€ЇhЇипі# ЇhЇџџџџџџџџЪ?4:8#train is passing second sensor9Ф€h• Йџџџ`пі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0Щ?4;8M&<QФ€ъhъшоі# ъhъџџџџџџџџШ?4<8#train is passing first sensor;Ф€hи ќџџџpоі# <ј@  Arialижњ(зњxзњШзњињhињИињœHœ0џџџџ Iœ$џџџџMœ$џџџџJœ$џџџџPœ$џџџџRœ$џџџџQœ$џџџџЧ?4=8M&>SФ€ДhДјні# ДhДџџџџџџџџЦ?4>8#train at position (p1,p2)=Ф€hЂ Цџџџ€ні# <ј@  Arialижњ(зњxзњШзњињhињИињœ0џџџ!X0lјџџџ"Arial<ј@ Х?4?8F/* variables*/ DCL p1,p2 Real; /* position of the train */Ф€ЇHmџџџні# ЇHcHmRcRcHmRmЇ<ј@  Arialœ0їЈ/xF[Ф?4M&(Ф€2мі# 2џџџџџџџџУ?4#.create the first train (at an arbitrary time)Ф€2 ž.џџџмі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0Т?4M& Ф€q2q лі# q2qџџџџџџџџЛ?4#%announce the track to the controllerФ€2_žƒџџџ(лі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0К?4M&$Ф€Д2ДАкі# Д2ДџџџџџџџџЙ?4#get a unique track idФ€2ЂžЦџџџ8кі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0И?4M&%Ф€ќz_zРйі# ќz_zџџџџџџџџ‘?4#maximum brake forceФ€_hнŒџџџHйі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0?4Є| breakingDist  ЅФ€•2яVџџџ(иі! Ÿ2х2я<яLхVŸV•L•<<ј@  ArialXЄ/ЈЄ/јЄ/HЅ/˜Ѕ/шЅ/8І/œ0'4як1џФ„$6ššџџџ S§' e?2Ѕ| ЅПНЛМКОИЙІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСЄ4ОЅR returns RealФ€-FoV $jџџџАзі#<ј@  Arialœ0z?4НЅZФ€---- $jџџџ8зі#<ј@  Arialœ0y?4МЅUФ€---- $jџџџРжі#<ј@  Arial œ0x?4ЛЅ\ ProcedureФ€--n= $jџџџHжі#<ј@  Arialœ0w?4КЅ_Ф€s-s- $jџџџаеі#<ј@  Arialœ0v?4ПЅ` breakingDistФ€s-Е= $jџџџXеі#<ј@  Arialœ0{?4ЙЅcФ€[-v= $jџџџрді#<ј@  Arialœ01(1)u?4ЗЅДФ€ZЂДџџџ№гі! @Ўx/<ј@  ArialБњрБњ0Вњ€ВњаВњ ГњpГњœ0s?4ЖЅsp:=speed; dist:=0;ДВФ€ZЦЂъџџџxгі! <ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0r?4ЕЅ%/* variables */ DCL sp, dist Real;Ф€ТcIЂџџџгі# Тc?cIm?m?cImIЂТЂ<ј@  Arialœ0q?4ДЅM&ЗЖФ€~Д~Цˆві#  ~Д~Цџџџџџџџџp?4ГЅsp­ВЊАФ€ZќЂ џџџві! <ј@  ArialhЬ/ИЬ/Э/XЭ/ЈЭ/јЭ/HЮ/œ0o?4ВЅM&ЖГФ€~ъ~ќ˜бі# ~ъ~ќџџџџџџџџn?4БЅdist:=dist+sp;АЎЈФ€Z2ЂVџџџ бі! <ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0m?4АЅM&ГБРФ€~ ~2Јаі# ~ ~2џџџџџџџџl?4РЅ8>0АФ€‡ ™2 $jџџџ0аі#<ј@  Arialœ0|?4ЏЅsp:=sp+minAccel;Ў­ІФ€ZhЂŒџџџИЯі! <ј@  Arial€ˆњаˆњ ‰њp‰њР‰њŠњ`Šњœ0k?4ЎЅM&БЏФ€~V~h@Яі# ~V~hџџџџџџџџj?4­ЅM&ЏГФ€?ѓ~žШЮі# ~Œ~ž?ž?ѓ~ѓ~ќџџџџџџџџi?4ЌЅЊЋФ€ЦžъТџџџPЮі! <ј@  ArialРЬњЭњ`ЭњАЭњЮњhЮњИЮњœ0h?4ЋЅ“distЌФ€ѓžА $jџџџиЭі#<ј@  Arialœ0g?4ЊЅM&ГЌСФ€Ђиž`Эі# Ђииžџџџџџџџџf?4СЅ[elseЊФ€ъ 2 $jџџџшЬі#<ј@  Arialœ0}?468redФ€сDѓV $jџџџpЬі#<ј@  Arialœ0d?4M&)%6Ф€‡)иhјЫі# ‡)и)иhџџџџџџџџc?4Т|M&УеФ€НЫќЫ€Ыі# НЫЦЫЦЫќЫџџџџџџџџБ>4У|#Rpossible to stop in front of the signal or handing over of signal already doneТФ€ќЇŒяџџџЫі# <ј@  Arialижњ(зњxзњШзњињhињИињœ0А>4lЂ/* SDL-2000 Design Contest 3rd SDL And MSC Workshop Specification of a Railway Crossing Jens Brandt (University of Kaiserslautern) May 11 2002 */Ф€?6)ќџџџЪі# ?66)@@6)@)ќ?ќ<ј@  Arialœ0Џ>4Ф|M&зеФ€™Ї™ЙЪі#  ™Ї™Йџџџџџџџџ[>4Х|M&ЦЭФ€VтЇт Щі# VтЇтџџџџџџџџZ>4Ц|#+create next train before leaving the trackХФ€Їа%єџџџ(Щі# <ј@  Arialœ0Y>4Ч|M&ШпФ€НъќъАШі# НъќъџџџџџџџџT>4Ш|#0update current acceleration, speed and positionЧФ€ќиŒќџџџ8Ші# <ј@  Arialœ0S>497M&:>Ф€нMMРЧі# нMMџџџџџџџџE>4:7#create next train9Ф€;m_џџџHЧі# <ј@  Arialœ 04ŠG1Фжƒ$$ˆ`џџџ8"' <D>4;7M&<JФ€~сѓсаЦі# ~сѓсџџџџџџџџC>4<7#position of previous train;Ф€ѓЯMѓџџџXЦі# <ј@  Arialœp<ћ0€ЅД€ЅД В§аШ§ц§ рдІ`ЌІ§<У§p<ћ ч§010В§pц§B>4/* general purpose procedures*/Ф€•QduџџџрХі# •QZQd[Z[ZQd[du•u<ј@  Arialœ* trmete0nonym fastSpeed Real=30; /* maximal speed of fast trains*/ synonym slowSpeed Real=20; /* maximal speed of?>4m/* type definitions */ /* signal status */ value type SignalStatus; literals red, green endvalue type; /* track identifier */ syntype TrackId=PId endsyntype; /* list of all tracks */ syntype TrackList=String(TrackId,Emptylist) endsyntype; /* information about a track */ value type TrackInfo struct speed Real; /* maximal speed */ count Integer; /* number of trains between the sensors*/ sight PId; /* trains which ist in range of sight of signal */ sig SignalStatus; /* signal status */ endvalue type; syntype TrackTable=Array(TrackId,TrackInfo) endsyntype;Ф€6Qqјџџџ