Hide last authors
Soeren Domroes 1.1 1 This is a rough concept of the aspects that should/can be covered in this project.
2
3 **SCCharts Railway Controller**
4
Soeren Domroes 4.1 5 * **SCCharts Railway Controller**
6 The Controller from the previous railway project was nice, but you can surely make a better one.
Niklas Rentz 7.1 7 Goal is to develop a modular controller using inheritance that can schedule as many trains as possible (max. 11).
Niklas Rentz 8.1 8 Modular means that you should be able to write unit tests or do model checking for small components, e.g. a point or a station.
9 For this project, all previous documentation and SCCharts are available for inspection.
Soeren Domroes 12.1 10 The environment simulation developed in the [[Railway Project 2017>>doc:Projects.Archive.Railway Project - Summer Term 2017.WebHome||shape="rect"]] should be used as an interface.
Soeren Domroes 6.1 11 * **Railway Simulation and Visualization**
12 At the end of the project the controller should be testable with the existing environment and your modular controller inside KIELER or KEITH.
Soeren Domroes 1.1 13
14 [[image:attach:dynamicScheduling.png]][[image:attach:ICIC.png]][[image:attach:overview.png]]
15
16 [[image:attach:020-Lego5.png]]
17
18 [[image:attach:2007-3.jpg]][[image:attach:2007-4.jpg]][[image:attach:gleisplan.png]]
19
Niklas Rentz 8.1 20 **Optional / Additional Aspects:**
Soeren Domroes 4.1 21
22 * **Railway Modeling DSL**
Niklas Rentz 5.1 23 Philip Eumann developed a [[DSL for railway control>>url:https://rtsys.informatik.uni-kiel.de/~~biblio/downloads/theses/peu-bt.pdf||shape="rect"]]. Use it.
Richard Kreissig 11.1 24
Soeren Domroes 4.1 25 * **Lighthouses**
26 Extend your controller to be able to control the two [[mini-lighthouses>>url:https://rtsys.informatik.uni-kiel.de/confluence/display/RTProjectSS16||shape="rect"]] in H0 scale that were build In a previous student project
27 They should be included in the railway installation physically.
Richard Kreissig 11.1 28
Soeren Domroes 4.1 29 * **Train Tracking**
Niklas Rentz 8.1 30 Develop a method to identify the positions of the trains from start, giving the controller the information which train is where on the track.
Richard Kreissig 11.1 31
Niklas Rentz 8.1 32 * **Dataflow or Hybrid Model**
Soeren Domroes 6.1 33 Develop your controller or part of your controller in SCCharts dataflow.
Richard Kreissig 11.1 34
Soeren Domroes 6.1 35 * **Distributed SCCharts**
Niklas Rentz 8.1 36 Split up your SCChart model to be executable on independent segment controllers. Each Raspberry Pi should only run the code for the components it is controlling.
Richard Kreissig 11.1 37
Niklas Rentz 8.1 38 * **Multiple Controllers**
Soeren Domroes 6.1 39 Enable the railway system to support the execution of multiple controllers at once.
Richard Kreissig 11.1 40
Soeren Domroes 6.1 41 * **Model Checking**
Niklas Rentz 8.1 42 Use model checking to validate your controller.
Soeren Domroes 1.1 43
Richard Kreissig 11.1 44