Skip to main content

Decomposable and Executable Models for Verification of Real-Time Systems

  • Conference paper
  • First Online:
Model-Driven Engineering and Software Development (MODELSWARD 2021, MODELSWARD 2022)

Abstract

Decomposition allows for managing complexity. We show that executable models of behaviour are significantly more decomposable when using a time-triggered semantics than an event-driven semantics. Therefore, we adopt logic-labelled finite machines LLFSMs and show that deterministic static schedules are derived to guarantee value-domain properties and time-domain properties. We illustrate that such a decomposition goes a long way in avoiding the combinatorial space explosion that occurs when attempting to formally verify executable behaviour models. We argue for parametrised machines to foster decomposability and analyse what aspects jeopardise taming the size of Kripke structures for formal verification. We provide three case studies to show that we can transform the models into small, timed Kripke structures and that components can be verified separately by the nuXmv model checker to achieve formal system verification.

Supported by organization x.

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.

    Transitions can be labelled by expressions in any decidable logic [8].

  2. 2.

    An arrangement of finite-state machines in an array of finite-state machines where copies are allowed [12, Definition 1]. It is not a multi-set because the order matters.

  3. 3.

    The literature of timed-automata refers to the states as locations.

  4. 4.

    www.youtube.com/watch?v=P1KX2dBjmO8.

  5. 5.

    The actions can be represented in a model-based action language that can be converted to a particular programming language by model-to-text transformations [12].

  6. 6.

    Again, model-to-model transformation replace LLFSMs with sections to LLFSMs without sections following a precisely defined semantics [12].

  7. 7.

    For simplicity here we would say that restart is the same as a UML resume except that the history state is the initial state.

