Skip to main content

Formal Verification of an Industrial UML-like Model using mCRL2

  • Conference paper
  • First Online:
Formal Methods for Industrial Critical Systems (FMICS 2022)

Abstract

Low-code development platforms are gaining popularity. Essentially, such platforms allow to shift from coding to graphical modeling, helping to improve quality and reduce development time. The Cordis SUITE is a low-code development platform that adopts the Unified Modeling Language (UML) to design complex machine-control applications. In this paper we introduce Cordis models and their semantics. To enable formal verification, we define an automatic translation of Cordis models to the process algebraic specification language mCRL2. As a proof of concept, we describe requirements of the control software of an industrial cylinder model developed by Cordis, and show how these can be verified using model checking. We show that our verification approach is effective to uncover subtle issues in the industrial model and its implementation.

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 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.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.

    https://www.cordis-suite.com.

  2. 2.

    https://www.altova.com.

  3. 3.

    Currently, the implementation chooses the order of creation.

  4. 4.

    Note that in mCRL2, && (conjunction) binds stronger than || (disjunction).

  5. 5.

    We here rely on the fact that the additional information is only exposed through self-loop transitions. This avoids the need for introducing an additional greatest fixed point.

References

  1. Bouwman, M., Luttik, B., van der Wal, D.: A formalisation of SysML state machines in mCRL2. In: Peters, K., Willemse, T.A.C. (eds.) FORTE 2021. LNCS, vol. 12719, pp. 42–59. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-78089-0_3

    Chapter  Google Scholar 

  2. Bunte, O., et al.: The mCRL2 toolset for analysing concurrent systems. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019. LNCS, vol. 11428, pp. 21–39. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17465-1_2

    Chapter  Google Scholar 

  3. Bunte, O., Gool, L.C.M., Willemse, T.A.C.: Formal verification of OIL component specifications using mCRL2. In: ter Beek, M.H., Ničković, D. (eds.) FMICS 2020. LNCS, vol. 12327, pp. 231–251. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-58298-2_10

    Chapter  Google Scholar 

  4. Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: \(10^{20}\) states and beyond. Inf. Comput. 98(2), 142–170 (1992). https://doi.org/10.1016/0890-5401(92)90017-A

    Article  MATH  Google Scholar 

  5. Cimatti, A., et al.: NuSMV 2: an OpenSource tool for symbolic model checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45657-0_29

    Chapter  Google Scholar 

  6. Dubrovin, J., Junttila, T.: Symbolic model checking of hierarchical UML state machines. In: 2008 8th International Conference on Application of Concurrency to System Design, pp. 108–117. ISSN: 1550–4808 (2008). https://doi.org/10.1109/ACSD.2008.4574602

  7. Groote, J.F., Lisser, B.: Computer assisted manipulation of algebraic process specifications. ACM SIGPLAN Notices 37(12), 98–107 (2002). https://doi.org/10.1145/636517.636531

    Article  Google Scholar 

  8. Groote, J.F., Mateescu, R.: Verification of temporal properties of processes in a setting with data. In: Haeberer, A.M. (ed.) AMAST 1999. LNCS, vol. 1548, pp. 74–90. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-49253-4_8

    Chapter  Google Scholar 

  9. Groote, J.F., Mousavi, M.R.: Modeling and Analysis of Communicating Systems. MIT Press, Cambridge (2014). https://mitpress.mit.edu/books/modeling-and-analysis-communicating-systems

  10. Hansen, H.H., Ketema, J., Luttik, B., Mousavi, M.R., van de Pol, J.: Towards model checking executable UML specifications in mCRL2. Innov. Syst. Softw. Eng. 6(1–2), 83–90 (2010). https://doi.org/10.1007/s11334-009-0116-1

    Article  Google Scholar 

  11. Hwong, Y.L., Keiren, J.J.A., Kusters, V.J.J., Leemans, S., Willemse, T.A.C.: Formalising and analysing the control software of the compact muon solenoid experiment at the large hadron collider. Sci. Comput. Program. 78(12), 2435–2452 (2013). https://doi.org/10.1016/j.scico.2012.11.009

    Article  Google Scholar 

  12. John, K.H., Tiegelkamp, M.: The programming languages of IEC 61131–3. In: John, K.H., Tiegelkamp, M. (eds.) IEC 61131–3: Programming Industrial Automation Systems: Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making Aids, pp. 99–205. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12015-2_4

  13. Keiren, J.J.A., Klabbers, M.D.: Modelling and verifying IEEE Std. 11073–20601 session setup using mCRL2. Electron. Commun. EASST 53 (2013). https://doi.org/10.14279/tuj.eceasst.53.793

  14. Liu, S., et al.: A formal semantics for complete UML state machines with communications. In: Johnsen, E.B., Petre, L. (eds.) IFM 2013. LNCS, vol. 7940, pp. 331–346. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38613-8_23

    Chapter  Google Scholar 

  15. Lyazidi, A., Mouline, S.: Formal verification of UML state machine diagrams using petri nets. In: Atig, M.F., Schwarzmann, A.A. (eds.) NETYS 2019. LNCS, vol. 11704, pp. 67–74. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-31277-0_5

    Chapter  Google Scholar 

  16. Object Management Group: OMG Unified Modelling Language (UML). Technical report Version 2.5.1 (2017). https://www.omg.org/spec/UML/2.5.1/PDF

  17. Pore, A., et al.: Safe reinforcement learning using formal verification for tissue retraction in autonomous robotic-assisted surgery. In: 2021 IEEE/RSJ IROS, pp. 4025–4031 (2021). https://doi.org/10.1109/IROS51168.2021.9636175. ISSN: 2153-0866

  18. de Putter, S., Wijs, A.: Compositional model checking is lively. In: Proença, J., Lumpe, M. (eds.) FACS 2017. LNCS, vol. 10487, pp. 117–136. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-68034-7_7

    Chapter  Google Scholar 

  19. Rodríguez, R.J., Fredlund, L.Å., Herranz, Á., Mariño, J.: Execution and verification of UML state machines with erlang. In: Giannakopoulou, D., Salaün, G. (eds.) SEFM 2014. LNCS, vol. 8702, pp. 284–289. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10431-7_22

    Chapter  Google Scholar 

  20. Sahay, A., Indamutsa, A., Ruscio, D.D., Pierantonio, A.: Supporting the understanding and comparison of low-code development platforms. In: 2020 46th Euromicro Conference on SEAA, pp. 171–178 (2020). https://doi.org/10.1109/SEAA51224.2020.00036

  21. Salunkhe, S., Berglehner, R., Rasheeq, A.: Automatic transformation of SysML model to event-B model for railway CCS application. In: Raschke, A., Méry, D. (eds.) Rigorous State-Based Methods. LNCS, vol. 12709, pp. 143–149. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-77543-8_14

    Chapter  Google Scholar 

  22. Santone, A., et al.: Radiomic features for prostate cancer grade detection through formal verification. La radiologia medica 126(5), 688–697 (2021). https://doi.org/10.1007/s11547-020-01314-8

    Article  Google Scholar 

  23. Santos, L.B.R., Júnior, V.A.S., Vijaykumar, N.L.: Transformation of UML behavioral diagrams to support software model checking. In: FESCA 2014. EPTCS, vol. 147, pp. 133–142 (2014). https://doi.org/10.4204/EPTCS.147.10, arXiv: 1404.0855

  24. Schäfer, T., Knapp, A., Merz, S.: Model checking UML state machines and collaborations. ENTCS 55(3), 357–369 (2001). https://doi.org/10.1016/S1571-0661(04)00262-2

    Article  Google Scholar 

  25. Stramaglia, A., Keiren, J.J.A.: Formal verification of an industrial UML-like model using mCRL2 (extended version) (2022). arXiv: 2205.08146

  26. Wesselink, W., Willemse, T.A.C.: Evidence extraction from parameterised Boolean equation systems. In: Benzmüller, C., Otten, J. (eds.) proceedings of ARQNL 2018 affiliated with IJCAR 2018, Oxford, UK, 18 July 2018. CEUR, vol. 2095, pp. 86–100. CEUR-WS.org (2018). http://ceur-ws.org/Vol-2095/paper6.pdf

Download references

Acknowledgements

This work was supported partially by the MACHINAIDE project (ITEA3, No. 18030) and through EU regional development funding in the context of the OP-Zuid program (No. 02541). We thank Wieger Wesselink and Yousra Hafidi for contributions to the development of the mCRL2 translation, and Cordis Automation B.V. for their feedback on earlier versions of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Anna Stramaglia .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Stramaglia, A., Keiren, J.J.A. (2022). Formal Verification of an Industrial UML-like Model using mCRL2. In: Groote, J.F., Huisman, M. (eds) Formal Methods for Industrial Critical Systems. FMICS 2022. Lecture Notes in Computer Science, vol 13487. Springer, Cham. https://doi.org/10.1007/978-3-031-15008-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-15008-1_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-15007-4

  • Online ISBN: 978-3-031-15008-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics