Train Control Language – Teaching Computers Interlocking
Free (open access)
651 - 660
J. Endresen, E. Carlson, T. Moen, K. J. Alme, Ø. Haugen, G. K. Olsen & A. Svendsen
Computer specialists are rarely trained in the world of tracks and trains, while signaling experts are rarely computer specialists. This paper is about bridging the gap between trains and computers with a specially designed language that enables the signaling experts to create consistent train interlocking systems. The language is supported by tailored tools created with open source technology on the development platform Eclipse. From the formal definition of the language in the form of a metamodel, a graphical editor is generated. The systems created with that graphic editor are then transformed for several purposes that are internally consistent. The editor makes sure that the systems conform to the language, and the language makes sure that the systems conform to the way interlockings are designed. The transformations then produce interlocking tables and even actual code automatically from the graphically created model. Keywords: interlocking, Computer Based Interlocking (CBI), code generation, Domain Specific Language (DSL), eclipse. 1 Introduction A railway interlocking system is a system that prevents conflicting and dangerous train movements through a network of tracks and ensures that no clear signal is given to a train unless the requested route is safe and locked. Today all new interlocking systems are computer based (CBI). Configuring the interlocking system for a particular station has been a manual process requiring multiple steps from creating and verifying the requirements (e.g. interlocking tables) to validating the final code. This paper describes a Domain Specific
interlocking, Computer Based Interlocking (CBI), code generation, Domain Specific Language (DSL), eclipse.