Skip to main content

Model-Based Engineering for Robotics with RoboChart and RoboTool

  • Chapter
  • First Online:
Formal Methods for an Informal World (ICTAC 2021)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13490))

Included in the following conference series:

  • 137 Accesses

Abstract

Use of simulation to support the design of software for robotic systems is pervasive. Typically, roboticists draw a state machine using an informal notation (not precise or machine checkable) to convey a design and guide the development of a simulation. This involves writing code for a specific simulator (using C, C++, or some proprietary language and API). Verification is carried out using simulation runs and testing the deployed system. The RoboStar technology supports a model-based, rather than this (simulation) code-centered, approach to development. Models are written using domain-specific notations in line with those accepted by roboticists. In this tutorial, we focus on modelling and verification using RoboChart, our design notation, and its tool, called RoboTool. In RoboChart, software controllers are described by timed state machines. The semantics is defined using a process algebra, namely, tock-CSP, which we can use for verification by model checking or theorem proving. Use of RoboChart complements simulation and testing.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    verifiability.org.

  2. 2.

    robostar.cs.york.ac.uk.

  3. 3.

    robostar.cs.york.ac.uk/robotool/.

  4. 4.

    robostar.cs.york.ac.uk/robotool/tutorial-16-08-2021/tutorial.pdf.

  5. 5.

    robostar.cs.york.ac.uk/robotool/tutorial-16-08-2021/tutorial.pdf.

  6. 6.

    robostar.cs.york.ac.uk/case_studies/segway.

  7. 7.

    robostar.cs.york.ac.uk/case_studies/segway.

  8. 8.

    cocotec.io/fdr/manual/.

  9. 9.

    robostar.cs.york.ac.uk/case_studies/segway.

  10. 10.

    cocotec.io/fdr/manual/cspm/definitions.html#timed-sections.

  11. 11.

    robostar.cs.york.ac.uk/notations/.

  12. 12.

    robostar.cs.york.ac.uk/case-studies.

  13. 13.

    sdformat.org.

