@inproceedings{MitrevskiPloeger2019, author = {Alex Mitrevski and Paul G. Pl{\"o}ger}, title = {Reusable Specification of State Machines for Rapid Robot Functionality Prototyping}, series = {Chalup, Niemueller et al. (Eds.): RoboCup 2019: Robot World Cup XXIII. Proceedings of the 23rd RoboCup International Symposium, 8 July 2019, Sydney, Australia. Lecture Notes in Computer Science (LNCS), Vol 11531}, publisher = {Springer International Publishing}, address = {Cham}, isbn = {978-3-030-35698-9}, doi = {10.1007/978-3-030-35699-6\_32}, pages = {408 -- 417}, year = {2019}, abstract = {When developing robot functionalities, finite state machines are commonly used due to their straightforward semantics and simple implementation. State machines are also a natural implementation choice when designing robot experiments, as they generally lead to reproducible program execution. In practice, the implementation of state machines can lead to significant code repetition and may necessitate unnecessary code interaction when reparameterisation is required. In this paper, we present a small Python library that allows state machines to be specified, configured, and dynamically created using a minimal domain-specific language. We illustrate the use of the library in three different use cases - scenario definition in the context of the RoboCup@Home competition, experiment design in the context of the ROPOD project, as well as specification transfer between robots.}, language = {en} }