Inferensys

Glossary

Functional Mock-up Interface (FMI)

An open standard for exchanging dynamic simulation models between different authoring tools, enabling component reuse in a co-simulation environment.
Developer demonstrating multi-agent tool use, agent tool selection interface on laptop, casual tech demo moment.
SIMULATION INTEROPERABILITY STANDARD

What is Functional Mock-up Interface (FMI)?

An open standard for exchanging dynamic simulation models between different authoring tools, enabling component reuse in a co-simulation environment.

The Functional Mock-up Interface (FMI) is a tool-independent, open standard for the exchange and co-simulation of dynamic models, defined by a zip file containing an XML model description and compiled C code binaries. It enables engineers to export a simulation component from one authoring environment and seamlessly import it into another, solving the fundamental problem of vendor lock-in in model-based systems engineering.

FMI supports two primary execution modes: Model Exchange, where the importing tool provides the numerical solver, and Co-Simulation, where the Functional Mock-up Unit (FMU) ships with its own embedded solver. This standard is critical for constructing digital twins of complex supply chains, allowing a logistics model built in one tool to be coupled with a factory simulation from another via a co-simulation bus, enabling holistic system-level analysis without re-engineering proprietary models.

INTEROPERABILITY FOUNDATIONS

Key Features of the FMI Standard

The Functional Mock-up Interface (FMI) is an open standard for exchanging dynamic simulation models between different authoring tools, enabling component reuse in a co-simulation environment.

01

Functional Mock-up Unit (FMU)

A self-contained, compressed file (.fmu) that packages a dynamic simulation model along with its metadata, binaries, and documentation. An FMU is the atomic unit of exchange in the FMI ecosystem.

  • Contents: An XML model description file, C code or compiled binaries for the target platform, and optional documentation
  • Self-Describing: The XML header exposes all variables, parameters, and solver capabilities without requiring the original authoring tool
  • Platform Portability: A single FMU can contain binaries for multiple operating systems (Windows, Linux, macOS) and architectures (x86, ARM)
02

FMI for Model Exchange

The Model Exchange interface imports the dynamic equations of a model into a target simulator, where the importing tool's own solver integrates them. The FMU provides the mathematical model; the host provides the numerical integration.

  • Solver Coupling: The FMU exposes continuous-time state derivatives and event indicators; the host solver calls these at each time step
  • Computational Efficiency: Eliminates solver overhead by leveraging the importing tool's optimized integrator
  • Use Case: Ideal when a high-fidelity engine model must run inside a vehicle dynamics simulator with a unified solver
03

FMI for Co-Simulation

The Co-Simulation interface allows each FMU to contain its own embedded solver, exchanging data only at discrete synchronization points. This decouples the internal numerics of each subsystem.

  • Solver Independence: Each FMU can use a specialized solver tailored to its physics (e.g., stiff solvers for chemical kinetics, fixed-step for real-time hardware)
  • Master Algorithm: An external orchestrator manages the communication time steps and data exchange between FMUs
  • Use Case: Co-simulating a multi-physics system where a structural dynamics tool, a CFD solver, and a control system model run as independent FMUs
04

Variable Types and Causality

FMI defines a rigorous taxonomy of variable causality attributes that govern how signals flow between connected FMUs, preventing algebraic loops and ensuring well-defined system composition.

  • Input / Output: Explicitly declared ports for signal flow; an output of one FMU connects to the input of another
  • Parameter: Tunable constants that remain fixed during a simulation run but can be changed between runs
  • CalculatedParameter: A parameter derived from other parameters at initialization time
  • Local: Internal variables not exposed to the co-simulation bus, preserving proprietary model details
05

Co-Simulation Master Algorithm

The master algorithm orchestrates the data exchange and time synchronization between multiple FMUs in a co-simulation. It defines the communication step size and the sequence of operations.

  • Explicit Coupling: Jacobi-type schemes where FMUs exchange data only at the end of each macro-step
  • Implicit Coupling: Gauss-Seidel iteration where FMUs are called sequentially within a step, using the latest available inputs
  • Variable Step-Size: The master can adapt the communication interval based on event detection or error estimation
  • Rollback Support: Advanced masters can request FMUs to revert to a previous state if an iteration fails to converge
06

Model Description XML Schema

Every FMU contains a mandatory modelDescription.xml file that serves as a machine-readable manifest. This schema is the contract between the exporting and importing tools.

  • ModelVariables: Declares every scalar variable with its name, value reference, causality, variability, and unit
  • ModelStructure: Defines the dependency graph—which outputs depend on which inputs—enabling the importing tool to compute execution order
  • UnitDefinitions: Maps variables to physical units (SI and custom), ensuring dimensional consistency across multi-tool compositions
  • Vendor Annotations: Extensible metadata for tool-specific information without breaking the standard
FMI STANDARDS EXPLAINED

Frequently Asked Questions About FMI

Clear, technical answers to the most common questions about the Functional Mock-up Interface standard for model exchange and co-simulation in digital twin and supply chain simulation environments.

The Functional Mock-up Interface (FMI) is an open, tool-independent standard for exchanging and co-simulating dynamic models between different simulation environments. It works by packaging a model's equations, solver configuration, and metadata into a single ZIP archive called a Functional Mock-up Unit (FMU) . The standard defines two primary interfaces: FMI for Model Exchange, where the importing tool provides the solver and the FMU supplies the differential algebraic equations, and FMI for Co-Simulation, where the FMU includes its own embedded solver and exposes a discrete-step API. This enables a logistics network model built in one tool to seamlessly integrate with a factory simulation from another, forming a unified co-simulation bus for end-to-end supply chain digital twin analysis.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.