Wiki source code of Concept
Last modified by Soeren Domroes on 2025/01/30 12:19
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
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 | |||
![]() |
4.1 | 5 | * **SCCharts Railway Controller** |
6 | The Controller from the previous railway project was nice, but you can surely make a better one. | ||
![]() |
7.1 | 7 | Goal is to develop a modular controller using inheritance that can schedule as many trains as possible (max. 11). |
![]() |
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. | ||
![]() |
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. |
![]() |
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. | ||
![]() |
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 | |||
![]() |
8.1 | 20 | **Optional / Additional Aspects:** |
![]() |
4.1 | 21 | |
22 | * **Railway Modeling DSL** | ||
![]() |
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. |
![]() |
11.1 | 24 | |
![]() |
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. | ||
![]() |
11.1 | 28 | |
![]() |
4.1 | 29 | * **Train Tracking** |
![]() |
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. |
![]() |
11.1 | 31 | |
![]() |
8.1 | 32 | * **Dataflow or Hybrid Model** |
![]() |
6.1 | 33 | Develop your controller or part of your controller in SCCharts dataflow. |
![]() |
11.1 | 34 | |
![]() |
6.1 | 35 | * **Distributed SCCharts** |
![]() |
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. |
![]() |
11.1 | 37 | |
![]() |
8.1 | 38 | * **Multiple Controllers** |
![]() |
6.1 | 39 | Enable the railway system to support the execution of multiple controllers at once. |
![]() |
11.1 | 40 | |
![]() |
6.1 | 41 | * **Model Checking** |
![]() |
8.1 | 42 | Use model checking to validate your controller. |
![]() |
1.1 | 43 | |
![]() |
11.1 | 44 |