Changes for page Interfaces and Rulesets

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

From version 3.1
edited by nbw
on 2014/06/20 10:04
Change comment: There is no comment for this version
To version 7.1
edited by nbw
on 2014/07/02 16:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,7 +10,7 @@
10 10  ** Apart from identification the trainnumber is used for prioritization, when multiple trains compete for the same track.
11 11  ** Lower numbers mean higher priorities, e.g. train 0 has the highest priority.
12 12  ** Priorities can't be changed dynamicly.
13 -* Each train has one home-track at each station.
13 +* Each train has one home-track.
14 14  * For binding purposes the variable should have the name **trainNum**.
15 15  
16 16  The numbering is derived from the initial positions of the trains.
... ... @@ -93,44 +93,47 @@
93 93  
94 94  === Stations ===
95 95  
96 -* Each station has one drive-through track for each possible direction:
96 +* --Each station has one drive-through track for each possible direction:--
97 97  
98 98  |=(% style="margin-left: 60.0px;" %)(% style="margin-left: 60.0px;" %)
99 99  (((
100 -station
100 +--station--
101 101  )))|=(% style="margin-left: 30.0px;" %)(% style="margin-left: 30.0px;" %)
102 102  (((
103 -drive-through track
103 +--drive-through track--
104 104  )))
105 105  (% style="margin-left: 30.0px;" %)|(% style="margin-left: 30.0px;" %)(% style="margin-left: 30.0px;" %)
106 106  (((
107 -IC_station
107 +--IC_station--
108 108  )))|(% style="margin-left: 30.0px;" %)(% style="margin-left: 30.0px;" %)
109 109  (((
110 -IC_ST_1
110 +--IC_ST_1--
111 111  )))
112 112  (% style="margin-left: 30.0px;" %)|(% style="margin-left: 30.0px;" %)(% style="margin-left: 30.0px;" %)
113 113  (((
114 -OC_station
114 +--OC_station--
115 115  )))|(% style="margin-left: 30.0px;" %)(% style="margin-left: 30.0px;" %)
116 116  (((
117 -OC_ST_3
117 +--OC_ST_3--
118 118  )))
119 119  (% style="margin-left: 30.0px;" %)|(% style="margin-left: 30.0px;" %)(% style="margin-left: 30.0px;" %)
120 120  (((
121 -KH_station
121 +--KH_station--
122 122  )))|(% style="margin-left: 30.0px;" %)(% style="margin-left: 30.0px;" %)
123 123  (((
124 -KH_ST_5
124 +--KH_ST_5--
125 125  )))
126 126  (% style="margin-left: 30.0px;" %)|(% colspan="1" style="margin-left: 30.0px;" %)(% colspan="1" style="margin-left: 30.0px;" %)
127 127  (((
128 -KH_station(r)
128 +--KH_station(r)--
129 129  )))|(% colspan="1" style="margin-left: 30.0px;" %)(% colspan="1" style="margin-left: 30.0px;" %)
130 130  (((
131 -KH_ST_1
131 +--KH_ST_1--
132 132  )))
133 133  
134 +* If the preferred station track is blocked the trains can switch to any other free track.
135 +While **cleanup** is active the trains on IC_ST_1, OC_ST_3 or KH_ST_1 circle until all tracks are done.
136 +
134 134  == Rulesets ==
135 135  
136 136  === Logging ===
... ... @@ -146,3 +146,12 @@
146 146  
147 147  * Use entry-/exit-actions instead of actions on transitions, if possible.
148 148  * If using hostcode, only use functions delivered by our own C-Interface and not the Höhrmann-API.
152 +
153 +=== Deadlock Prevention ===
154 +
155 +* When attempting to reserve more than one segment (Entering a station, passing a junction) a separate protocol for deadlock prevention must be adhered to.
156 +* In each tick the controller must check if only partial permissions were granted.
157 +* If partial permission was granted the train waits for one tick and releases all locks.
158 +* In the following tick the locks are requested again.
159 +* As a special case the controllers passing through KIO_LN_0 or KIO_LN_1 must wait an additional tick after releasing the requests.
160 +* A sample controller can be found in the repository at [[/doc/deadlocks/resolve_deadlock.sct>>url:https://git.rtsys.informatik.uni-kiel.de/projects/PRAK/repos/14ss-railway/browse/doc/deadlocks/resolve_deadlock.sct||shape="rect"]]
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471035
1 +9471532
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471035/Interfaces and Rulesets
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471532/Interfaces and Rulesets