Changes for page Basic design

Last modified by nfl on 2025/01/30 12:05

From version 11.1
edited by sna
on 2014/08/06 03:48
Change comment: There is no comment for this version
To version 9.1
edited by csp
on 2014/06/23 14:18
Change comment: updated figure of Mutex_KH, fixed typo

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.sna
1 +XWiki.csp
Content
... ... @@ -54,884 +54,3 @@
54 54  When arriving on a station the train controller **must** first call the function //void railArrival(int train, int station)//. This starts the waiting timer for the train.
55 55  Next the train **must** wait for// int railDeparture(int train)// to return 1.
56 56  After the waiting has finished the controller can reach a final state and pass the control back to the train controller.
57 -
58 -=== Structure ===
59 -
60 -----
61 -
62 -
63 -
64 -
65 -|=(((
66 -{{{input int *_perm;}}}
67 -
68 -{{{output bool *_req[11];}}}
69 -
70 -{{{input int trainNum;}}}
71 -
72 -{{{input int depTrack;}}}
73 -
74 -{{{input int destTrack;}}}
75 -
76 -{{{input bool cleanup;}}}
77 -
78 -{{{input bool debug;}}}
79 -
80 -{{{output int arrTrack;}}}
81 -
82 -{{{int i_arrOnTrack;}}}
83 -
84 -{{{ }}}
85 -
86 -{{{initial state *_ST {}}}
87 -
88 -{{{    entry debug / 'println([trainNum][ST-ST] ... )';}}}
89 -
90 -{{{ }}}
91 -
92 -{{{    initial state waitForPerm {}}}
93 -
94 -{{{        entry / *_ST_4_req[trainNum] = true;}}}
95 -
96 -{{{        entry / *_LN_0_req[trainNum] = true;}}}
97 -
98 -{{{    }}}}
99 -
100 -{{{    --> gotPerm with (*_ST_4_perm == trainNum) & (*_LN_0_perm == trainNum)}}}
101 -
102 -{{{    --> backOff with (*_ST_4_perm == trainNum) | (*_LN_0_perm == trainNum);}}}
103 -
104 -{{{ }}}
105 -
106 -{{{    state backOff}}}
107 -
108 -{{{    --> backOff1;}}}
109 -
110 -{{{ }}}
111 -
112 -{{{    state backOff1 {}}}
113 -
114 -{{{entry / *_ST_4_req[trainNum] = false;}}}
115 -
116 -{{{entry / *_LN_0_req[trainNum] = false;}}}
117 -
118 -{{{    }}}}
119 -
120 -{{{    --> waitForPerm;}}}
121 -
122 -{{{ }}}
123 -
124 -{{{final state gotPerm;}}}
125 -
126 -{{{}}}}
127 -
128 -{{{>-> Dep_*_ST;}}}
129 -
130 -{{{ }}}
131 -
132 -{{{state Dep_IC_ST {}}}
133 -
134 -{{{    entry / 'railPoint(*,STRAIGHT)';}}}
135 -
136 -{{{    entry / 'railSignal(*_LN_0, FWD, RED)';}}}
137 -
138 -{{{    entry / 'railTrack(*_LN_0,FWD,trainNum,NORMAL)';}}}
139 -
140 -{{{    entry / 'railTrack(*_ST_4,FWD,trainNum,NORMAL)';}}}
141 -
142 -{{{    entry depTrack == 1 / 'railSignal(*_ST_1, FWD, GREEN)';}}}
143 -
144 -{{{    entry depTrack == 2 / 'railSignal(*_ST_2, FWD, GREEN)';}}}
145 -
146 -{{{    entry depTrack == 3 / 'railSignal(*_ST_3, FWD, GREEN)';}}}
147 -
148 -{{{    ..........}}}
149 -
150 -{{{  } --> *_LN_0 with 'railContact(*_LN_0,0)';}}}
151 -
152 -{{{ }}}
153 -
154 -{{{  state *_LN_0 {}}}
155 -
156 -{{{    entry / 'println("[trainNum][ST-ST] Entering *_LN_0")';}}}
157 -
158 -{{{    entry debug / 'println("[trainNum][ST-ST] Requesting permission for *_LN_1")';}}}
159 -
160 -{{{    entry depTrack == 1 / 'railSignal(*_ST_1, FWD, RED)';}}}
161 -
162 -{{{    entry depTrack == 2 / 'railSignal(*_ST_2, FWD, RED)';}}}
163 -
164 -{{{    entry depTrack == 3 / 'railSignal(*_ST_3, FWD, RED)';}}}
165 -
166 -{{{    entry / *_LN_1_req[trainNum] = true;}}}
167 -
168 -{{{ }}}
169 -
170 -{{{    region Travel:}}}
171 -
172 -{{{      initial state Entry}}}
173 -
174 -{{{      --> Continue with 'railContact(*_LN_0,0)' & (*_LN_1_perm == trainNum)}}}
175 -
176 -{{{      --> Slowdown with 'railContact(*_LN_0,0)';}}}
177 -
178 -{{{ }}}
179 -
180 -{{{      state Slowdown {}}}
181 -
182 -{{{        entry debug / 'println("[trainNum][ST-ST] Slowing down on *_LN_0")';}}}
183 -
184 -{{{        entry / 'railTrack(*_LN_0,FWD,trainNum,CAUTION)';}}}
185 -
186 -{{{      }}}}
187 -
188 -{{{      --> Waiting with 'railContact(*_LN_0,1)'}}}
189 -
190 -{{{      --> Continue with *_LN_1_perm == trainNum;}}}
191 -
192 -{{{ }}}
193 -
194 -{{{      state Waiting {}}}
195 -
196 -{{{        entry debug / 'println("[trainNum][ST-ST] Stopping on *_LN_0")';}}}
197 -
198 -{{{        entry / 'railTrackBrake(*_LN_0)';}}}
199 -
200 -{{{      }}}}
201 -
202 -{{{      --> Continue with *_LN_1_perm == trainNum;}}}
203 -
204 -{{{ }}}
205 -
206 -{{{      final state Continue {}}}
207 -
208 -{{{        entry debug / 'println("[trainNum][ST-ST] Continuing on *_LN_0")';}}}
209 -
210 -{{{        entry / 'railSignal(*_LN_0,FWD,GREEN)';}}}
211 -
212 -{{{        entry / 'railTrack(*_LN_0,FWD,trainNum,NORMAL)';}}}
213 -
214 -{{{        entry / 'railTrack(*_LN_1,FWD,trainNum,NORMAL)';}}}
215 -
216 -{{{        entry / 'railSignal(*_LN_1, FWD, RED)';}}}
217 -
218 -{{{      };}}}
219 -
220 -{{{ }}}
221 -
222 -{{{    region Cleanup:}}}
223 -
224 -{{{      initial state Entry}}}
225 -
226 -{{{      --> cleanup with 'railContact(*_LN_0,0)';}}}
227 -
228 -{{{ }}}
229 -
230 -{{{      final state cleanup {}}}
231 -
232 -{{{      entry debug / 'println("[trainNum][ST-ST] Entered *_LN_0 completely")';}}}
233 -
234 -{{{      entry / 'railTrackOff(*_ST_4)';}}}
235 -
236 -{{{      entry / *_ST_4_req[trainNum] = false;}}}
237 -
238 -{{{      };}}}
239 -
240 -{{{  }>-> *_LN_0_*_LN_1;}}}
241 -
242 -{{{ }}}
243 -
244 -{{{  state IC_LN_0_IC_LN_1}}}
245 -
246 -{{{  --> IC_LN_1 with 'railContact(IC_LN_1,0)';}}}
247 -
248 -{{{ }}}
249 -
250 -{{{// ...................}}}
251 -
252 -{{{// Set of track segment controlling states such as before}}}
253 -
254 -{{{// ...................}}}
255 -
256 -{{{ }}}
257 -
258 -{{{state *_LN_5 {}}}
259 -
260 -{{{    int perm_all_next_segments = false;}}}
261 -
262 -{{{    entry / 'println("[trainNum][ST-ST] Entering *_LN_5")';}}}
263 -
264 -{{{    entry / 'railSignal(*_LN_4, FWD, RED)';}}}
265 -
266 -{{{ }}}
267 -
268 -{{{    region Travel:}}}
269 -
270 -{{{      initial state Entry}}}
271 -
272 -{{{      --> Continue with 'railContact(*_LN_5,0)' & perm_all_next_segments}}}
273 -
274 -{{{      --> Slowdown with 'railContact(*_LN_5,0)';}}}
275 -
276 -{{{ }}}
277 -
278 -{{{      state Slowdown {}}}
279 -
280 -{{{        entry debug / 'println("[trainNum][ST-ST] Slowing down on *_LN_5")';}}}
281 -
282 -{{{        entry / 'railTrack(*_LN_5,FWD,trainNum,CAUTION)';}}}
283 -
284 -{{{      }}}}
285 -
286 -{{{      --> Waiting with 'railContact(*_LN_5,1)'}}}
287 -
288 -{{{      --> Continue with perm_all_next_segments;}}}
289 -
290 -{{{ }}}
291 -
292 -{{{      state Waiting {}}}
293 -
294 -{{{        entry debug / 'println("[trainNum][ST-ST] Stopping on *_LN_5")';}}}
295 -
296 -{{{        entry / 'railTrackBrake(*_LN_5)';}}}
297 -
298 -{{{      }}}}
299 -
300 -{{{      --> Continue with perm_all_next_segments;}}}
301 -
302 -{{{ }}}
303 -
304 -{{{      final state Continue {}}}
305 -
306 -{{{        entry debug / 'println("[trainNum][ST-ST] Continuing on *_LN_5")';        }}}
307 -
308 -{{{        entry i_arrOnTrack == 1 / 'railTrack(*_ST_1,FWD,trainNum,NORMAL)';}}}
309 -
310 -{{{        entry i_arrOnTrack == 2 / 'railTrack(*_ST_2,FWD,trainNum,NORMAL)';}}}
311 -
312 -{{{        entry i_arrOnTrack == 3 / 'railTrack(*_ST_3,FWD,trainNum,NORMAL)';}}}
313 -
314 -{{{        ----------}}}
315 -
316 -{{{        entry / arrTrack = i_arrOnTrack;}}}
317 -
318 -{{{      };}}}
319 -
320 -{{{ }}}
321 -
322 -{{{    region Cleanup:}}}
323 -
324 -{{{      initial state Entry}}}
325 -
326 -{{{      --> cleanup with 'railContact(*_LN_5,0)';}}}
327 -
328 -{{{ }}}
329 -
330 -{{{      final state cleanup {}}}
331 -
332 -{{{        entry debug / 'println("[trainNum][ST-ST] Entered *_LN_5 completely")';}}}
333 -
334 -{{{        entry / 'railTrackOff(*_LN_4)';}}}
335 -
336 -{{{        entry / *_LN_4_req[trainNum] = false;}}}
337 -
338 -{{{      };}}}
339 -
340 -{{{ }}}
341 -
342 -{{{    region Permissions:}}}
343 -
344 -{{{      initial state checking {}}}
345 -
346 -{{{        entry / *_ST_0_req[trainNum] = true;}}}
347 -
348 -{{{        entry destTrack == 1 | !cleanup / *_ST_1_req[trainNum] = true;}}}
349 -
350 -{{{        entry destTrack == 2 | !cleanup / *_ST_2_req[trainNum] = true;}}}
351 -
352 -{{{        entry destTrack == 3 | !cleanup / *_ST_3_req[trainNum] = true;}}}
353 -
354 -{{{      }}}}
355 -
356 -\\
357 -
358 -{{{      --> success with destTrack == 1 & *_ST_0_perm == trainNum & *_ST_1_perm == trainNum / i_arrOnTrack = 1}}}
359 -
360 -\\
361 -
362 -{{{      --> success with destTrack == 2 & *_ST_0_perm == trainNum & *_ST_2_perm == trainNum / i_arrOnTrack = 2}}}
363 -
364 -\\
365 -
366 -{{{      --> success with destTrack == 3 & *_ST_0_perm == trainNum & *_ST_3_perm == trainNum / i_arrOnTrack = 3}}}
367 -
368 -{{{      --> success with *_ST_0_perm == trainNum & *_ST_1_perm == trainNum / i_arrOnTrack = 1}}}
369 -
370 -{{{      --> success with *_ST_0_perm == trainNum & *_ST_2_perm == trainNum / i_arrOnTrack = 2}}}
371 -
372 -{{{      --> success with *_ST_0_perm == trainNum & *_ST_3_perm == trainNum / i_arrOnTrack = 3}}}
373 -
374 -
375 -\\
376 -
377 -{{{      --> resolving with *_ST_0_perm == trainNum | *_ST_3_perm == trainNum | *_ST_2_perm == trainNum | *_ST_1_perm == trainNum;}}}
378 -
379 -{{{ }}}
380 -
381 -{{{      state resolving}}}
382 -
383 -{{{      --> resolving1;}}}
384 -
385 -{{{ }}}
386 -
387 -{{{      state resolving1 {}}}
388 -
389 -{{{        entry / *_ST_0_req[trainNum] = false;}}}
390 -
391 -{{{        entry / *_ST_1_req[trainNum] = false;}}}
392 -
393 -{{{        entry / *_ST_2_req[trainNum] = false;}}}
394 -
395 -{{{        entry / *_ST_3_req[trainNum] = false;}}}
396 -
397 -{{{      }}}}
398 -
399 -{{{      --> checking;}}}
400 -
401 -{{{ }}}
402 -
403 -{{{      state success}}}
404 -
405 -{{{      --> success1;}}}
406 -
407 -{{{ }}}
408 -
409 -{{{      final state success1 {}}}
410 -
411 -{{{        entry !(i_arrOnTrack == 1) / *_ST_1_req[trainNum] = false;      }}}
412 -
413 -{{{        entry !(i_arrOnTrack == 2) / *_ST_2_req[trainNum] = false;}}}
414 -
415 -{{{        entry !(i_arrOnTrack == 3) / *_ST_3_req[trainNum] = false;}}}
416 -
417 -{{{        entry / perm_all_next_segments = true;}}}
418 -
419 -{{{      };}}}
420 -
421 -{{{  }>-> *_LN_5_*_ST;}}}
422 -
423 -{{{ }}}
424 -
425 -{{{  state *_LN_5_*_ST}}}
426 -
427 -{{{  --> Arr_*_ST with i_arrOnTrack == 1 & 'railContact(*_ST_1,0)'}}}
428 -
429 -{{{  --> Arr_*_ST with i_arrOnTrack == 2 & 'railContact(*_ST_2,0)'}}}
430 -
431 -{{{  --> Arr_*_ST with i_arrOnTrack == 3 & 'railContact(*_ST_3,0)';}}}
432 -
433 -{{{ }}}
434 -
435 -{{{  state Arr_*_ST {}}}
436 -
437 -{{{    entry / 'railSignal(*_LN_5, FWD, RED)';}}}
438 -
439 -{{{    entry / 'railTrackOff(*C_LN_5)';}}}
440 -
441 -{{{    entry / 'railTrack(*_ST_0,FWD,trainNum,SLOW)';}}}
442 -
443 -{{{    entry i_arrOnTrack == 1 / 'railTrack(*_ST_1,FWD,trainNum,SLOW)';}}}
444 -
445 -{{{    entry i_arrOnTrack == 2 / 'railTrack(*_ST_2,FWD,trainNum,SLOW)';}}}
446 -
447 -{{{    entry i_arrOnTrack == 3 / 'railTrack(*_ST_3,FWD,trainNum,SLOW)';}}}
448 -
449 -{{{    entry / *_LN_5_req[trainNum] = false;}}}
450 -
451 -{{{ }}}
452 -
453 -{{{    initial state SlowEntry}}}
454 -
455 -{{{    --> Slow with i_arrOnTrack == 1 & 'railContact(*_ST_1,0)'}}}
456 -
457 -{{{    --> Slow with i_arrOnTrack == 2 & 'railContact(*_ST_2,0)'}}}
458 -
459 -{{{    --> Slow with i_arrOnTrack == 3 & 'railContact(*_ST_3,0)';}}}
460 -
461 -{{{ }}}
462 -
463 -{{{    state Slow {}}}
464 -
465 -{{{      entry / 'railTrackOff(*_ST_0)';}}}
466 -
467 -{{{      entry / *_ST_0_req[trainNum] = false;}}}
468 -
469 -{{{    }}}}
470 -
471 -{{{    --> Halt with i_arrOnTrack == 1 & 'railContact(*_ST_1,1)'}}}
472 -
473 -{{{    --> Halt with i_arrOnTrack == 2 & 'railContact(*_ST_2,1)'}}}
474 -
475 -{{{    --> Halt with i_arrOnTrack == 3 & 'railContact(*_ST_3,1)';}}}
476 -
477 -{{{ }}}
478 -
479 -{{{    final state Halt {}}}
480 -
481 -{{{      entry i_arrOnTrack == 1 / 'railTrackBrake(*_ST_1)';}}}
482 -
483 -{{{      entry i_arrOnTrack == 2 / 'railTrackBrake(*_ST_2)';}}}
484 -
485 -{{{      entry i_arrOnTrack == 3 / 'railTrackBrake(*_ST_3)';}}}
486 -
487 -{{{      entry i_arrOnTrack == 1 / 'railArrival(trainNum, *_ST_1)';}}}
488 -
489 -{{{      entry i_arrOnTrack == 2 / 'railArrival(trainNum, *_ST_2)';}}}
490 -
491 -{{{      entry i_arrOnTrack == 3 / 'railArrival(trainNum, *_ST_3)';}}}
492 -
493 -{{{    };}}}
494 -
495 -{{{  }}}}
496 -
497 -{{{  >-> done;}}}
498 -
499 -{{{ }}}
500 -
501 -{{{  state done}}}
502 -
503 -{{{  --> reallyDone with 'railDeparture(trainNum)';}}}
504 -
505 -{{{ }}}
506 -
507 -{{{  final state reallyDone;}}}
508 -)))|=(((
509 -~/~/ All permissiions variables
510 -
511 -~/~/ All request variables
512 -
513 -~/~/ Train number
514 -
515 -~/~/ Departure track number
516 -
517 -~/~/ Destination track number
518 -
519 -~/~/ Cleanup flag for selecting the track of destination
520 -
521 -~/~/ Debug flag for additional output
522 -
523 -~/~/ Arrival track
524 -
525 -~/~/ Variable (arrival track) for selecting correct station elements
526 -
527 -
528 -
529 -~/~/ Handles departing from a station
530 -
531 -~/~/ Additional output for debugging
532 -
533 -
534 -
535 -~/~/ State, which set requests for needed tracks
536 -
537 -
538 -
539 -
540 -
541 -
542 -
543 -~/~/ Transition for received **all** needed permissions
544 -
545 -~/~/ Tranisition for received **some** needed permissions
546 -
547 -
548 -
549 -~/~/ State for waiting an additional Tick
550 -
551 -
552 -
553 -
554 -
555 -~/~/ State, which releases the requests for needed tracks
556 -
557 -
558 -
559 -
560 -
561 -
562 -
563 -~/~/ Transition to trying the requesting again
564 -
565 -
566 -
567 -
568 -
569 -
570 -
571 -~/~/ Transition to the departure state
572 -
573 -
574 -
575 -~/~/ State, which handles the train departure
576 -
577 -~/~/ Set of entry-Actions to set tracks, points and signals according to depTrack
578 -
579 -
580 -
581 -
582 -
583 -
584 -
585 -
586 -
587 -
588 -
589 -
590 -
591 -
592 -~/~/ Transition to next track segment, if contact is readed
593 -
594 -
595 -
596 -~/~/ State for handling the train on track *_LN_0
597 -
598 -~/~/ Outputs for debugging
599 -
600 -
601 -
602 -~/~/ Entry-Actions to set the previous signals to RED
603 -
604 -
605 -
606 -
607 -
608 -~/~/ Requesting the next segment
609 -
610 -
611 -
612 -~/~/ Region for handling train driving
613 -
614 -
615 -
616 -~/~/ Transition to continuing state, if permitted
617 -
618 -~/~/ Transition to slowing down else
619 -
620 -
621 -
622 -~/~/ State for slowing down
623 -
624 -~/~/ Addtitional output for debugging
625 -
626 -~/~/ Entry-Action for slowing down the train
627 -
628 -
629 -
630 -~/~/ Transition to waiting state
631 -
632 -~/~/ Transition to continuing state, if permitted
633 -
634 -
635 -
636 -~/~/ Waiting state
637 -
638 -~/~/ Addtitional output for debugging
639 -
640 -~/~/ Entry-Action for stopping the train
641 -
642 -
643 -
644 -~/~/ Tranisition to continuing state
645 -
646 -
647 -
648 -~/~/ State to continuing driving on the track
649 -
650 -~/~/ Addtitional output for debugging
651 -
652 -~/~/ Entry-Actions to set tracks and signals for driving
653 -
654 -
655 -
656 -
657 -
658 -
659 -
660 -
661 -
662 -
663 -
664 -~/~/ Region for handling cleanup-functionalities
665 -
666 -
667 -
668 -~/~/ Transition to cleanup state
669 -
670 -
671 -
672 -~/~/ Cleanup state
673 -
674 -~/~/ Addtitional output for debugging
675 -
676 -~/~/ Entry-Action to switching off the previous track
677 -
678 -~/~/ Entry-Action to release the previous track
679 -
680 -
681 -
682 -~/~/ Transition to transitional state
683 -
684 -
685 -
686 -~/~/ Transitional state
687 -
688 -~/~/ Transition to next track segment, if contact is readed
689 -
690 -
691 -
692 -
693 -
694 -
695 -
696 -
697 -
698 -
699 -
700 -~/~/ State for entering a station
701 -
702 -~/~/ Variable for checking all needed permissions
703 -
704 -~/~/ Output
705 -
706 -~/~/ Setting signal to RED
707 -
708 -
709 -
710 -~/~/ Region for handling train driving
711 -
712 -
713 -
714 -~/~/ Transition to continuing state, if permitted
715 -
716 -~/~/ Transition to slowing down else
717 -
718 -
719 -
720 -~/~/ State for slowing down
721 -
722 -~/~/ Addtitional output for debugging
723 -
724 -~/~/ Entry-Action for slowing down the train
725 -
726 -
727 -
728 -~/~/ Transition to waiting state
729 -
730 -~/~/ Transition to continuing state, if permitted
731 -
732 -
733 -
734 -~/~/ Waiting state
735 -
736 -~/~/ Addtitional output for debugging
737 -
738 -~/~/ Entry-Action for stopping the train
739 -
740 -
741 -
742 -~/~/ Tranisition to continuing state
743 -
744 -
745 -
746 -~/~/ State to continuing driving on the track
747 -
748 -~/~/ Addtitional output for debugging
749 -
750 -~/~/ Set of entry-Actions for setting tracks, points and signals according to i_arrOnTrack
751 -
752 -
753 -
754 -
755 -
756 -
757 -
758 -~/~/ Setting the arrival track (output)
759 -
760 -
761 -
762 -
763 -
764 -~/~/ Region for handling cleanup-functionalities
765 -
766 -
767 -
768 -~/~/ Transition to cleanup state
769 -
770 -
771 -
772 -~/~/ Cleanup state
773 -
774 -~/~/ Addtitional output for debugging
775 -
776 -~/~/ Entry-Action to switching off the previous tracks
777 -
778 -~/~/ Entry-Action to release the previous tracks
779 -
780 -
781 -
782 -
783 -
784 -~/~/ Region for handling permissions of all needed tracks
785 -
786 -~/~/ State for requesting all needed tracks according to destination track and cleanup-Flag
787 -
788 -
789 -
790 -
791 -
792 -
793 -
794 -
795 -
796 -
797 -
798 -~/~/ Transitions for permitted tracks match wished tracks
799 -
800 -
801 -
802 -
803 -
804 -~/~/ Transitions for permitted tracks don't match wished tracks
805 -
806 -
807 -
808 -
809 -
810 -~/~/ Transition for not all tracks permitted
811 -
812 -
813 -
814 -~/~/ State for waiting an additional tick
815 -
816 -
817 -
818 -
819 -
820 -~/~/ State for releasing track requests
821 -
822 -
823 -
824 -
825 -
826 -
827 -
828 -
829 -
830 -
831 -
832 -~/~/ Transition for trying the requesting again
833 -
834 -
835 -
836 -~/~/ State for waiting an additional tick
837 -
838 -
839 -
840 -
841 -
842 -~/~/ State for releasing not used track requests and
843 -
844 -
845 -
846 -
847 -
848 -
849 -
850 -~/~/ Settting perm_all_next_segments to true
851 -
852 -
853 -
854 -~/~/ Transition to station entry states
855 -
856 -
857 -
858 -~/~/ State waiting for station entry
859 -
860 -
861 -
862 -
863 -
864 -
865 -
866 -
867 -
868 -~/~/ State for setting tracks, points and signals according to i_arrOnTrack
869 -
870 -~/~/ and releasing previous track request
871 -
872 -
873 -
874 -
875 -
876 -
877 -
878 -
879 -
880 -
881 -
882 -
883 -
884 -
885 -
886 -~/~/ State for slowing down, if train completely on track
887 -
888 -
889 -
890 -
891 -
892 -
893 -
894 -
895 -
896 -~/~/ State for switching off previous track and releasing the request
897 -
898 -
899 -
900 -
901 -
902 -
903 -
904 -~/~/ Transitions to halt states, if train at second contact of a track
905 -
906 -
907 -
908 -
909 -
910 -
911 -
912 -
913 -
914 -~/~/ Entry-Actions for braking the train on correct track
915 -
916 -
917 -
918 -
919 -
920 -~/~/ Entry-Actions for waiting for timer on correct track
921 -
922 -
923 -
924 -
925 -
926 -
927 -
928 -
929 -
930 -
931 -
932 -
933 -
934 -
935 -
936 -~/~/ Transition to final state, if timer is ready
937 -)))
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471640
1 +9471637
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471640/Basic design
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471637/Basic design