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