TY - GEN
T1 - Synthesis of railway-signaling plans using reachability games
AU - Kasting, Patrick Frederik Soelmark
AU - Hansen, Michael Reichhardt
AU - Vester, Steen
PY - 2016
Y1 - 2016
N2 - In this work, we show the feasibility of using functional programming (more specifically F#) in connection with gamebased methods for synthesis of correct-by-construction controllers (also called signaling plans) for railway networks. This is a massively resource-demanding application. A model for railway networks comprising trains, signals, linear sections, and points is established together with a domain-specific language capturing the important concepts in the model. A translation from railway network models to two-player reachability games is provided. In these games, the existential player (the control system) controls signals and points and the universal player (the antagonistic environment) controls movement of trains. A winning strategy for the existential player provides a signaling plan that will safely guide trains through the network. The concepts from the railway network model and the twoplayer reachability game are captured, in a natural manner, by type declarations in F#. Furthermore, the F# translation functions are formulated in a manner that is close to the mathematical formulations. This increases confidence in the correctness of the implementation and it decreases the development time. Imperative features of F# proved useful in two places: Hash tables and arrays were used in the representations of the railway network model and the reachability game. This allowed for more compact representations and a more efficient game solver (providing the winning strategy). Experiments show that we are able to synthesize signaling plans for real railway networks of substantial size.
AB - In this work, we show the feasibility of using functional programming (more specifically F#) in connection with gamebased methods for synthesis of correct-by-construction controllers (also called signaling plans) for railway networks. This is a massively resource-demanding application. A model for railway networks comprising trains, signals, linear sections, and points is established together with a domain-specific language capturing the important concepts in the model. A translation from railway network models to two-player reachability games is provided. In these games, the existential player (the control system) controls signals and points and the universal player (the antagonistic environment) controls movement of trains. A winning strategy for the existential player provides a signaling plan that will safely guide trains through the network. The concepts from the railway network model and the twoplayer reachability game are captured, in a natural manner, by type declarations in F#. Furthermore, the F# translation functions are formulated in a manner that is close to the mathematical formulations. This increases confidence in the correctness of the implementation and it decreases the development time. Imperative features of F# proved useful in two places: Hash tables and arrays were used in the representations of the railway network model and the reachability game. This allowed for more compact representations and a more efficient game solver (providing the winning strategy). Experiments show that we are able to synthesize signaling plans for real railway networks of substantial size.
KW - Computer Programming
KW - Computer Programming Languages
KW - Information Sources and Analysis
KW - Applied Mathematics
KW - Computer programming languages
KW - Functions
KW - Problem oriented languages
KW - Railroads
KW - Signaling
KW - Translation (languages)
KW - Transportation
KW - Compact representation
KW - Correct-by-construction
KW - Development time
KW - Domain specific languages
KW - Imperative features
KW - Mathematical formulation
KW - Railway signaling
KW - Translation functions
KW - Functional programming
U2 - 10.1145/3064899.3064908
DO - 10.1145/3064899.3064908
M3 - Article in proceedings
SN - 9781450347679
VL - Part F127410
T3 - Acm Int. Conf. Proc. Ser
BT - 28th Symposium on the Implementation and Application of Functional Programming Languages,
PB - Association for Computing Machinery
T2 - 28th Symposium on the Implementation and Application of Functional Programming Languages
Y2 - 31 August 2016 through 2 September 2016
ER -