Functional Mock-up Interface: Difference between revisions

Content deleted Content added
Cbertsch (talk | contribs)
Add link to a (future) SSP Wikipedia entry
No edit summary
 
(14 intermediate revisions by 4 users not shown)
Line 1:
{{Short description|Computer simulation interface}}
{{Infobox standardref
| title = Functional Mock-up Interface
| status = Published
| year_started = 2010
| version = 3.0.2<ref>{{cite web
| url=https://fmi-standard.org/docs/3.0.2/
| title=FMI Specification 3.0
| publisher=github.com/modelica
| date=20222024-0511-1027
| accessdate=20232024-0212-0725}}</ref>
| version_date = {{Start date and age|2022|052024|11|27}}
| organization = [https://www.modelica.org/projectsassociation/ Modelica Association Project (MAP)]
| base_standards =
| related_standards = [[Co-simulation]]
| abbreviation = FMI
| ___domain = [[Computer simulation]]
| license = [[Creative Commons licenses|CC BY-SA-34.0]]
| website = [httphttps://functionalfmi-mockup-interfacestandard.org/ FMI website]
}}
 
Line 23 ⟶ 24:
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]]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]]s (using [[electronics]], [[hydraulics]], and digital [[software]]) 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]] 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]]. After the end of the MODELISAR project in 2011, FMI is managed and developed as a [https://www.modelica.org/projectsassociation/ Modelica Association Project (MAP)].
 
The FMI Standard provides three interface types for different aspects of models:
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]],
* FMI for applications,scheduled execution (since FMI 3.0)
* FMI for [[Product life cycle management (marketing)|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).<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>
Line 43:
==License==
The [https://www.fmi-standard.org/downloads FMI specifications] are distributed under open source licenses:
* the specifications are licensed under CC BY-SA (Creative Commons Attribution-Sharealike 34.0 Unported) [[Creative Commons licenses|CC BY-SA 34.0]]
* 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 96:
* Furthermore, the S-Functions format is specific to Simulink.
* S-Functions are not suited for [[embedded system]]s, due to the memory overhead of S-Functions.
 
There are also several limitations cited when using FMI/FMU:<ref>{{cite web
| url=http://www.ep.liu.se/ecp/118/004/ecp1511843.pdf
| title=FMI for physical models on automotive embedded targets
|author1=Christian Bertsch |author2=Jonathan Neudorfer |author3=Elmar Ahle |author4=Siva Sankar Arumugham |author5=Karthikeyan Ramachandran |author6=Andreas Thuy | publisher=Proceedings of the 11th International Modelica Conference)
| accessdate=2015-09-21}}</ref>
* 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.
 
{{Infobox standardref
| title = System Structure and Parameterization
| status = Published
| version = 12.0<ref>{{cite web
| url=https://ssp-standard.org/publicationsdocs/SSP10/SystemStructureAndParameterization102.pdf0/
| title=SSP Specification 12.0
| date=20192024-0312-0520}}</ref>
| organization = [https://www.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-34.0]]
| website = [http://ssp-standard.org/ SSP website]
}}
Line 131 ⟶ 121:
| 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
}}</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