References

  1. Alur, R., Courcoubetis, C., Dill, D.: Model-checking in dense real-time. Inf. Comput. 104(1), 2–34 (1993). https://doi.org/10.1006/inco.1993.1024

    Article  MathSciNet  MATH  Google Scholar 

  2. Alur, R., Dill, D.: Automata for modeling real-time systems. In: Paterson, M.S. (ed.) ICALP 1990. LNCS, vol. 443, pp. 322–335. Springer, Heidelberg (1990). https://doi.org/10.1007/BFb0032042

    Chapter  MATH  Google Scholar 

  3. Alur, R., Dill, D.: A theory of timed automata. Theoret. Comput. Sci. 126(2), 183–235 (1994). https://doi.org/10.1016/0304-3975(94)90010-8

    Article  MathSciNet  MATH  Google Scholar 

  4. André, C., Mallet, F., de Simone, R.: Modeling time(s). In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) Model Driven Engineering Languages and Systems, pp. 559–573. Springer, Berlin Heidelberg, Berlin, Heidelberg (2007)

    Chapter  Google Scholar 

  5. Berthomieu, B., et al.: Real-time model checking support for AADL. CoRR abs/1503.00493 (2015). http://arxiv.org/abs/1503.00493

  6. Besnard, V., Brun, M., Jouault, F., Teodorov, C., Dhaussy, P.: Unified LTL verification and embedded execution of UML models. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 112–122. MODELS 2018, ACM, New York (2018). https://doi.org/10.1145/3239372.3239395

  7. Bhaduri, P., Ramesh, S.: Model checking of statechart models: survey and research directions (2004). http://arxiv.org/abs/cs.SE/0407038

  8. Billington, D., Estivill-Castro, V., Hexel, R., Rock, A.: Requirements engineering via non-monotonic logics and state diagrams. In: Maciaszek, L.A., Loucopoulos, P. (eds.) ENASE 2010. CCIS, vol. 230, pp. 121–135. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23391-3_9

    Chapter  Google Scholar 

  9. Blanchard, B.S., Fabryck, W.J.: Systems Engineering and Analysis, 5th edn. Prentice Hall, NJ (2011)

    Google Scholar 

  10. Bouyer, P., Laroussinie, F.: Model Checking Timed Automata, pp. 111–140. ISTE (2010). https://doi.org/10.1002/9780470611012.ch4

  11. Brooks, R.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986). https://doi.org/10.1109/JRA.1986.1087032

    Article  Google Scholar 

  12. Carrillo, M., Estivill-Castro, V., Rosenblueth, D.A.: Verification and simulation of time-domain properties for models of behaviour. In: Hammoudi, S., Pires, L.F., Selić, B. (eds.) MODELSWARD 2020. CCIS, vol. 1361, pp. 225–249. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-67445-8_10

    Chapter  Google Scholar 

  13. Dickerson, C., Mavris, D.N.: Architecture and Principles of Systems Engineering. CRC Press, Auerbach Publications, Taylor & Francis Group, Boca Raton, FL (2010)

    Google Scholar 

  14. Drusinsky, D.: Modeling and verification using UML statecharts - a working guide to reactive system design, runtime monitoring and execution-based model checking. Elsevier (2006)

    Google Scholar 

  15. Estivill-Castro, V., Hexel, R.: Simple, not simplistic - the middleware of behaviour models. In: Filipe, J., Maciaszek, L.A. (eds.) ENASE 2015 - Proceedings of the 10th International Conference on Evaluation of Novel Approaches to Software Engineering, pp. 189–196. SciTePress (2015). https://doi.org/10.5220/0005371101890196

  16. Estivill-Castro, V., Hexel, R.: Verifiable parameterised behaviour models - for robotic and embedded systems. In: Hammoudi, S., Ferreira Pires, S., Selic, B. (eds.) Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD, pp. 364–371. SciTePress (2018). https://doi.org/10.5220/0006573903640371

  17. Estivill-Castro, V., Hexel, R.: The understandability of models for behaviour. In: Hammoudi, S., Pires, L.F., Selić, B. (eds.) MODELSWARD 2019. CCIS, vol. 1161, pp. 50–75. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-37873-8_3

    Chapter  Google Scholar 

  18. Estivill-Castro, V., Hexel, R., Rosenblueth, D.A.: Efficient modelling of embedded software systems and their formal verification. In: 2012 19th Asia-Pacific Software Engineering Conference, vol. 1, pp. 428–433 (2012). https://doi.org/10.1109/APSEC.2012.21

  19. Estivill-Castro, V., Rosenblueth, D.A.: Model checking of transition-labeled finite-state machines. In: Kim, T., Adeli, H., Kim, H., Kang, H., Kim, K.J., Kiumi, A., Kang, B.-H. (eds.) ASEA 2011. CCIS, vol. 257, pp. 61–73. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-27207-3_8

    Chapter  Google Scholar 

  20. Feiler, P.H., Lewis, B., Vestal, S., Colbert, E.: An overview of the SAE architecture analysis & design language (AADL) standard: a basis for model-based architecture-driven embedded systems engineering. In: Dissaux, P., Filali-Amine, M., Michel, P., Vernadat, F. (eds.) Architecture Description Languages, pp. 3–15. Springer, Boston (2005). https://doi.org/10.1007/0-387-24590-1_1

    Chapter  Google Scholar 

  21. Furrer, F.: Future-Proof Software-Systems: A Sustainable Evolution Strategy. Springer Vieweg, Berlin (2019)

    Book  Google Scholar 

  22. Guermazi, S., Tatibouet, J., Cuccuru, A., Seidewitz, E., Dhouib, S., Gérard, S.: Executable modeling with fUML and Alf in Papyrus: Tooling and experiments. In: Mayerhofer, T., Langer, P., Seidewitz, E., Gray, J. (eds.) Proceedings of the 1st International Workshop on Executable Modeling co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS 2015). CEUR Workshop Proceedings, vol. 1560, pp. 3–8. CEUR-WS.org (2015)

    Google Scholar 

  23. Harel, D., Pnueli, A.: On the development of reactive systems. In: Apt, K, R. (ed.) Logics and Models of Concurrent Systems, pp. 477–498. Springer, Berlin Heidelberg (1985). https://doi.org/10.1007/978-3-642-82453-1_17

  24. Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, New York, NY (1998)

    Google Scholar 

  25. Hu, Z., Hughes, J., Wang, M.: How functional programming mattered. National Science Review 2(3), 349–370 (2015). https://doi.org/10.1093/nsr/nwv042

    Article  Google Scholar 

  26. ICOSE: Systems engineering vision 2035 - engineering solutions for a better world, Technical Report ISIS-1-98, International Council on Systems Engineering, Department of Electronics and Computer Science (2022)

    Google Scholar 

  27. Jin, D., Levy, D.C.: An approach to schedulability analysis of UML-based real-time systems design. In: Proceedings of the 3rd International Workshop on Software and Performance, pp. 243–250. WOSP 2002, Association for Computing Machinery, New York (2002)

    Google Scholar 

  28. Kabous, L., Nebel, W.: Modeling hard real time systems with UML the OOHARTS approach. In: France, R., Rumpe, B. (eds.) UML 1999. LNCS, vol. 1723, pp. 339–355. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-46852-8_25

    Chapter  Google Scholar 

  29. Kopetz, H.: The time-triggered model of computation. In: Proceedings 19th IEEE Real-Time Systems Symposium, pp. 168–177 (1998). https://doi.org/10.1109/REAL.1998.739743

  30. Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications, 2nd edn. Springer Publishing Company, Incorporated (2011)

    Book  MATH  Google Scholar 

  31. Larsen, K.G., Pettersson, P., Yi, W.: UPPAAL in a nutshell. Int. J. Softw. Tools Technol. Transfer 1(1–2), 134–152 (1997). https://doi.org/10.1007/s100090050010

    Article  MATH  Google Scholar 

  32. Leveson, N.G.: The Therac-25: 30 years later. Computer 50(11), 8–11 (2017). https://doi.org/10.1109/MC.2017.4041349

    Article  Google Scholar 

  33. McColl, C., Estivill-Castro, V., McColl, M., Hexel, R.: Verifiable executable models for decomposable real-time systems. In: Ferreira Pires, L., Hammoudi, S., Seidewitz, E. (eds.) Proceedings of the 10th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2022, pp. 182–193. SCITEPRESS (2022). https://doi.org/10.5220/0010812200003119

  34. M\(^{c}\)Coll, C., Estivill-Castro, V., Hexel, R.: An OO and functional framework for versatile semantics of logic-labelled finite state machines. In: The Twelfth International Conference on Software Engineering Advances, pp. 238–243 (2017)

    Google Scholar 

  35. M\(^c\)Coll, C., Estivill-Castro, V., Hexel, R.: Versatile but precise semantics for logic-labelled finite state machines. Int. J. Adv. Softw. 11(3), 227–238 (2018)

    Google Scholar 

  36. Myers, T., Dromey, R.G.: From requirements to embedded software - formalising the key steps. In: 20th Australian Software Engineering Conference (ASWEC 2009), pp. 23–33. IEEE Computer Society (14th-17th April 2009). https://doi.org/10.1109/ASWEC.2009.37

  37. Myers, T., Dromey, R.G., Fritzson, P.: Comodeling: from requirements to an integrated software/hardware model. Computer 44(4), 62–70 (2011). https://doi.org/10.1109/MC.2010.270

    Article  Google Scholar 

  38. Park, P., Coleri Ergen, S., Fischione, C., Lu, C., Johansson, K.H.: Wireless network design for control systems: a survey. IEEE Commun. Surv. Tutor. 20(2), 978–1013 (2018). https://doi.org/10.1109/COMST.2017.2780114

    Article  Google Scholar 

  39. Pastor, O., Pierantonio, A., Rossi, G.: Teaching modeling in the time of agile development. Computer 55(06), 73–76 (2022). https://doi.org/10.1109/MC.2022.3144929

    Article  Google Scholar 

  40. Pham, V.C., Radermacher, A., Gérard, S., Li, S.: Complete code generation from UML state machine. In: Ferreira Pires, L., Hammoudi, S., Selic, B. (eds.) Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2017, Porto, Portugal, February 19–21, 2017, pp. 208–219. SciTePress (2017)

    Google Scholar 

  41. Rumbaugh, J.R., Blaha, M.R., Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modeling and Design. Prentice-Hall (1991)

    Google Scholar 

  42. Sahu, S., Schorr, R., Medina-Bulo, I., Wagner, M.: Model translation from papyrus-RT into the nuXmv model checker. In: Cleophas, L., Massink, M. (eds.) SEFM 2020. LNCS, vol. 12524, pp. 3–20. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-67220-1_1

    Chapter  Google Scholar 

  43. Samek, M.: Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems. Newnes, Newton, MA, USA (2008)

    Book  Google Scholar 

  44. Shlaer, S., Mellor, S.: Object Lifecycles. Yourdon Press, New Jersey (1992)

    MATH  Google Scholar 

  45. Simons, A.: On the compositional properties of UML statechart diagrams. In: Rigorous Object-Oriented Methods 2000. Electronic Workshops in Computering (eWiC), New York (2000)

    Google Scholar 

  46. Sommerville, I.: Software engineering, 10th Edition. International computer science series, Addison-Wesley (2016). https://www.worldcat.org/oclc/65978675

  47. Stankovic, J.A.: Misconceptions about real-time computing: a serious problem for next-generation systems. Computer 21(10), 10–19 (1988). https://doi.org/10.1109/2.7053

    Article  Google Scholar 

  48. Stevens, R., Brook, P., Jackson, K., Arnold, S.: Systems Engineering. Coping with Complexity. Prentice Hall Europe, London (1998)

    Google Scholar 

  49. The Object Management Group: Information technology - Object Management Group Unified Modeling Language (OMG UML), Infrastructure. ISO/IEC 19505–1:2012(E), ISO (2012)

    Google Scholar 

  50. Wagner, F.: Modeling Software with Finite State Machines: A Practical Approach. Auerbach Publications, New York (2006)

    Book  MATH  Google Scholar 

  51. Wagner, F., Wolstenholme, P.: Modeling and building reliable, re-useable software. In: 10th IEEE International Conference on Engineering of Computer-Based Systems (ECBS 2003), pp. 277–286. IEEE (2003)

    Google Scholar 

  52. Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT press (1993)

    Google Scholar 

  53. Winter, K., J., H.I., Colvin, R.: Integrating requirements: The behavior tree philosophy. In: Fiadeiro, J.L., Gnesi, S., Maggiolo-Schettini, A. (eds.) 8th IEEE International Conference on Software Engineering and Formal Methods, SEFM 2010, pp. 41–50. IEEE Computer Society (2010). https://doi.org/10.1109/SEFM.2010.13

  54. Zhang, F., Zhao, Y., Ma, D., Niu, W.: Formal verification of behavioral AADL models by stateful timed CSP. IEEE Access 5, 27421–27438 (2017). https://doi.org/10.1109/ACCESS.2017.2770323

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vladimir Estivill-Castro .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

McColl, C., Estivill-Castro, V., McColl, M., Hexel, R. (2023). Decomposable and Executable Models for Verification of Real-Time Systems. In: Pires, L.F., Hammoudi, S., Seidewitz, E. (eds) Model-Driven Engineering and Software Development. MODELSWARD MODELSWARD 2021 2022. Communications in Computer and Information Science, vol 1708. Springer, Cham. https://doi.org/10.1007/978-3-031-38821-7_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-38821-7_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-38820-0

  • Online ISBN: 978-3-031-38821-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics