<
From version < 11.1 >
edited by cbu
on 2014/05/12 21:26
To version < 10.1 >
edited by cbu
on 2014/05/12 21:22
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -13,7 +13,7 @@
13 13  Remember, you are going to present your controller at the end of the summer term! Getting this task done right is a very important step to succeed with your controller and this project!
14 14  {{/info}}
15 15  
16 -== **Goals** ==
16 +
17 17  
18 18  **The following goals should definitely be reached (if we get modules in Kieler):**
19 19  
... ... @@ -32,11 +32,8 @@
32 32  Trains should drive slowly at the points
33 33  )))
34 34  
35 -== **Road Map:** ==
35 +**Road Map:**
36 36  
37 -**
38 -**
39 -
40 40  {{code}}
41 41  13.5. Presentation
42 42  27.5. Station-Station Controller + C-Interface
... ... @@ -51,8 +51,11 @@
51 51  **
52 52  **
53 53  
54 -=== **Current work distribution: ** ===
51 +**Current work distribution: **
55 55  
53 +**
54 +**
55 +
56 56  |=(((
57 57  Task
58 58  )))|=(((
... ... @@ -89,11 +89,14 @@
89 89  Small groups, dynamic time schedule
90 90  )))
91 91  
92 -== **Implementation in short:** ==
92 +**
93 +**
93 93  
95 +**Implementation in short:**
96 +
94 94  The main idea is, that we have a universal model of the track segments. From these single track segments, track sections, that connect train stations are modeled and from those track sections, all final schedules for the trains should be build. On each track segment, there should be at most one train: In order to drive over a track, a train must request this track, and afterwards it must free it again (details below). If two trains request the same track section, the priority, which is derived from the train number, decides, which train gets the track section. A train must request all tracks until the next possibility to stop an wait in order to avoid collisions. If the train does not get all track segments, it must free them again in order to avoid deadlocks or delays of other trains. Deadlocks might occur at the exists of all train stations, and additionally, if one train with a low priority exists the Kicking-Horse-path while another train with a higher priority sends an entry-request. It remains to be seen, if additional deadlocks occur. Deadlocks can be resolved by using a superior Mutex-Controller.
95 95  
96 -== **Implementation in detail:** ==
99 +=== **Implementation in detail:** ===
97 97  
98 98  **Basic Track:**
99 99  
... ... @@ -140,8 +140,8 @@
140 140  
141 141  **Station-Station Modules**
142 142  
143 -Input: train number, departure track, destination track, Cleanup flag, (mutex variables necessary?)
144 -Output: "real" destination track (alternative destination track)
146 +Input: Zugnummer, Startgleis, Zielgleis, Cleanup, (Mutex Variablen?)
147 +Output: "Echtes" Zielgleis (Ausweichgleis?)
145 145  
146 146  Modules needed:
147 147  
... ... @@ -162,7 +162,7 @@
162 162  
163 163  === [[image:attach:nbw-mutex-sct.png]] ===
164 164  
165 -**C-Interface**
168 +=== C-Interface ===
166 166  
167 167  The C-Interface wraps some general functions, in order to prevent long and ugly host-code statements within the SCCharts. It especially hides the railway pointer. In addition, the C-Interface provides a persistent environment during a macro step. To bring in some randomness, the time, which a train has to wait in a station, is controlled by the C-Interface. Therefore, trains have to notify the interface about their arrival and their departure.
168 168  
... ... @@ -180,7 +180,7 @@
180 180  
181 181  
182 182  
183 -== **Organization** ==
186 +== Organization ==
184 184  
185 185  Meetings: Every Wednesday at 4 pm.
186 186  
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9470780
1 +9470778
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9470780/Project goals
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9470778/Project goals