Functional Mock-up Interface
   HOME

TheInfoList



OR:

The Functional Mock-up Interface (or FMI) defines a standardized
interface Interface or interfacing may refer to: Academic journals * ''Interface'' (journal), by the Electrochemical Society * '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics'' * '' Int ...
to be used in
computer simulation Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be dete ...
s to develop complex
cyber-physical system A cyber-physical system (CPS) or intelligent system is a computer system in which a Mechanism (engineering), mechanism is controlled or monitored by computer-based algorithms. In cyber-physical systems, physical and software components are deeply ...
s. The vision of FMI is to support this approach: if the real product is to be assembled from a wide range of parts interacting in complex ways, each controlled by a complex set of
physical law Scientific laws or laws of science are statements, based on repeated experiments or observations, that describe or predict a range of natural phenomena. The term ''law'' has diverse usage in many cases (approximate, accurate, broad, or narrow) a ...
s, then it should be possible to create a virtual product that can be assembled from a set of models that each represent a combination of parts, each a model of the physical laws as well as a model of the
control system A control system manages, commands, directs, or regulates the behavior of other devices or systems using control loops. It can range from a single home heating controller using a thermostat controlling a domestic boiler to large industrial c ...
s (using
electronics The field of electronics is a branch of physics and electrical engineering that deals with the emission, behaviour and effects of electrons using electronic devices. Electronics uses active devices to control electron flow by amplification ...
,
hydraulics Hydraulics (from Greek: Υδραυλική) is a technology and applied science using engineering, chemistry, and other sciences involving the mechanical properties and use of liquids. At a very basic level, hydraulics is the liquid counter ...
, and digital
software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
) assembled digitally. The FMI standard thus provides the means for model based development of systems and is used for example for designing functions that are driven by electronic devices inside vehicles (e.g. ESP controllers, active safety systems, combustion controllers). Activities from systems modelling, simulation, validation and test can be covered with the FMI based approach. To create the FMI standard, a large number of software companies and research centers have worked in a cooperation project established through a European consortium that has been conducted by
Dassault Systèmes Dassault Systèmes SE () (abbreviated 3DS) is a French software corporation which develops software for 3D product design, simulation, manufacturing and other 3D related products. Founded in 1981, it is headquartered in Vélizy-Villacoublay, Fr ...
under the name of MODELISAR. The MODELISAR project started in 2008 to define the FMI specifications, deliver technology studies, prove the FMI concepts through use cases elaborated by the consortium partners and enable tool vendors to build advanced prototypes or in some cases even products. The development of the FMI specifications was coordinated by
Daimler AG The Mercedes-Benz Group AG (previously named Daimler-Benz, DaimlerChrysler and Daimler) is a German multinational automotive corporation headquartered in Stuttgart, Baden-Württemberg, Germany. It is one of the world's leading car manufacture ...
. After the end of the MODELISAR project in 2011, FMI is managed and developed as
Modelica Association Project (MAP)
The four required FMI aspects of creating models capable of being assembled have been covered in Modelisar project: * FMI for model exchange, * FMI for
co-simulation In co-simulation, the different subsystems which form a coupled problem are modeled and simulated in a distributed manner. Hence, the modeling is done on the subsystem level without having the coupled problem in mind. Furthermore, the coupled si ...
, * FMI for applications, * FMI for PLM (integration of models and related data in product life-cycle management). In practice, the FMI implementation by a software modelling tool enables the creation of a simulation model that can be interconnected or the creation of a software library called FMU (Functional Mock-up Unit).


The FMI approach

The typical FMI approach is described in the following stages: * a modelling environment describes a product sub-system by differential, algebraic and discrete equations with time, state and step-events. These models can be large for usage in off-line or on-line simulation or can be used in embedded control systems; * as an alternative, an engineering tool defines the controller code for controlling a vehicle system; * such tools generate and export the component in an FMU (Functional Mock-up Unit); * an FMU can then be imported in another environment to be executed; * several FMUs can – by this way – cooperate at runtime through a co-simulation environment, thanks to the FMI definitions of their interfaces.


License

Th
FMI specifications
are distributed under open source licenses: * the specifications are licensed under CC BY-SA (Creative Commons Attribution-Sharealike 3.0 Unported) CC BY-SA 3.0 * the C-header and XML-schema files that accompany this document are available under th
BSD
license with the extension that modifications must also be provided under the BSD license.


Architecture

Each FMU (Functional Mock-up Unit) is distributed in a
zip file ZIP is an archive file format that supports lossless data compression. A ZIP file may contain one or more files or directories that may have been compressed. The ZIP file format permits a number of compression algorithms, though DEFLATE is th ...
with the extension ".fmu" which contains: * an XML file containing among other things the definition of the variables used by the FMU; * all the equations used by the model (defined as a set of C functions); * optional other data, such as parameter tables, user interface, documentation which may be needed by the model.


Example

Below is an example of an FMI model description issued from
Modelica Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process- ...
. ... ...


Comparison to Simulink S-Functions

FMI is often compared to
Simulink Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers t ...
S-Functions since both technologies can be used to integrate third-party tools together. S-Functions are used to specify a computer language description of a dynamic system. They are compiled as MEX-files that are dynamically linked into
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
when needed. S-Functions use a calling syntax that interacts with Simulink’s equation solvers. This interaction is similar to the interaction that takes place between built-in Simulink blocks and the solvers. FMI proponents explain that FMI models have several advantages over Simulink S-Functions: * S-Functions format is proprietary, whereas the FMI schema is licensed under a
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
. * The building blocks of S-Functions are much more complex than FMI, making it very difficult to integrate in simulators other than Simulink itself. * Furthermore, the S-Functions format is specific to Simulink. * S-Functions are not suited for
embedded system An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded'' as ...
s, due to the memory overhead of S-Functions. There are also several limitations cited when using FMI/FMU: * Memory - Parameters, states, inputs, and outputs are not exposed directly to the outside, which is in contrast to how ECU software is normally organized with respect to memory to allow transparency, simplicity, and efficiency. * Event handling - Events could increase the runtime for real-time systems in an unpredictable manner. * Potentially dangerous features can be included on ECU - Some features that make sense for offline simulations should not be present on the ECU. Examples of features that are either supported or not explicitly forbidden in the FMI include logging and I/O operations such as print(). * Data type support - More supported data types are necessary for optimized code. For example, there is not a way to distinguish between a uint8 and uint32 variable.


Accompanying standards and recommendations

In May 2014, the project group Smart Systems Engineering (SmartSE) of the
ProSTEP iViP Prostep ivip is an association with its headquarters in Darmstadt, Germany. Founded in 1993 as ProSTEP Association for the Promotion of Product Data Standards and later renamed to ProSTEP iViP Association in 2002, and since May 2017 the associati ...
Association published its Recommendation PSI 11 for the cross-company behavior model exchange. FMI thereby is the technological basis. The PSI 11 specifies interaction scenarios, use cases, a reference process and templates, which thereby could ease the industrial application. End of 2016 the group published a movie, which should highlight the industrial benefits.Benefits of utilizing FMI for realizing cross-company Systems Engineering
Status February 2017


See also

*
20-sim 20-sim is commercial modeling and simulation program for multi-domain dynamic systems, which is developed by Controllab. With 20-sim, models can be entered as equations, block diagrams, bond graphs and physical components. 20-sim is widely used f ...
*
Modelica Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process- ...
*
Simulink Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers t ...


References

{{Reflist, colwidth=30em


External links


FMI main site
Simulation software