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