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,875 +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 -{{{Â Â Â Â Â --> success with destTrack == 1 & *_ST_0_perm == trainNum & *_ST_1_perm == trainNum / i_arrOnTrack = 1}}} 357 - 358 -{{{Â Â Â Â Â --> success with destTrack == 2 & *_ST_0_perm == trainNum & *_ST_2_perm == trainNum / i_arrOnTrack = 2}}} 359 - 360 -{{{Â Â Â Â Â --> success with destTrack == 3 & *_ST_0_perm == trainNum & *_ST_3_perm == trainNum / i_arrOnTrack = 3}}} 361 - 362 -{{{Â Â Â Â Â --> success with *_ST_0_perm == trainNum & *_ST_1_perm == trainNum / i_arrOnTrack = 1}}} 363 - 364 -{{{Â Â Â Â Â --> success with *_ST_0_perm == trainNum & *_ST_2_perm == trainNum / i_arrOnTrack = 2}}} 365 - 366 -{{{Â Â Â Â Â --> success with *_ST_0_perm == trainNum & *_ST_3_perm == trainNum / i_arrOnTrack = 3}}} 367 - 368 -{{{Â Â Â Â Â --> resolving with *_ST_0_perm == trainNum | *_ST_3_perm == trainNum | *_ST_2_perm == trainNum | *_ST_1_perm == trainNum;}}} 369 - 370 -{{{Â }}} 371 - 372 -{{{Â Â Â Â Â state resolving}}} 373 - 374 -{{{Â Â Â Â Â --> resolving1;}}} 375 - 376 -{{{Â }}} 377 - 378 -{{{Â Â Â Â Â state resolving1 {}}} 379 - 380 -{{{Â Â Â Â Â Â Â entry / *_ST_0_req[trainNum] = false;}}} 381 - 382 -{{{Â Â Â Â Â Â Â entry / *_ST_1_req[trainNum] = false;}}} 383 - 384 -{{{Â Â Â Â Â Â Â entry / *_ST_2_req[trainNum] = false;}}} 385 - 386 -{{{Â Â Â Â Â Â Â entry / *_ST_3_req[trainNum] = false;}}} 387 - 388 -{{{Â Â Â Â Â }}}} 389 - 390 -{{{Â Â Â Â Â --> checking;}}} 391 - 392 -{{{Â }}} 393 - 394 -{{{Â Â Â Â Â state success}}} 395 - 396 -{{{Â Â Â Â Â --> success1;}}} 397 - 398 -{{{Â }}} 399 - 400 -{{{Â Â Â Â Â final state success1 {}}} 401 - 402 -{{{Â Â Â Â Â Â Â entry !(i_arrOnTrack == 1) / *_ST_1_req[trainNum] = false;Â Â Â Â Â }}} 403 - 404 -{{{Â Â Â Â Â Â Â entry !(i_arrOnTrack == 2) / *_ST_2_req[trainNum] = false;}}} 405 - 406 -{{{Â Â Â Â Â Â Â entry !(i_arrOnTrack == 3) / *_ST_3_req[trainNum] = false;}}} 407 - 408 -{{{Â Â Â Â Â Â Â entry / perm_all_next_segments = true;}}} 409 - 410 -{{{Â Â Â Â Â };}}} 411 - 412 -{{{Â }>-> *_LN_5_*_ST;}}} 413 - 414 -{{{Â }}} 415 - 416 -{{{Â state *_LN_5_*_ST}}} 417 - 418 -{{{Â --> Arr_*_ST with i_arrOnTrack == 1 & 'railContact(*_ST_1,0)'}}} 419 - 420 -{{{Â --> Arr_*_ST with i_arrOnTrack == 2 & 'railContact(*_ST_2,0)'}}} 421 - 422 -{{{Â --> Arr_*_ST with i_arrOnTrack == 3 & 'railContact(*_ST_3,0)';}}} 423 - 424 -{{{Â }}} 425 - 426 -{{{Â state Arr_*_ST {}}} 427 - 428 -{{{Â Â Â entry / 'railSignal(*_LN_5, FWD, RED)';}}} 429 - 430 -{{{Â Â Â entry / 'railTrackOff(*C_LN_5)';}}} 431 - 432 -{{{Â Â Â entry / 'railTrack(*_ST_0,FWD,trainNum,SLOW)';}}} 433 - 434 -{{{Â Â Â entry i_arrOnTrack == 1 / 'railTrack(*_ST_1,FWD,trainNum,SLOW)';}}} 435 - 436 -{{{Â Â Â entry i_arrOnTrack == 2 / 'railTrack(*_ST_2,FWD,trainNum,SLOW)';}}} 437 - 438 -{{{Â Â Â entry i_arrOnTrack == 3 / 'railTrack(*_ST_3,FWD,trainNum,SLOW)';}}} 439 - 440 -{{{Â Â Â entry / *_LN_5_req[trainNum] = false;}}} 441 - 442 -{{{Â }}} 443 - 444 -{{{Â Â Â initial state SlowEntry}}} 445 - 446 -{{{Â Â Â --> Slow with i_arrOnTrack == 1 & 'railContact(*_ST_1,0)'}}} 447 - 448 -{{{Â Â Â --> Slow with i_arrOnTrack == 2 & 'railContact(*_ST_2,0)'}}} 449 - 450 -{{{Â Â Â --> Slow with i_arrOnTrack == 3 & 'railContact(*_ST_3,0)';}}} 451 - 452 -{{{Â }}} 453 - 454 -{{{Â Â Â state Slow {}}} 455 - 456 -{{{Â Â Â Â Â entry / 'railTrackOff(*_ST_0)';}}} 457 - 458 -{{{Â Â Â Â Â entry / *_ST_0_req[trainNum] = false;}}} 459 - 460 -{{{Â Â Â }}}} 461 - 462 -{{{Â Â Â --> Halt with i_arrOnTrack == 1 & 'railContact(*_ST_1,1)'}}} 463 - 464 -{{{Â Â Â --> Halt with i_arrOnTrack == 2 & 'railContact(*_ST_2,1)'}}} 465 - 466 -{{{Â Â Â --> Halt with i_arrOnTrack == 3 & 'railContact(*_ST_3,1)';}}} 467 - 468 -{{{Â }}} 469 - 470 -{{{Â Â Â final state Halt {}}} 471 - 472 -{{{Â Â Â Â Â entry i_arrOnTrack == 1 / 'railTrackBrake(*_ST_1)';}}} 473 - 474 -{{{Â Â Â Â Â entry i_arrOnTrack == 2 / 'railTrackBrake(*_ST_2)';}}} 475 - 476 -{{{Â Â Â Â Â entry i_arrOnTrack == 3 / 'railTrackBrake(*_ST_3)';}}} 477 - 478 -{{{Â Â Â Â Â entry i_arrOnTrack == 1 / 'railArrival(trainNum, *_ST_1)';}}} 479 - 480 -{{{Â Â Â Â Â entry i_arrOnTrack == 2 / 'railArrival(trainNum, *_ST_2)';}}} 481 - 482 -{{{Â Â Â Â Â entry i_arrOnTrack == 3 / 'railArrival(trainNum, *_ST_3)';}}} 483 - 484 -{{{Â Â Â };}}} 485 - 486 -{{{Â }}}} 487 - 488 -{{{Â >-> done;}}} 489 - 490 -{{{Â }}} 491 - 492 -{{{Â state done}}} 493 - 494 -{{{Â --> reallyDone with 'railDeparture(trainNum)';}}} 495 - 496 -{{{Â }}} 497 - 498 -{{{Â final state reallyDone;}}} 499 -)))|=((( 500 -~/~/ All permissiions variables 501 - 502 -~/~/ All request variables 503 - 504 -~/~/ Train number 505 - 506 -~/~/ Departure track number 507 - 508 -~/~/ Destination track number 509 - 510 -~/~/ Cleanup flag for selecting the track of destination 511 - 512 -~/~/ Debug flag for additional output 513 - 514 -~/~/ Arrival track 515 - 516 -~/~/ Variable (arrival track) for selecting correct station elements 517 - 518 - 519 - 520 -~/~/ Handles departing from a station 521 - 522 -~/~/ Additional output for debugging 523 - 524 - 525 - 526 -~/~/ State, which set requests for needed tracks 527 - 528 - 529 - 530 - 531 - 532 - 533 - 534 -~/~/ Transition for received **all** needed permissions 535 - 536 -~/~/ Tranisition for received **some** needed permissions 537 - 538 - 539 - 540 -~/~/ State for waiting an additional Tick 541 - 542 - 543 - 544 - 545 - 546 -~/~/ State, which releases the requests for needed tracks 547 - 548 - 549 - 550 - 551 - 552 - 553 - 554 -~/~/ Transition to trying the requesting again 555 - 556 - 557 - 558 - 559 - 560 - 561 - 562 -~/~/ Transition to the departure state 563 - 564 - 565 - 566 -~/~/ State, which handles the train departure 567 - 568 -~/~/ Set of entry-Actions to set tracks, points and signals according to depTrack 569 - 570 - 571 - 572 - 573 - 574 - 575 - 576 - 577 - 578 - 579 - 580 - 581 - 582 - 583 -~/~/ Transition to next track segment, if contact is readed 584 - 585 - 586 - 587 -~/~/ State for handling the train on track *_LN_0 588 - 589 -~/~/ Outputs for debugging 590 - 591 - 592 - 593 -~/~/ Entry-Actions to set the previous signals to RED 594 - 595 - 596 - 597 - 598 - 599 -~/~/ Requesting the next segment 600 - 601 - 602 - 603 -~/~/ Region for handling train driving 604 - 605 - 606 - 607 -~/~/ Transition to continuing state, if permitted 608 - 609 -~/~/ Transition to slowing down else 610 - 611 - 612 - 613 -~/~/ State for slowing down 614 - 615 -~/~/ Addtitional output for debugging 616 - 617 -~/~/ Entry-Action for slowing down the train 618 - 619 - 620 - 621 -~/~/ Transition to waiting state 622 - 623 -~/~/ Transition to continuing state, if permitted 624 - 625 - 626 - 627 -~/~/ Waiting state 628 - 629 -~/~/ Addtitional output for debugging 630 - 631 -~/~/ Entry-Action for stopping the train 632 - 633 - 634 - 635 -~/~/ Tranisition to continuing state 636 - 637 - 638 - 639 -~/~/ State to continuing driving on the track 640 - 641 -~/~/ Addtitional output for debugging 642 - 643 -~/~/ Entry-Actions to set tracks and signals for driving 644 - 645 - 646 - 647 - 648 - 649 - 650 - 651 - 652 - 653 - 654 - 655 -~/~/ Region for handling cleanup-functionalities 656 - 657 - 658 - 659 -~/~/ Transition to cleanup state 660 - 661 - 662 - 663 -~/~/ Cleanup state 664 - 665 -~/~/ Addtitional output for debugging 666 - 667 -~/~/ Entry-Action to switching off the previous track 668 - 669 -~/~/ Entry-Action to release the previous track 670 - 671 - 672 - 673 -~/~/ Transition to transitional state 674 - 675 - 676 - 677 -~/~/ Transitional state 678 - 679 -~/~/ Transition to next track segment, if contact is readed 680 - 681 - 682 - 683 - 684 - 685 - 686 - 687 - 688 - 689 - 690 - 691 -~/~/ State for entering a station 692 - 693 -~/~/ Variable for checking all needed permissions 694 - 695 -~/~/ Output 696 - 697 -~/~/ Setting signal to RED 698 - 699 - 700 - 701 -~/~/ Region for handling train driving 702 - 703 - 704 - 705 -~/~/ Transition to continuing state, if permitted 706 - 707 -~/~/ Transition to slowing down else 708 - 709 - 710 - 711 -~/~/ State for slowing down 712 - 713 -~/~/ Addtitional output for debugging 714 - 715 -~/~/ Entry-Action for slowing down the train 716 - 717 - 718 - 719 -~/~/ Transition to waiting state 720 - 721 -~/~/ Transition to continuing state, if permitted 722 - 723 - 724 - 725 -~/~/ Waiting state 726 - 727 -~/~/ Addtitional output for debugging 728 - 729 -~/~/ Entry-Action for stopping the train 730 - 731 - 732 - 733 -~/~/ Tranisition to continuing state 734 - 735 - 736 - 737 -~/~/ State to continuing driving on the track 738 - 739 -~/~/ Addtitional output for debugging 740 - 741 -~/~/ Set of entry-Actions for setting tracks, points and signals according to i_arrOnTrack 742 - 743 - 744 - 745 - 746 - 747 - 748 - 749 -~/~/ Setting the arrival track (output) 750 - 751 - 752 - 753 - 754 - 755 -~/~/ Region for handling cleanup-functionalities 756 - 757 - 758 - 759 -~/~/ Transition to cleanup state 760 - 761 - 762 - 763 -~/~/ Cleanup state 764 - 765 -~/~/ Addtitional output for debugging 766 - 767 -~/~/ Entry-Action to switching off the previous tracks 768 - 769 -~/~/ Entry-Action to release the previous tracks 770 - 771 - 772 - 773 - 774 - 775 -~/~/ Region for handling permissions of all needed tracks 776 - 777 -~/~/ State for requesting all needed tracks according to destination track and cleanup-Flag 778 - 779 - 780 - 781 - 782 - 783 - 784 - 785 - 786 - 787 - 788 - 789 -~/~/ Transitions for permitted tracks match wished tracks 790 - 791 - 792 - 793 - 794 - 795 -~/~/ Transitions for permitted tracks don't match wished tracks 796 - 797 - 798 - 799 - 800 - 801 -~/~/ Transition for not all tracks permitted 802 - 803 - 804 - 805 -~/~/ State for waiting an additional tick 806 - 807 - 808 - 809 - 810 - 811 -~/~/ State for releasing track requests 812 - 813 - 814 - 815 - 816 - 817 - 818 - 819 - 820 - 821 - 822 - 823 -~/~/ Transition for trying the requesting again 824 - 825 - 826 - 827 -~/~/ State for waiting an additional tick 828 - 829 - 830 - 831 - 832 - 833 -~/~/ State for releasing not used track requests and 834 - 835 - 836 - 837 - 838 - 839 - 840 - 841 -~/~/ Settting perm_all_next_segments to true 842 - 843 - 844 - 845 -~/~/ Transition to station entry states 846 - 847 - 848 - 849 -~/~/ State waiting for station entry 850 - 851 - 852 - 853 - 854 - 855 - 856 - 857 - 858 - 859 -~/~/ State for setting tracks, points and signals according to i_arrOnTrack 860 - 861 -~/~/ and releasing previous track request 862 - 863 - 864 - 865 - 866 - 867 - 868 - 869 - 870 - 871 - 872 - 873 - 874 - 875 - 876 - 877 -~/~/ State for slowing down, if train completely on track 878 - 879 - 880 - 881 - 882 - 883 - 884 - 885 - 886 - 887 -~/~/ State for switching off previous track and releasing the request 888 - 889 - 890 - 891 - 892 - 893 - 894 - 895 -~/~/ Transitions to halt states, if train at second contact of a track 896 - 897 - 898 - 899 - 900 - 901 - 902 - 903 - 904 - 905 -~/~/ Entry-Actions for braking the train on correct track 906 - 907 - 908 - 909 - 910 - 911 -~/~/ Entry-Actions for waiting for timer on correct track 912 - 913 - 914 - 915 - 916 - 917 - 918 - 919 - 920 - 921 - 922 - 923 - 924 - 925 - 926 - 927 -~/~/ Transition to final state, if timer is ready 928 -)))
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -947163 91 +9471637 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/947163 9/Basic design1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471637/Basic design