Skip to main content Accessibility help

A formal approach to collaborative modelling and co-simulation for embedded systems

  • J. S. FITZGERALD (a1), P. G. LARSEN (a2), K. G. PIERCE (a1) and M. H. G. VERHOEF (a3)


The effective use of model-based formal methods in the development of complex embedded systems requires the integration of discrete-event models of controllers with continuous-time models of their environments. This paper proposes a new approach to the development of such combined models (co-models), in which an initial discrete-event model may include approximations of continuous-time behaviour that can subsequently be replaced by couplings to continuous-time models. An operational semantics of co-simulation allows the discrete and continuous models to run on their respective simulators and managed by a coordinating co-simulation engine. This permits the exploration of the composite co-model's behaviour in a range of operational scenarios. The approach has been realised using the Vienna Development Method (VDM) as the discrete-event formalism, and 20-sim as the continuous-time framework, and has been applied successfully to a case study based on the distributed controller for a personal transporter device.



Hide All

This work was supported by the EU FP7 DESTECS project.



Hide All
van Amerongen, J. (2010) Dynamical Systems for Creative Technology, Controllab Products, Enschede, Netherlands.
Bicarregui, J., Fitzgerald, J., Lindsay, P., Moore, R. and Ritchie, B. (1994) Proof in VDM: A Practitioner's Guide, FACIT, Springer-Verlag.
Bjørner, D. and Jones, C. (eds.) (1978) The Vienna Development Method: The Meta-Language. Springer-Verlag Lecture Notes in Computer Science 61.
Breedveld, P. (1985) Multibond-graph elements in physical systems theory. Journal of the Franklin Institute 319 (1/2)136.
Broenink, J. F. (1990) Computer-aided physical-systems modeling and simulation: a bond-graph approach, Ph.D. thesis, Faculty of Electrical Engineering, University of Twente, Enschede, Netherlands.
Broenink, J. F. (1997) Modelling, Simulation and Analysis with 20-Sim. Journal A – Special Issue CACSD 38 (3)2225.
Campbell, S. L., Chancelier, J.-P. and Nikoukhah, R. (2006) Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4, Springer.
Cervin, al. (2006) Control loop timing analysis using truetime and jitterbug. In: Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control, 1194–1199.
Davis, al. (1999) Ptolemy-II: Heterogeneous concurrent modeling and design in Java. Technical Memorandum UCB/ERL No. M99/40, University of California at Berkeley.
Eker, al. (2003) Taming Heterogeneity – the Ptolemy Approach. Proceedings of the IEEE 91 (1)127144.
Fitzgerald, J., Larsen, P. G. and Sahara, S. (2008) VDMTools: Advances in Support for Formal Modeling in VDM. ACM Sigplan Notices 43 (2)311.
Fitzgerald, J., Larsen, P. G., Mukherjee, P., Plat, N. and Verhoef, M. (2005) Validated Designs for Object–oriented Systems, Springer.
Fitzgerald, J., Larsen, P. G., Pierce, K., Verhoef, M. and Wolff, S. (2010) Collaborative Modelling and Co-simulation in the Development of Dependable Embedded Systems. In: Méry, D. and Merz, S. (eds.) IFM 2010, Integrated Formal Methods. Springer-Verlag Lecture Notes in Computer Science 6396 1226.
Gheorghe, L., Bouchhima, F., Nicolescu, G. and Boucheneb, H. (2006) Formal definitions of simulation interfaces in a continuous/discrete co-simulation tool. In: RSP '06: Proceedings of the Seventeenth IEEE International Workshop on Rapid System Prototyping 186–192.
Heemels, M. and Muller, G. (2007) Boderc: Model-Based Design of High-tech Systems (second edition), Embedded Systems Institute, Den Dolech 2, Eindhoven, The Netherlands.
Henzinger, T. A., Horowitz, B. and Kirsch, C. M. (2003) Giotto: A Time-Triggered Language for Embedded Programming. Proceedings of the IEEE 91 (1)8499.
Hooman, J. and Verhoef, M. (2010) Formal semantics of a VDM extension for distributed embedded systems. In: Dams, D., Hannemann, U. and Steffen, M. (eds.) Concurrency, Compositionality, and Correctness, Essays in Honor of Willem-Paul de Roever. Springer-Verlag Lecture Notes in Computer Science 5930 142161.
Hooman, J., Mulyar, N. and Posta, L. (2004) Coupling Simulink and UML Models. In: Schnieder, B. and Tarnai, G. (eds.) Proceedings of Symposium FORMS/FORMATS 2004, Formal Methods for Automation and Safety in Railway and Automotive Systems, Braunschweig304311.
Jones, C. B. and Middelburg, K. (1993) A typed logic of partial functions reconstructed classically. Technical Report 89, Department of Philosophy, Utrecht University.
Karnopp, D. C., Margolis, D. L. and Rosenberg, R. C. (2000) System Dynamics: Modeling and Simulation of Mechatronic Systems (third edition), Wiley-Interscience.
Kleijn, C. (2006) Modelling and Simulation of Fluid Power Systems with 20-sim. International Journal of Fluid Power 7 (3).
Kurita, T. and Nakatsugawa, Y. (2009) The Application of VDM++ to the Development of Firmware for a Smart Card IC Chip. International Journal of Software and Informatics 3 (2–3)343355.
Larsen, P. G. and Fitzgerald, J. (2007) Recent Industrial Applications of VDM in Japan. In: Paul Boca, J. B. and Larsen, P. G. (eds.) FACS 2007 Christmas Workshop: Formal Methods in Industry, Electronic Workshops in Computing, British Computer Society.
Larsen, P. G. and Pawłowski, W. (1995) The Formal Semantics of ISO VDM-SL. Computer Standards and Interfaces 17 (5–6)585602.
Larsen, P. G., Fitzgerald, J. and Wolff, S. (2009) Methods for the Development of Distributed Real-Time Embedded Systems using VDM. International Journal of Software and Informatics 3 (2–3).
Larsen, P. al. (2010) The Overture Initiative – Integrating Tools for VDM. ACM Software Engineering Notes 35 (1).
Lee, E. A. and Zheng, H. (2007) Leveraging Synchronous Language Principles for Heterogeneous Modeling and Design of Embedded Systems. In: EMSOFT '07: Proceedings of the 7th ACM and IEEE international conference on Embedded software, ACM.
Myers, T., Dromey, G. and Fritzson, P. (2011) Comodeling: From Requirements to an Integrated Software/Hardware Model. IEEE Computer 44 (4)6270.
Nicolescu, G., Bouchhima, F. and Gheorghe, L. (2006) CODIS – A Framework for Continuous/Discrete Systems Co-Simulation. In: Cassandras, C. G., Giua, A., Seatzu, C. and Zaytoon, J. (eds.) Analysis and Design of Hybrid Systems, Elsevier 274275.
Robinson, S. (2004) Simulation: The Practice of Model Development and Use, John Wiley and Sons.
Theelen, al. (2007) Software/hardware engineering with the parallel object-oriented specification language. In: Proceedings of the ACM-IEEE International Conference on Formal Methods and Models for Codeesign (MEMOCODE), IEEE Computer Society 139148.
Tudoret, S., Nadjm-Tehrani, S., Benveniste, A. and Strömberg, J.-E. (2000) Co-simulation of hybrid systems: Signal-simulink. In: Joseph, M. (ed.) Formal Techniques in Real-Time and Fault-Tolerant Systems 6th International Symposium, FTRTFT 2000. Springer-Verlag Lecture Notes in Computer Science 1926 134151.
Verhoef, M. (2009) Modeling and Validating Distributed Embedded Real-Time Control Systems, Ph.D. thesis, Radboud University Nijmegen.
Verhoef, M., Larsen, P. G. and Hooman, J. (2006) Modeling and Validating Distributed Embedded Real-Time Systems with VDM++. In: Misra, J., Nipkow, T. and Sekerinski, E. (eds.) FM 2006: Formal Methods. Springer-Verlag Lecture Notes in Computer Science 4085 147162.
Woodcock, J., Larsen, P. G., Bicarregui, J. and Fitzgerald, J. (2009) Formal Methods: Practice and Experience. ACM Computing Surveys 41 (4)136.


Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed