[Pragmatics] Visual Editing of the Model Railway DSL
A demonstrator for a larger embedded system that we maintain is the model railway [1, 2], where individual controllers can control up to eleven trains. We use this model railway for various projects, theses, and also for showing computer science to other people on the Girls' Day and the "Schnupperstudium". To provide easy access to the model railway, without the need to code low-level C, the (potential) students can define the train behavior using a high-level domain-specific language (DSL) called RailSL [3].
Visual representations of programs can help developers to understand the meaning of the program and to get an overview with a different representation. However, such representations can be automatically generated from the underlying textual source, thus enabling the use of the advantages of textual and graphical representations and their interaction, which we also define as modeling pragmatics [4].
Designing and implementing such a visualization with diagramming frameworks for the RailSL language enables us to utilize and evaluate the modeling pragmatics approach in a new domain and to better convey such programs.
Goals
- Design a graphical representation for the RailSL language
- Implement diagram interaction for exploration and editing
- Evaluate the new user experience with students from the Girls' Day or "Schnupperstudium"
Scope
Master's/Bachelor's Thesis
Related Work/Literature
[1] Nis Wechselberg, "Model Railway 4.0 – A Demonstrator for Interactive Timing Analysis," https://rtsys.informatik.uni-kiel.de/~biblio/downloads/theses/nbw-mt.pdf. Master's Thesis. Kiel University, Department of Computer Science, Mar. 2015.
[2] https://www.rtsys.informatik.uni-kiel.de/en/teaching/modelrailway1
[3] Philip Eumann, "A Domain-Specific Language for Railway Control," https://rtsys.informatik.uni-kiel.de/~biblio/downloads/theses/peu-bt.pdf. Bachelor's Thesis. Kiel University, Department of Computer Science, Sep. 2017.
[4] H. Fuhrmann and R. von Hanxleden, “On the pragmatics of model-based design,” in Proceedings of the 15th Monterey Workshop 2008 on the Foundations of Computer Software. Future Trends and Techniques for Development, Revised Selected Papers, ser. LNCS, vol. 6028. Budapest, HR: Springer, 2010, pp. 116–140.
Involved Languages/Technologies
- Java / Xtend and TypeScript
- Diagramming Frameworks such as KLighD and Sprotty
- Automatic Layout with ELK
Supervised by
Niklas Rentz
nre@informatik.uni-kiel.de