<
From version < 9.1 >
edited by cbu
on 2014/05/12 21:16
To version < 8.1 >
edited by cbu
on 2014/05/12 19:29
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -15,7 +15,7 @@
15 15  
16 16  
17 17  
18 -**The following goals should definitely be reached (if we get modules in Kieler):**
18 +**The following goals were defined:**
19 19  
20 20  * At least 5 trains can drive on the track at the same time
21 21  * A "cleanup" function for trains should drive all trains to their original position
... ... @@ -24,47 +24,18 @@
24 24  * All signals are working correctly
25 25  * Gates should close, when a train is coming, and open again afterwards
26 26  
27 -**In addition, the following optional goals might be reached, if there is enough time:**
27 +**Additionally the following optional goals were defined:**
28 28  
29 29  * Deadlock avoidance: Trains should never run into a deadlock
30 30  * Cleanup function: All Trains which are still on the track travel to their next destination and afterwards they take the shortest way home
31 -* (((
32 -Trains should drive slowly at the points
33 -)))
31 +* Trains should drive slowly at the points
34 34  
35 -**Road Map:**
33 +
36 36  
37 -{{code}}
38 -13.5. Presentation
39 -27.5. Station-Station Controller + C-Interface
40 -17.6. Integrationstesting
41 -24.6. Defined testcases with stopflag
42 -01.7. Schedules for trains are working
35 +
43 43  
44 -cw 34 Final presentation
45 -cw 35 Excursion to Miniatur Wunderland
46 -{{/code}}
37 +=== Sample Pass for one Track ===
47 47  
48 -**
49 -**
50 -
51 -**Work distribution: **
52 -
53 -**
54 -**
55 -
56 -**Implementation in short:**
57 -
58 -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.
59 -
60 -=== **Implementation in detail:** ===
61 -
62 -**Basic Track:**
63 -
64 -The behaviours of a basic track is described as follows:
65 -
66 -**Sample Pass for one Track (in pseudocode)**
67 -
68 68  {{code linenumbers="true"}}
69 69  state Foo
70 70  --> Gleissegment with contact(Segment,0)
... ... @@ -98,54 +98,30 @@
98 98  }
99 99  {{/code}}
100 100  
101 -Behaviour modeled in an SCChart (without deadlock prevention):
72 +=== Roadmap ===
102 102  
103 -[[image:attach:csp_default_pass.png]]
74 +{{code}}
75 +13.5. Präsentation Annahme: Wir bekommen Interface für Module
76 +27.5. Station-Station Controller + C-Interface
77 +17.6. Integrationstests
78 +24.6. Definierte Testfälle mit Stoppflag
79 +01.7. Fahrpläne
104 104  
105 -=== Station-Station Modules ===
81 +KW 34 Abschlusspräsentation
82 +KW 35 Exkursion Miniatur Wunderland
83 +{{/code}}
106 106  
107 -Input: Zugnummer, Startgleis, Zielgleis, Cleanup, (Mutex Variablen?)
108 -Output: "Echtes" Zielgleis (Ausweichgleis?)
85 +== Interfaces ==
109 109  
110 -Modules needed:
111 -
112 -* KH-KH
113 -* KH-KH (other way round)
114 -* KH-IC
115 -* IC-KH
116 -* KH-OC
117 -* OC-KH
118 -* IC-IC
119 -* IC-OC
120 -* OC-IC
121 -* OC-OC
122 -
123 -
124 -
125 -**Example for track segment requests (with 2 trains):**
126 -
127 -=== [[image:attach:nbw-mutex-sct.png]] ===
128 -
129 129  === C-Interface ===
130 130  
131 -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.
89 +klar
132 132  
133 -
91 +=== Station-Station Module ===
134 134  
135 -**Test cases: **
93 +Input: Zugnummer, Startgleis, Zielgleis, Cleanup, (Mutex Variablen?)
94 +Output: "Echtes" Zielgleis (Ausweichgleis?)
136 136  
137 -Our Implementation should pass the following simple tests:
96 +== Organisation ==
138 138  
139 -1. 3 trains travel from KH-Station to KH-Station in the main travel direction and 2 trains travel from KH-Station to KH-Station into the other direction. A possible problem might be the KH-Pass.
140 -1. 3 trains travel from IC-Station to IC-Station and 1 train travels from OC-Station via IC-Station to OC-Station. This test case tests the behavior of the IC_JCT.
141 -1. 3 trains travel from OC-Station to OC-Station and 1 train travels from IC-Station via OC-Station to IC-Station. This test case tests the behavior of the OC_JCT.
142 -1. 2 trains travel from IC-Station to IC-Station and 2 trains travel from OC-Station to OC-Station and 1 train travels from KH-Station via IC-Station to KH-Station. The problem here might arise from KIO_LN to IC_ST and from IC_ST to KIO_LN.
143 -1. Cleanup
144 -
145 -
146 -
147 -== Organization ==
148 -
149 -Meetings: Every Wednesday at 4 pm.
150 -
151 -
98 +Regelmäßiges Treffen Mittwochs 16:00
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9470776
1 +9470774
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9470776/Project goals
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9470774/Project goals