From Formalised State Machines to Implementations of Robotic Controllers

  • Wei LiEmail author
  • Alvaro Miyazawa
  • Pedro Ribeiro
  • Ana Cavalcanti
  • Jim Woodcock
  • Jon Timmis
Part of the Springer Proceedings in Advanced Robotics book series (SPAR, volume 6)


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.



The authors would like to acknowledge the support from EPSRC grant EP/M025756/1.


  1. 1.
    Bergenti, F., Poggi, A.: Exploiting uml in the design of multi-agent systems. In: Omicini, A., Tolksdorf, R., Zambonelli, F. (eds.) Engineering Societies in the Agents World: First International Workshop, pp. 106–113. Springer, Berlin, Germany (2000)Google Scholar
  2. 2.
    Bjerknes, J.D., Winfield, A.F.T.: On fault tolerance and scalability of swarm robotic systems. In: Martinoli, A., Mondada, F., Correll, N., Mermoud, G., Egerstedt, M., Hsieh, A.M., Parker, E.L., Støy, K. (eds.) Distributed Autonomous Robotic Systems: The 10th International Symposium, pp. 431–444. Springer, Berlin, Germany (2013)Google Scholar
  3. 3.
    Brambilla, M., Pinciroli, C., Birattari, M., Dorigo, M.: Property-driven design for swarm robotics. In: Proceedings of 2012 International Conference on Autonomous Agents and Multiagent Systems, pp. 139–146. IFAAMS, Richland, SC, USA (2012)Google Scholar
  4. 4.
    Brambilla, M., Ferrante, E., Birattari, M., Dorigo, M.: Swarm robotics: a review from the swarm engineering perspective. Swarm Intell. 7(1), 1–41 (2013)CrossRefGoogle Scholar
  5. 5.
    Chen, J., Gauci, M., Li, W., Kolling, A., Groß, R.: Occlusion-based cooperative transport with a swarm of miniature mobile robots. IEEE Trans. Robot. 31(2), 307–321 (2015)CrossRefGoogle Scholar
  6. 6.
    Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., Ziane, M.: RobotML, a domain-specific language to design, simulate and deploy robotic applications. In: Noda, I., Ando, N., Brugali, D., Kuffner, J.J. (eds.) Simulation, Modeling, and Programming for Autonomous Robots, pp. 149–160. Springer, Berlin, Germany (2012)Google Scholar
  7. 7.
    Dixon, C., Winfield, A.F.T., Fisher, M., Zeng, C.: Towards temporal verification of swarm robotic systems. Robot. Auton. Syst. 60(11), 1429–1441 (2012)CrossRefGoogle Scholar
  8. 8.
    Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introdution to the SAE Architecture Analysis and Design Language. Addison-Wesley, Boston (2012)Google Scholar
  9. 9.
    Francesca, G., Brambilla, M., Brutschy, A., Garattoni, L., Miletitch, R., Podevijn, G., Reina, A., Soleymani, T., Salvaro, M., Pinciroli, C., Mascia, F., Trianni, V., Birattari, M.: AutoMoDe-Chocolate: a method for the automatic design of robot swarms that outperforms humans. Swarm Intell. 9(2–3), 125–152 (2015)CrossRefGoogle Scholar
  10. 10.
    Gauci, M., Chen, J., Li, W., Dodd, T.J., Groß, R.: Clustering objects with robots that do not compute. In: Proceedings of 2014 International Conference on Autonomous Agents and Multiagent Systems, pp. 421–428. IFAAMS, Richland, SC, USA (2014)Google Scholar
  11. 11.
    Gauci, M., Chen, J., Li, W., Dodd, T.J., Groß, R.: Self-organized aggregation without computation. Int. J. Robot. Res. 33(8), 1145–1161 (2014)CrossRefGoogle Scholar
  12. 12.
    Konur, S., Dixon, C., Fisher, M.: Analysing robot swarm behaviour via probabilistic model checking. Robot. Auton. Syst. 60(2), 199–213 (2012)CrossRefGoogle Scholar
  13. 13.
    Li, W., Miyazawa, A., Ribeiro, P., Cavalcanti, A., Woodcock, J., Timmis, J.: Online supplementary material (2016).
  14. 14.
    Liu, W., Winfield, A.F.T.: Modeling and optimization of adaptive foraging in swarm robotic systems. Int. J. Robot. Res. 29(14), 1743–1760 (2010)CrossRefGoogle Scholar
  15. 15.
    Lopes, Y.K., Trenkwalder, S.M., Leal, A.B., Dodd, T.J., Groß, R.: Supervisory control theory applied to swarm robotics. Swarm Intell. 10(1), 65–97 (2016)CrossRefGoogle Scholar
  16. 16.
    Magnenat, S., Waibel, M., Beyeler, A.: Enki: the fast 2D robot simulator (2011).
  17. 17.
    Miyazawa, A., Ribeiro, P., Li, W., Cavalcanti, A.L.C., Timmis, J., Woodcock, J.C.P.: RoboChart: a state-machine notation for modelling and verification of mobile and autonomous robots. Technical report, University of York, Department of Computer Science, York, UK (2016).
  18. 18.
    Mondada, F., et al.: The e-puck, a robot designed for education in engineering. In: Proceeding of the 9th Conference on Autonomous Robot Systems and Competitions, vol. 1, pp. 59–65. IPCB: Instituto Politécnico de Castelo Branco (2009)Google Scholar
  19. 19.
    Pinciroli, C., Trianni, V., O’Grady, R., Pini, G., Brutschy, A., Brambilla, M., Mathews, N., Ferrante, E., Di Caro, G., Ducatelle, F., Birattari, M., Gambardella, L.M., Dorigo, M.: ARGoS: a modular, parallel, multi-engine simulator for multi-robot systems. Swarm Intell. 6(4), 271–295 (2012)CrossRefGoogle Scholar
  20. 20.
    Rouff, C.A., Hinchey, M.G., Pena, J., Ruiz-Cortes, A.: Using formal methods and agent-oriented software engineering for modeling NASA swarm-based systems. In: 2007 IEEE Swarm Intelligence Symposium, pp. 348–355. IEEE, Honolulu, Hawaii (2007)Google Scholar
  21. 21.
    Schlegel, C., Hassler, T., Lotz, A., Steck, A.: Robotic software systems: from code-driven to model-driven designs. In: Proceedings of the 14th International Conference on Advanced Robotics, pp. 1–8. IEEE, Munich, Germany (2009)Google Scholar
  22. 22.
    Schultz, U.P., Christensen, D.J., Stoy, K.: A domain-specific language for programming self-reconfigurable robots. In: Proceedings of the 2007 Workshop on Automatic Program Generation for Embedded Systems, pp. 28–36. ACM, Salzburg, Austria (2007)Google Scholar
  23. 23.
    Webster, M., Dixon, C., Fisher, M., Salem, M., Saunders, J., Koay, K.L., Dautenhahn, K., Saez-Pons, J.: Toward reliable autonomous robotic assistants through formal verification: a case study. IEEE Trans. Hum. Mach. Syst. 46(2), 186–196 (2016)CrossRefGoogle Scholar
  24. 24.
    Winfield, A.F.T., Sa, J., Fernandez-Gago, M.C., Dixon, C., Fisher, M.: On formal specification of emergent behaviours in swarm robotic systems. Int. J. Adv. Robot. Syst. 2(4), 363–370 (2005)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Wei Li
    • 1
    Email author
  • Alvaro Miyazawa
    • 2
  • Pedro Ribeiro
    • 2
  • Ana Cavalcanti
    • 2
  • Jim Woodcock
    • 2
  • Jon Timmis
    • 1
  1. 1.Department of ElectronicsUniversity of YorkYorkUK
  2. 2.Department of Computer ScienceUniversity of YorkYorkUK

Personalised recommendations