  Controllers for autonomous robotic systems can be specified using state
machines. However, these are typically developed in an ad hoc manner without
formal semantics, which makes it difficult to analyse the controller.
Simulations are often used during the development, but a rigorous connection
between the designed controller and the implementation is often overlooked.
This paper presents a state-machine based notation, RoboChart, together with a
tool to automatically create code from the state machines, establishing a
rigorous connection between specification and implementation. In RoboChart, a
robot's controller is specified either graphically or using a textual
description language. The controller code for simulation is automatically
generated through a direct mapping from the specification. We demonstrate our
approach using two case studies (self-organized aggregation and swarm taxis) in
swarm robotics. The simulations are presented using two different simulators
showing the general applicability of our approach.
