The Information Bus: an architecture for extensible distributed systems
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Proceedings of the Real-Time: Theory in Practice, REX Workshop
The semantics and execution of a synchronous block-diagram language
Science of Computer Programming
Leveraging synchronous language principles for heterogeneous modeling and design of embedded systems
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Modular code generation from synchronous block diagrams: modularity vs. code size
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interchange format for hybrid systems: abstract semantics
HSCC'06 Proceedings of the 9th international conference on Hybrid Systems: computation and control
ICFEM'05 Proceedings of the 7th international conference on Formal Methods and Software Engineering
Operational semantics of hybrid systems
HSCC'05 Proceedings of the 8th international conference on Hybrid Systems: computation and control
Interchange formats for hybrid systems: review and proposal
HSCC'05 Proceedings of the 8th international conference on Hybrid Systems: computation and control
Non-standard semantics of hybrid systems modelers
Journal of Computer and System Sciences
System modeling and transformational design refinement in ForSyDe [formal system design]
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Hi-index | 0.00 |
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.