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

The development of embedded computing systems poses significant challenges. The increasing complexity of distributed control and the need to provide evidence to support assurance of safety suggest that there is merit in adopting model-based formal methods. However, such approaches require effective collaboration between the engineering disciplines involved, and in particular 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 continuoustime behaviour that can later be replaced by couplings to continuous-time models. An operational semantics of co-simulation then allows the discrete and continuous models to run on their respective simulators, managed by a coordinating cosimulation 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. © 2011 Newcastle University. Printed and published by Newcastle University, Computing Science, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, England. Bibliographical details FITZGERALD, J.S., LARSEN, P.G., PIERCE, K.G., VERHOEF, M.H.G. A Formal Approach to Collaborative Modelling and Co-simulation for Embedded Systems [By] J.S. Fitzgerald, P.G. Larsen, K.G. Pierce, M.H.G. Verhoef Newcastle upon Tyne: Newcastle University: Computing Science, 2011. (Newcastle University, Computing Science, Technical Report Series, No. CS-TR-1264)

[1]  R. Rosenberg,et al.  System Dynamics: Modeling and Simulation of Mechatronic Systems , 2006 .

[2]  Felix Naumann,et al.  Data fusion , 2009, CSUR.

[3]  Cliff B. Jones,et al.  Scientific Decisions which Characterize VDM , 1999, World Congress on Formal Methods.

[4]  Jozef Hooman,et al.  Modeling and Validating Distributed Embedded Real-Time Systems with VDM++ , 2006, FM.

[5]  Stewart Robinson,et al.  Simulation: The Practice of Model Development and Use , 2004 .

[6]  Jozef Hooman,et al.  COUPLING SIMULINK AND UML MODELS , .

[7]  P. Breedveld Multibond graph elements in physical systems theory , 1985 .

[8]  Gabriela Nicolescu,et al.  Codis - a Framework for continuous/discrete Systems Co-simulation , 2006, ADHS.

[9]  Bo Stig Hansen,et al.  Information technology - Programming languages, their environments and system software interfaces: Vienna DevelopmentMethod - Specification Language - Part 1: Base language , 1996 .

[10]  Johannes F. Broenink,et al.  Modelling, Simulation and Analysis with 20-Sim , 1997 .

[11]  Peter Gorm Larsen,et al.  Validated Designs for Object-oriented Systems , 2004 .

[12]  Nick Battle,et al.  The overture initiative integrating tools for VDM , 2010, ACM SIGSOFT Softw. Eng. Notes.

[13]  Taro Kurita,et al.  The Application of VDM to the Industrial Development of Firmware for a Smart Card IC Chip , 2009, Int. J. Softw. Informatics.

[14]  Daniel Jackson,et al.  Lightweight Formal Methods , 2001, FME.

[15]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[16]  Peter Gorm Larsen,et al.  Methods for the Development of Distributed Real-Time Embedded Systems Using VDM , 2009, Int. J. Softw. Informatics.

[17]  Carlo Rossi,et al.  Giotto a time-triggered language for embedded programming , 2011 .

[18]  Marcel Verhoef,et al.  Modeling and validating distributed embedded real-time control systems , 2009 .

[19]  Peter Gorm Larsen,et al.  Collaborative Modelling and Co-simulation in the Development of Dependable Embedded Systems , 2010, IFM.

[20]  Edward A. Lee,et al.  Ptolemy II, Heterogeneous Concurrent Modeling and Design in JAVA , 2001 .

[21]  Marc Geilen,et al.  Software/Hardware Engineering with the Parallel Object-Oriented Specification Language , 2007, 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007).

[22]  Johannes F. Broenink,et al.  Computer-aided physical-systems modeling and simulation: a bondgraph approach , 1990 .

[23]  Simin Nadjm-Tehrani,et al.  Co-simulation of Hybrid Systems: Signal-Simulink , 2000, FTRTFT.

[24]  Jean-Philippe Chancelier,et al.  Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4 , 2009 .

[25]  Cliff B. Jones,et al.  A typed logic of partial functions reconstructed classically , 1993, Acta Informatica.

[26]  Peter Gorm Larsen,et al.  The formal semantics of ISO VDM-SL , 1995 .

[27]  Gabriela Nicolescu,et al.  Formal Definitions of Simulation Interfaces in a Continuous/Discrete Co-Simulation Tool , 2006, Seventeenth IEEE International Workshop on Rapid System Prototyping (RSP'06).

[28]  Peter Fritzson,et al.  Comodeling: From Requirements to an Integrated Software/Hardware Model , 2011, Computer.

[29]  Edward A. Lee,et al.  Leveraging synchronous language principles for heterogeneous modeling and design of embedded systems , 2007, EMSOFT '07.

[30]  Peter Gorm Larsen,et al.  Recent industrial applications of VDM in Japan , 2007 .

[31]  Nick Battle,et al.  A Deterministic Interpreter Simulating a Distributed Real Time System Using VDM , 2011, ICFEM.

[32]  Jozef Hooman,et al.  Formal Semantics of a VDM Extension for Distributed Embedded Systems , 2010, Concurrency, Compositionality, and Correctness.

[33]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[34]  Peter A. Lindsay,et al.  Proof in VDM: A Practitioner's Guide , 1993, Proof in VDM.

[35]  Peter Gorm Larsen,et al.  VDMTools: advances in support for formal modeling in VDM , 2008, SIGP.