Integrating Formal Verification and Simulation of Hybrid Systems - Rodin Multi-simulation Plug-in

Vitaly Savicks, Michael Butler, John Colley


The heterogeneous nature of hybrid systems, which consist of interleaving computational and physical domains, often represented by a hierarchy of different components, makes it difficult to use a single development tool. It is also coming into practice that an application of some formal method is required for the rigorous analysis and assurance of the safety of a developed system. This leads to an evident conclusion that a means of integrating the existing domain-specific tools and technologies with the emphasis on formal methods is required. In this work we focus on the idea of integrating formal modelling/verification with industrial-level simulation tools for different domains, as we think this can negate or minimise the limitations of the physical development in formal methods and the absence of the rigorous analysis in simulation tools. We propose an integration approach based on the co-simulation between Event-B formal method and a general class of physical simulators. Using the Functional Mock-up Interface standard we developed this idea into a Rodin Multi-Simulation tool for the Rodin platform.


  1. Abrial, J. (2010). Modeling in Event-B: system and software engineering. Cambridge University Press.
  2. Abrial, J., Butler, M., Hallerstede, S., Hoang, T., Mehta, F., and Voisin, L. (2010). Rodin: an open toolset for modelling and reasoning in Event-B. International Journal on Software Tools for Technology Transfer (STTT), 12(6):447-466.
  3. Abrial, J., Lee, M., Neilson, D., Scharbach, P., and Sørensen, I. (1991). The B-method. In VDM'91 Formal Software Development Methods, pages 398-405. Springer.
  4. Association, M. et al. (2000). Modelica-a unified object-oriented language for physical systems modeling: Tutorial version 1.4. [Online]
  5. Back, R.-J. (1990). Refinement calculus, part II: Parallel and reactive programs. In Stepwise Refinement of Distributed Systems Models, Formalisms, Correctness, pages 67-93. Springer.
  6. Blochwitz, T., Otter, M., Akesson, J., Arnold, M., Clauss, C., Elmqvist, H., Friedrich, M., Junghanns, A., Mauss, J., Neumerkel, D., et al. (2012). Functional mockup interface 2.0: The standard for tool independent exchange of simulation models. In 9th International Modelica Conference, Munich.
  7. Blochwitz, T., Otter, M., Arnold, M., Bausch, C., Clauß, C., Elmqvist, H., Junghanns, A., Mauss, J., Monteiro, M., Neidhold, T., et al. (2011). The Functional Mockup Interface for tool independent exchange of simulation models. In Modelica'2011 Conference, March, pages 20-22.
  8. Brooks, C., Lee, E. A., Liu, X., Zhao, Y., Zheng, H., Bhattacharyya, S. S., Cheong, E., Goel, M., Kienhuis, B., Liu, J., et al. (2005). Ptolemy II: Heterogeneous concurrent modeling and design in Java.
  9. Butler, M. and Maamria, I. (2013). Practical theory extension in event-b. In Theories of Programming and Formal Methods, pages 67-81. Springer.
  10. Edmunds, A. and Butler, M. (2011). Tasking Event-B: An extension to Event-B for generating concurrent code.
  11. Fitzgerald, J., Larsen, P., Pierce, K., Verhoef, M., and Wolff, S. (2010). Collaborative modelling and co-simulation in the development of dependable embedded systems. In Integrated Formal Methods, pages 12-26. Springer.
  12. Fritzson, P. and Engelson, V. (1998). Modelica - a unified object-oriented language for system modeling and simulation. In ECOOP'98-Object-Oriented Programming, pages 67-90. Springer.
  13. Gnesi, S. and Margaria, T. (2013). Formal Methods for Industrial Critical Systems. Wiley Online Library.
  14. Lee, E. A. (2008). Cyber physical systems: Design challenges. In International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing (ISORC). Invited Paper.
  15. Leuschel, M. and Butler, M. (2008). ProB: an automated analysis toolset for the B method. International Journal on Software Tools for Technology Transfer, 10(2):185-203.
  16. Marwedel, P. (2010). Embedded and cyber-physical systems in a nutshell.
  17. Mazor, S. and Langstraat, P. (1993). A Guide to VHDL. Springer US.
  18. MODELISAR (2010). Functional Mock-up Interface for Co-Simulation, Version 1.0.
  19. Savicks, V., Butler, M., and Colley, J. (2014). Co-simulating Event-B and continuous models via FMI.
  20. Silva, R., Pascal, C., Hoang, T. S., and Butler, M. (2011). Decomposition tool for event-b. Software: Practice and Experience, 41(2):199-208.
  21. Snook, C. and Butler, M. (2008). UML-B and Event-B: an integration of languages and tools.
  22. Tudoret, S., Nadjm-Tehrani, S., Benveniste, A., and Strömberg, J. (2000). Co-simulation of hybrid systems: Signal-Simulink. In Formal Techniques in Real-Time and Fault-Tolerant Systems, pages 623- 639. Springer.

Paper Citation

in Harvard Style

Savicks V., Butler M. and Colley J. (2014). Integrating Formal Verification and Simulation of Hybrid Systems - Rodin Multi-simulation Plug-in . In Doctoral Consortium - DCSIMULTECH, (SIMULTECH 2014) ISBN Not Available, pages 29-34

in Bibtex Style

author={Vitaly Savicks and Michael Butler and John Colley},
title={Integrating Formal Verification and Simulation of Hybrid Systems - Rodin Multi-simulation Plug-in},
booktitle={Doctoral Consortium - DCSIMULTECH, (SIMULTECH 2014)},
isbn={Not Available},

in EndNote Style

JO - Doctoral Consortium - DCSIMULTECH, (SIMULTECH 2014)
TI - Integrating Formal Verification and Simulation of Hybrid Systems - Rodin Multi-simulation Plug-in
SN - Not Available
AU - Savicks V.
AU - Butler M.
AU - Colley J.
PY - 2014
SP - 29
EP - 34
DO -