Determinate composition of FMUs for co-simulation

In this paper, we explain how to achieve deterministic execution of FMUs (Functional Mockup Units) under the FMI (Functional Mockup Interface) standard. In particular, we focus on co-simulation, where an FMU either contains its own internal simulation algorithm or serves as a gateway to a simulation tool. We give conditions on the design of FMUs and master algorithms (which orchestrate the execution of FMUs) to achieve deterministic co-simulation. We show that with the current version of the standard, these conditions demand capabilities from FMUs that are optional in the standard and rarely provided by an FMU in practice. When FMUs lacking these required capabilities are used to compose a model, many basic modeling capabilities become unachievable, including simple discrete-event simulation and variable-step-size numerical integration algorithms. We propose a small extension to the standard and a policy for designing FMUs that enables deterministic execution for a much broader class of models. The extension enables a master algorithm to query an FMU for the time of events that are expected in the future. We show that a model can be executed deterministically if all FMUs in the model are either memoryless or implement one of rollback or step-size prediction. We show further that such a model can contain at most one “legacy” FMU that is not memoryless and provides neither rollback nor step-size prediction.

[1]  Natarajan Shankar,et al.  Tool Integration with the Evidential Tool Bus , 2013, VMCAI.

[2]  TripakisStavros,et al.  Modular code generation from synchronous block diagrams , 2009 .

[3]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[4]  Andreas Junghanns,et al.  The Functional Mockup Interface for Tool independent Exchange of Simulation Models , 2011 .

[5]  Timothy Bourke,et al.  Non-standard semantics of hybrid systems modelers , 2012, J. Comput. Syst. Sci..

[6]  Zohar Manna,et al.  From Timed to Hybrid Systems , 1991, REX Workshop.

[7]  Alberto L. Sangiovanni-Vincentelli,et al.  Interchange Format for Hybrid Systems: Abstract Semantics , 2006, HSCC.

[8]  Stephen A. Edwards,et al.  The semantics and execution of a synchronous block-diagram language , 2003, Sci. Comput. Program..

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

[10]  Edward A. Lee,et al.  A modular formal semantics for Ptolemy† , 2013, Mathematical Structures in Computer Science.

[11]  Edward A. Lee,et al.  Operational Semantics of Hybrid Systems , 2005, HSCC.

[12]  Paul Klint The ToolBus: A Service-Oriented Architecture for Language-Processing Tools , 2007, ERCIM News.

[13]  Michael Wetter,et al.  Co-simulation of building energy and control systems with the Building Controls Virtual Test Bed , 2011 .

[14]  Dale Skeen,et al.  The Information Bus: an architecture for extensible distributed systems , 1994, SOSP '93.

[15]  Andreas Junghanns,et al.  Functional Mockup Interface 2.0: The Standard for Tool independent Exchange of Simulation Models , 2012 .

[16]  Wilhelm Tegethoff,et al.  Simulation of complex systems using Modelica and tool coupling , 2006 .

[17]  Axel Jantsch,et al.  System modeling and transformational design refinement in ForSyDe [formal system design] , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[18]  Peter Schneider,et al.  Master for Co-Simulation Using FMI , 2011 .

[19]  David Broman,et al.  Modelyze : a Gradually Typed Host Language for Embedding Equation-Based Modeling Languages , 2012 .

[20]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[21]  Pieter J. Mosterman,et al.  A computational model of time for stiff hybrid systems applied to control synthesis , 2012 .

[22]  Alberto L. Sangiovanni-Vincentelli,et al.  Interchange Formats for Hybrid Systems: Review and Proposal , 2005, HSCC.

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

[24]  John M. Rushby An Evidential Tool Bus , 2005, ICFEM.

[25]  Marc Pouzet,et al.  The fundamentals of hybrid systems modelers , 2010, 49th IEEE Conference on Decision and Control (CDC).

[26]  Stavros Tripakis,et al.  Modular code generation from synchronous block diagrams: modularity vs. code size , 2009, POPL '09.

[27]  Pieter J. Mosterman,et al.  Stream and State-Based Semantics of Hierarchy in Block Diagrams , 2008 .

[28]  Stavros Tripakis,et al.  Modular code generation from synchronous block diagrams: modularity vs. code size , 2009, POPL '09.