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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
cocotec.io/fdr/manual/cspm/definitions.html#timed-sections.
- 11.
- 12.
- 13.
References
ISO/IEC 13568:2002. Information technology - Z formal specification notation - syntax, type system and semantics. International Standard
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
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)
Baxter, J., Ribeiro, P., Cavalcanti, A.L.C.: Sound reasoning in tock-CSP. Acta Informatica (2021). online April 2021
Burdy, L., et al.: An overview of JML tools and applications. Softw. Tools Technol. Transfer 7(3), 212–232 (2005)
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)
Cavalcanti, A.L.C., et al.: RoboStar Technology: A Roboticist’s Toolbox for Combined Proof, Simulation, and Testing, pp. 249–293. Springer (2021)
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
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
Cavalcanti, A.L.C., Dongol, B., Hierons, R., Timmis, J., Woodcock, J.C.P. (eds.) Software Engineering for Robotics. Springer International Publishing (2021)
Cavalcanti, A.L.C., et al.: Verified simulation for robotics. Sci. Comput. Programm. 174, 1–37 (2019)
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)
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)
Davies, J.: Using CSP, pp. 64–122. Springer (2006)
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)
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)
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)
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)
Hayes, I.J., Utting, M.: A sequential real-time refinement calculus. Acta Informatica 37(6), 385–448 (2001)
Jifeng, H.: From CSP to Hybrid Systems. In: A Classical Mind, pp. 171–189. Prentice-Hall (1994)
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
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/
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)
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
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
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/
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
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)
OMG. OMG Systems Modeling Language (OMG SysML), Version 1.3 (2012)
OMG. OMG Unified Modeling Language (2015)
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)
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)
Roscoe, A.W.: Understanding Concurrent Systems. Texts in Computer Science. Springer (2011)
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)
University of York. RoboChart Reference Manual. www.cs.york.ac.uk/circus/RoboCalc/robotool/
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
Woodcock, J.C.P., Davies, J.: Using Z - Specification, Refinement, and Proof. Prentice-Hall (1996)
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
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
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive licence to Springer Nature Switzerland AG
About this chapter
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)