Content deleted Content added
Basgunnink (talk | contribs) |
No edit summary |
||
(45 intermediate revisions by 24 users not shown) | |||
Line 1:
{{Short description|Computer simulation interface}}
{{Infobox standardref
| title
| status
| year_started
| version
| url=https://fmi-standard.org/docs/3.0.2/
| title=FMI Specification 3.0
| publisher=github.com/modelica
| date=2024-11-27
| accessdate=2024-12-25}}</ref>
| version_date = {{Start date and age|2024|11|27}}
| organization = [https://modelica.org/association/ Modelica Association Project (MAP)]
| base_standards =
| related_standards = [[Co-simulation]]
| abbreviation = FMI
| ___domain = [[Computer simulation]]
| license = [[Creative Commons licenses|CC BY-SA-4.0]]
| website = [https://fmi-standard.org/ FMI website]
}}
The '''Functional Mock-up Interface''' (or '''FMI''') defines a standardized [[Interface (computing)|interface]] to be used in [[computer simulation]]s to develop complex [[cyber-physical system]]s.
The vision of
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]] under the name of
The FMI Standard provides three interface types for different aspects of models:
* FMI for model exchange,
* FMI for [[co-simulation]],
* FMI for
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).<ref name="modelica_Jan10">{{cite web| url=https://www.modelica.org/publications/newsletters/2010-1/index_html#item8| title=Functional Mockup Interface (FMI)| publisher=modelica.org| date=January 2010| quote=''On Jan. 26, version 1.0 of the open Functional Mockup Interface was released (FMI for model exchange 1.0). This interface was developed in the ITEA2 MODELISAR project to support the model exchange between modelling and simulation tools. The Modelisar project is coordinated by Dassault Systèmes. The FMI development has been organized by Daimler.''| accessdate=2011-12-22}}</ref>
== The FMI approach ==
Line 52 ⟶ 42:
==License==
The [https://www.fmi-standard.org/downloads
* the specifications are licensed under CC
* the C-header and XML-schema files that accompany this document are available under the [http://www.opensource.org/licenses/bsd-license.html BSD] license with the extension that modifications must also be provided under the BSD license.
Line 64 ⟶ 54:
==Example==
Below is an example of an FMI model description issued from [[Modelica]].
<
<?xml version="1.0" encoding="UTF8"?>
<fmiModelDescription
fmiVersion="1.0"
modelName="ModelicaExample"
modelIdentifier="ModelicaExample_Friction">
...
<UnitDefinitions>
Line 92 ⟶ 82:
</ModelVariables>
</fmiModelDescription>
</syntaxhighlight>
==Comparison to Simulink S-Functions==
Line 101 ⟶ 91:
| accessdate=2015-08-05}}</ref>
FMI proponents explain that FMI models have several advantages over Simulink S-Functions:<ref>{{cite web|url=http://synchronics.inria.fr/lib/exe/fetch.php/modelica-fmi-elmqvist.pdf |title=Functional Mockup Interface – Overview |author1=Martin Otter |author2=Hilding Elmqvist |author3=Torsten Blochwitz |author4=Jakob Mauss |author5=Andreas Junghanns |author6=Hans Olsson |work=synchronics.inria.fr |publisher=[[National Institute for Research in Computer Science and Control|INRIA]] |accessdate=2011-01-23 |
* S-Functions format is proprietary, whereas the FMI schema is licensed under a [[BSD licenses|BSD license]].
* The building blocks of S-Functions are much more complex than FMI, making it very difficult to integrate in simulators other than Simulink itself.
Line 107 ⟶ 97:
* S-Functions are not suited for [[embedded system]]s, due to the memory overhead of S-Functions.
{{Infobox standardref
| title = System Structure and Parameterization
| status = Published
| version = 2.0<ref>{{cite web
| url=https://ssp-standard.org/docs/2.0/
| title=SSP Specification 2.0
| date=2024-12-20}}</ref>
| organization = [https://modelica.org/association/ Modelica Association Project (MAP)]
| base_standards =
| related_standards = [[Co-simulation]]
| abbreviation = SSP
| ___domain = [[Computer simulation]]
| license = [[Creative Commons licenses|CC BY-SA-4.0]]
| website = [http://ssp-standard.org/ SSP website]
}}
== System Structure and Parameterization (SSP) ==
[[System Structure and Parameterization]] ('''SSP''')<ref name="ssp-standard">{{cite web
| title = SSP Standard Webpage
| publisher = Modelica Association Project SSP
| date = 2023
| url = https://ssp-standard.org/
|access-date=2023-05-11
}}</ref> is a companion standard to FMI that defines a standardized, open file format to describe complex, hierarchical (technical) systems, that can be simulated. An SSP file contains definitions for system
architecture, the interfaces of the system elements, and their connections and parameterization.
The aim of SSP is to simplify the exchange and integration of system elements that are used in the
distributed development of a system to be simulated using a wide variety of tools.
<ref name="Hallqvist2021">{{cite web
| title = Engineering Domain Interoperability Using the System Structureand Parameterization (SSP) Standard
| publisher = Proc. 14th Modelica Conference
| date = 2021
| url = https://ecp.ep.liu.se/index.php/modelica/article/view/180/140
| doi = 10.3384/ecp2118137
| last1 = Hällqvist
| first1 = Robert
| last2 = Munjulury
| first2 = Raghu Chaitanya
| last3 = Braun
| first3 = Robert
| last4 = Eek
| first4 = Magnus
| last5 = Krus
| first5 = Petter }}</ref>
SSP is being developed as a project of the Modelica Association and is based
on the FMI specification. FMI enables the exchange of individual simulation
components, while SSP enables the exchange of complete simulation systems, their variants and
parameterization. The simulation components of a simulation system described in SSP can also be
independent of FMI and map to other implementations.
SSP is extensible to support specific requirements or ___domain-specific extensions: e.g. OSI, documentation of requirements, traceability or process steps, etc. SSP is open with regard to the component formats. Although it was based on FMI, it can also be used with components specifications of any other format.
== Accompanying standards and recommendations ==
Line 181 ⟶ 154:
==See also==
* [[20-sim]]
* [[Modelica]]
* [[Simulink]]
Line 189 ⟶ 163:
==External links==
* [http://functional-mockup-interface.org/ FMI main site]
* [http://ssp-standard.org/ SSP main site]
[[Category:Simulation software]]
|