References

  1. ISO/IEC 13568:2002. Information technology - Z formal specification notation - syntax, type system and semantics. International Standard

    Google Scholar 

  2. Arthan, R., Jones, R.B.: Z in HOL in ProofPower. FACS FACTS 2005(1), 39–55 (2005). www.bcs.org/upload/pdf/facts200503-compressed.pdf

  3. Attala, Z., Cavalcanti, A.L.C., Woodcock, J.C.P.: A comparison of neural network tools for the verification of linear specifications of ReLU networks. In: Albarghouthi, A., Katz, G., Narodytska, N. (eds.) 3rd Workshop on Formal Methods for ML-Enabled Autonomous System, pp. 22–33 (2020)

    Google Scholar 

  4. Baxter, J., Ribeiro, P., Cavalcanti, A.L.C.: Sound reasoning in tock-CSP. Acta Informatica (2021). online April 2021

    Google Scholar 

  5. Burdy, L., et al.: An overview of JML tools and applications. Softw. Tools Technol. Transfer 7(3), 212–232 (2005)

    Article  Google Scholar 

  6. Cavalcanti, A.L.C.: RoboStar modelling stack: tackling the reality gap. In: 1st International Workshop on Verification of Autonomous & Robotic Systems, VARS 2021. Association for Computing Machinery (2021)

    Google Scholar 

  7. Cavalcanti, A.L.C., et al.: RoboStar Technology: A Roboticist’s Toolbox for Combined Proof, Simulation, and Testing, pp. 249–293. Springer (2021)

    Google Scholar 

  8. Cavalcanti, A., Baxter, J., Carvalho, G.: RoboWorld: where can my robot work? In: Calinescu, R., Păsăreanu, C.S. (eds.) SEFM 2021. LNCS, vol. 13085, pp. 3–22. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-92124-8_1

    Chapter  Google Scholar 

  9. Cavalcanti, A., Baxter, J., Hierons, R.M., Lefticaru, R.: Testing Robots Using CSP. In: Beyer, D., Keller, C. (eds.) TAP 2019. LNCS, vol. 11823, pp. 21–38. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31157-5_2

    Chapter  Google Scholar 

  10. Cavalcanti, A.L.C., Dongol, B., Hierons, R., Timmis, J., Woodcock, J.C.P. (eds.) Software Engineering for Robotics. Springer International Publishing (2021)

    Google Scholar 

  11. Cavalcanti, A.L.C., et al.: Verified simulation for robotics. Sci. Comput. Programm. 174, 1–37 (2019)

    Article  Google Scholar 

  12. Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: A refinement strategy for Circus. Formal Aspects Comput. 15(2–3), 146–181 (2003)

    Article  MATH  Google Scholar 

  13. Chen, J., Gauci, M., Gross, R.: A strategy for transporting tall objects with a swarm of miniature mobile robots. In: 2013 IEEE International Conference on Robotics and Automation, pp. 863–869. IEEE (2013)

    Google Scholar 

  14. Davies, J.: Using CSP, pp. 64–122. Springer (2006)

    Google Scholar 

  15. Foster, S., Baxter, J., Cavalcanti, A.L.C., Woodcock, J.C.P., Zeyda, F.: Unifying semantic foundations for automated verification tools in Isabelle/UTP. Sci. Comput. Programm. 197 (2020)

    Google Scholar 

  16. Foster, S., Cavalcanti, A.L.C., Canham, S., Woodcock, J.C.P., Zeyda, F.: Unifying theories of reactive design contracts. Theoret. Comput. Sci. 802, 105–140 (2020)

    Article  MathSciNet  MATH  Google Scholar 

  17. Foster, S., Ye, K., Cavalcanti, A.L.C., Woodcock, J.C.P.: Automated verification of reactive and concurrent programs by calculation. J. Logical Algebraic Methods Programm. 121, 100681 (2021)

    Article  MathSciNet  MATH  Google Scholar 

  18. Gibson-Robinson, T., Armstrong, P., Boulgakov, A., Roscoe, A.W.: FDR3 - a modern refinement checker for CSP. In: Tools and Algorithms for the Construction and Analysis of Systems, pp. 187–201 (2014)

    Google Scholar 

  19. Hayes, I.J., Utting, M.: A sequential real-time refinement calculus. Acta Informatica 37(6), 385–448 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  20. Jifeng, H.: From CSP to Hybrid Systems. In: A Classical Mind, pp. 171–189. Prentice-Hall (1994)

    Google Scholar 

  21. Liu, J., Lv, J., Quan, Z., Zhan, N., Zhao, H., Zhou, C., Zou, L.: A calculus for hybrid CSP. In: Ueda, K. (ed.) APLAS 2010. LNCS, vol. 6461, pp. 1–15. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-17164-2_1

    Chapter  Google Scholar 

  22. Miyazawa, A., Cavalcanti, A.L.C., Ahmadi, S., Post, M., Timmis, J.: RoboSim Physical Modelling: Diagrammatic Physical Robot Models. Technical report, University of York, Department of Computer Science, York, UK (2020). robostar.cs.york.ac.uk/notations/

    Google Scholar 

  23. Miyazawa, A., Ribeiro, P., Li, W., Cavalcanti, A.L.C., Timmis, J.: Automatic property checking of robotic applications. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3869–3876 (2017)

    Google Scholar 

  24. 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). www.cs.york.ac.uk/circus/publications/techreports/reports/MRLCTW16.pdf

  25. Miyazawa, A., Ribeiro, P., Li, W., Cavalcanti, A., Timmis, J., Woodcock, J.: RoboChart: modelling and verification of the functional behaviour of robotic applications. Softw. Syst. Modeling 18(5), 3097–3149 (2019). https://doi.org/10.1007/s10270-018-00710-z

    Article  Google Scholar 

  26. Miyazawa, A., et al.: RoboChart: Modelling, Verification and Simulation for Robotics. Technical report, University of York, Department of Computer Science, York, UK (2020). www.cs.york.ac.uk/robostar/notations/

  27. Foster, S., Huerta y Munive, J.J., Struth, G.: Differential hoare logics and refinement calculi for hybrid systems with Isabelle/HOL. In: Fahrenberg, U., Jipsen, P., Winter, M. (eds.) RAMiCS 2020. LNCS, vol. 12062, pp. 169–186. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-43520-2_11

    Chapter  MATH  Google Scholar 

  28. Naylor, B., Read, M., Timmis, J., Tyrrell, A.: The Relay Chain: A Scalable Dynamic Communication link between an Exploratory Underwater Shoal and a Surface Vehicle (2014)

    Google Scholar 

  29. OMG. OMG Systems Modeling Language (OMG SysML), Version 1.3 (2012)

    Google Scholar 

  30. OMG. OMG Unified Modeling Language (2015)

    Google Scholar 

  31. Park, H.W., Ramezani, A., Grizzle, J.W.: A finite-state machine for accommodating unexpected large ground-height variations in bipedal robot walking. IEEE Trans. Rob. 29(2), 331–345 (2013)

    Article  Google Scholar 

  32. Rabbath, C.A.: A finite-state machine for collaborative airlift with a formation of unmanned air vehicles. J. Intell. Robot. Syst. 70(1), 233–253 (2013)

    Article  Google Scholar 

  33. Roscoe, A.W.: Understanding Concurrent Systems. Texts in Computer Science. Springer (2011)

    Google Scholar 

  34. Tomic, T., Schmid, K., Lutz, P., Domel, A., Kassecker, M., Mair, E., Grixa, I.L., Ruess, F., Suppa, M., Burschka, D.: Toward a fully autonomous UAV: research platform for indoor and outdoor urban search and rescue. IEEE Robot. Autom. Mag. 19(3), 46–56 (2012)

    Article  Google Scholar 

  35. University of York. RoboChart Reference Manual. www.cs.york.ac.uk/circus/RoboCalc/robotool/

  36. Lindoso, W., Nogueira, S.C., Domingues, R., Lima, L.: Visual specification of properties for robotic designs. In: Campos, S., Minea, M. (eds.) SBMF 2021. LNCS, vol. 13130, pp. 34–52. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-92137-8_3

    Chapter  Google Scholar 

  37. Woodcock, J.C.P., Davies, J.: Using Z - Specification, Refinement, and Proof. Prentice-Hall (1996)

    Google Scholar 

  38. Woodcock, J., Foster, S., Mota, A., Ye, K.: RoboStar Technology: Modelling Uncertainty in RoboChart Using Probability. In: Software Engineering for Robotics, pp. 413–465. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-66494-7_13

    Chapter  Google Scholar 

  39. Ye, K., Cavalcanti, A., Foster, S., Miyazawa, A., Woodcock, J.: Probabilistic modelling and verification using RoboChart and PRISM. Softw. Syst. Model. 21(2), 667–716 (2021). https://doi.org/10.1007/s10270-021-00916-8

    Article  Google Scholar 

  40. Zhang, M., Du, D., Sampaio, A.C.A., Cavalcanti, A.L.C., Conserva Filho, M., Zhang, M.: Transforming RoboSim Models into UPPAAL. In: 15th International Symposium on Theoretical Aspects of Software Engineering, pp. 71–78. IEEE (2021)

    Google Scholar 

Download references

Acknowledgements

The work reported here is funded by the Royal Academy of Engineering grant CiET1718/45, UK EPSRC grants EP/M025756/1 and EP/R025479/1, and UKRI TAS programme (verifiability and resilience). We are grateful to the ICTAC organisers for the opportunity to present and write this tutorial. We also thank Augusto Sampaio for very helpful and detailed comments. Finally, we are grateful to all members of the RoboStar group, who directly or indirectly contribute to the realisation of the vision described here.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana Cavalcanti .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive licence to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Cavalcanti, A., Attala, Z., Baxter, J., Miyazawa, A., Ribeiro, P. (2023). Model-Based Engineering for Robotics with RoboChart and RoboTool. In: Cerone, A. (eds) Formal Methods for an Informal World. ICTAC 2021. Lecture Notes in Computer Science, vol 13490. Springer, Cham. https://doi.org/10.1007/978-3-031-43678-9_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-43678-9_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-43677-2

  • Online ISBN: 978-3-031-43678-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics