An Approach for Verifying Educational Robots

  • Sidney NogueiraEmail author
  • Taciana Pontual Falcão
  • Alexandre Mota
  • Emanuel Oliveira
  • Itamar Moraes
  • Iverson Pereira
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10090)


Virtual robot programming environments provide a visual interface for programming and simulating educational robots. Nowadays, simulation is the only way to assess the robot behaviour inside such environments, as there is no approach that supports the automatic analysis of the correctness of robot programs. This paper introduces an automatic approach for verifying robot programs written in the educational programming language ROBO. We give semantics for ROBO programs in the setting of CSP process algebra and automatically verify the properties of the programs using the FDR refinement checker. The verification approach has been defined considering programming exercises proposed in the literature on educational robotics. We illustrate the approach using sample programs written in ROBO and discuss how to integrate such an approach with educational tools.


Educational robotics Program verification CSP 



This research project is supported by CNPq under grant 442859/2014-7.


  1. 1.
    Anais do XXVI Simpósio Brasileiro de Informática na Educação (SBIE 2015) (2015)Google Scholar
  2. 2.
    Online judge, February 2016.
  3. 3.
    RoboMind FURB (2016).
  4. 4.
    Gibson-Robinson, T., Armstrong, P., Boulgakov, A., Roscoe, A.W.: FDR3 — a modern refinement checker for CSP. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014. LNCS, vol. 8413, pp. 187–201. Springer, Heidelberg (2014). doi: 10.1007/978-3-642-54862-8_13 CrossRefGoogle Scholar
  5. 5.
    Kitchen, R., Amsterdam, U.V.: RoboMind.
  6. 6.
    Lessa, V., Forigo, F., Teixeira, A., Licks, G.P.: Programação de computadores e robótica educativa na escola: tendências evidenciadas nas produções do workshop de informática na escola. In: Anais do Workshop de Informática na Escola, vol. 21, p. 92 (2015)Google Scholar
  7. 7.
    Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. Wiley, New York (1999)zbMATHGoogle Scholar
  8. 8.
    Nogueira, S., Sampaio, A., Mota, A.: Test generation from state based use case models. Formal Aspects Comput. 26(3), 441–490 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Nogueira, S., et al.: Exercises Catalog and Paper Samples, August 2016.
  10. 10.
    Nogueira, S., Araujo, H.L.S., Araujo, R.B.S., Iyoda, J., Sampaio, A.: Automatic generation of test cases and test purposes from natural language. In: Cornélio, M., Roscoe, B. (eds.) SBMF 2015. LNCS, vol. 9526, pp. 145–161. Springer, Heidelberg (2016). doi: 10.1007/978-3-319-29473-5_9 CrossRefGoogle Scholar
  11. 11.
    Oracle: Java JSE, August 2016.
  12. 12.
    Papert, S.: A máquina das crianças. Artmed, Porto Alegre (1994)Google Scholar
  13. 13.
    Papert, S., Valente, J.A., Bitelman, B.: Logo: computadores e educação. Brasiliense (1980)Google Scholar
  14. 14.
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River (1998)Google Scholar
  15. 15.
    Roscoe, A.W.: Understanding Concurrent System. Springer, Heidelberg (2011)Google Scholar
  16. 16.
    Roscoe, A.W., Hopkins, D.: SVA, a tool for analysing shared-variable programs. Proc. AVoCS 2007, 177–183 (2007)Google Scholar
  17. 17.
    University of Oxford: FDR3 Web Site, May 2015Google Scholar
  18. 18.
    Wing, J.M.: Computational thinking. Commun. ACM 49(3), 33–35 (2006)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Sidney Nogueira
    • 1
    Email author
  • Taciana Pontual Falcão
    • 1
  • Alexandre Mota
    • 2
  • Emanuel Oliveira
    • 1
  • Itamar Moraes
    • 1
  • Iverson Pereira
    • 1
  1. 1.Universidade Federal Rural de PernambucoRecifeBrazil
  2. 2.Universidade Federal de PernambucoRecifeBrazil

Personalised recommendations