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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Transitions can be labelled by expressions in any decidable logic [8].
- 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.
The literature of timed-automata refers to the states as locations.
- 4.
- 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.
Again, model-to-model transformation replace LLFSMs with sections to LLFSMs without sections following a precisely defined semantics [12].
- 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
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
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
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
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)
Berthomieu, B., et al.: Real-time model checking support for AADL. CoRR abs/1503.00493 (2015). http://arxiv.org/abs/1503.00493
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
Bhaduri, P., Ramesh, S.: Model checking of statechart models: survey and research directions (2004). http://arxiv.org/abs/cs.SE/0407038
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
Blanchard, B.S., Fabryck, W.J.: Systems Engineering and Analysis, 5th edn. Prentice Hall, NJ (2011)
Bouyer, P., Laroussinie, F.: Model Checking Timed Automata, pp. 111–140. ISTE (2010). https://doi.org/10.1002/9780470611012.ch4
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
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
Dickerson, C., Mavris, D.N.: Architecture and Principles of Systems Engineering. CRC Press, Auerbach Publications, Taylor & Francis Group, Boca Raton, FL (2010)
Drusinsky, D.: Modeling and verification using UML statecharts - a working guide to reactive system design, runtime monitoring and execution-based model checking. Elsevier (2006)
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
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
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
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
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
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
Furrer, F.: Future-Proof Software-Systems: A Sustainable Evolution Strategy. Springer Vieweg, Berlin (2019)
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)
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
Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, New York, NY (1998)
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
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)
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)
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
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
Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications, 2nd edn. Springer Publishing Company, Incorporated (2011)
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
Leveson, N.G.: The Therac-25: 30 years later. Computer 50(11), 8–11 (2017). https://doi.org/10.1109/MC.2017.4041349
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
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)
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)
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
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
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
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
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)
Rumbaugh, J.R., Blaha, M.R., Lorensen, W., Eddy, F., Premerlani, W.: Object-Oriented Modeling and Design. Prentice-Hall (1991)
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
Samek, M.: Practical UML Statecharts in C/C++, Second Edition: Event-Driven Programming for Embedded Systems. Newnes, Newton, MA, USA (2008)
Shlaer, S., Mellor, S.: Object Lifecycles. Yourdon Press, New Jersey (1992)
Simons, A.: On the compositional properties of UML statechart diagrams. In: Rigorous Object-Oriented Methods 2000. Electronic Workshops in Computering (eWiC), New York (2000)
Sommerville, I.: Software engineering, 10th Edition. International computer science series, Addison-Wesley (2016). https://www.worldcat.org/oclc/65978675
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
Stevens, R., Brook, P., Jackson, K., Arnold, S.: Systems Engineering. Coping with Complexity. Prentice Hall Europe, London (1998)
The Object Management Group: Information technology - Object Management Group Unified Modeling Language (OMG UML), Infrastructure. ISO/IEC 19505–1:2012(E), ISO (2012)
Wagner, F.: Modeling Software with Finite State Machines: A Practical Approach. Auerbach Publications, New York (2006)
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)
Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT press (1993)
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
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
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer Nature Switzerland AG
About this paper
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)