A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface

The main goal of the Functional Mock-up Interface (FMI) standard is to allow the sharing of simulation models across tools. To accomplish this, FMI relies on a combination of XML-files and compiled C-code packaged in a zip archive. This archive is called a Functional Mock-up Unit (FMU). In theory, a...

Full description

Bibliographic Details
Main Authors: Lars Ivar Hatledal, Arne Styve, Geir Hovland, Houxiang Zhang
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
FMI
FMU
RPC
Online Access:https://ieeexplore.ieee.org/document/8788514/
id doaj-0adbaf44932e4ded8151a3b0b0125091
record_format Article
spelling doaj-0adbaf44932e4ded8151a3b0b01250912021-04-05T17:03:09ZengIEEEIEEE Access2169-35362019-01-01710932810933910.1109/ACCESS.2019.29332758788514A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up InterfaceLars Ivar Hatledal0https://orcid.org/0000-0001-6436-7213Arne Styve1Geir Hovland2Houxiang Zhang3Department of Ocean Operations and Civil Engineering, Norwegian University of Science and Technology, Ålesund, NorwayDepartment of ICT and Natural Sciences, Norwegian University of Science and Technology, Ålesund, NorwayDepartment of Engineering Sciences, University of Agder, Grimstad, NorwayDepartment of Ocean Operations and Civil Engineering, Norwegian University of Science and Technology, Ålesund, NorwayThe main goal of the Functional Mock-up Interface (FMI) standard is to allow the sharing of simulation models across tools. To accomplish this, FMI relies on a combination of XML-files and compiled C-code packaged in a zip archive. This archive is called a Functional Mock-up Unit (FMU). In theory, an FMU can support multiple platforms, but not necessarily in practice. Furthermore, software libraries for interacting with FMUs may not be available in a particular language or platform. Another issue is related to the protection of intellectual property (IP). While an FMU is free to only provide the C-code in its binary form, other resources within the FMU may be unprotected. Distributing models in binary form also opens up the possibility that they may contain malicious code. In order to meet these challenges, this paper presents an open-source co-simulation framework based on FMI, which is language and platform independent thanks to the use of well-established remote procedure call (RPC) technologies. One or more FMUs are wrapped inside a server program supporting one or more language independent RPC systems over various network protocols. Together, they allow cross-platform invocation of FMUs from multiple, including previously unsupported, languages. The client-server architecture allows the effective protection of IP while also providing a means of protecting users from malicious code.https://ieeexplore.ieee.org/document/8788514/Co-simulationdistributed simulationFMIFMUmodel exchangeRPC
collection DOAJ
language English
format Article
sources DOAJ
author Lars Ivar Hatledal
Arne Styve
Geir Hovland
Houxiang Zhang
spellingShingle Lars Ivar Hatledal
Arne Styve
Geir Hovland
Houxiang Zhang
A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface
IEEE Access
Co-simulation
distributed simulation
FMI
FMU
model exchange
RPC
author_facet Lars Ivar Hatledal
Arne Styve
Geir Hovland
Houxiang Zhang
author_sort Lars Ivar Hatledal
title A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface
title_short A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface
title_full A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface
title_fullStr A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface
title_full_unstemmed A Language and Platform Independent Co-Simulation Framework Based on the Functional Mock-Up Interface
title_sort language and platform independent co-simulation framework based on the functional mock-up interface
publisher IEEE
series IEEE Access
issn 2169-3536
publishDate 2019-01-01
description The main goal of the Functional Mock-up Interface (FMI) standard is to allow the sharing of simulation models across tools. To accomplish this, FMI relies on a combination of XML-files and compiled C-code packaged in a zip archive. This archive is called a Functional Mock-up Unit (FMU). In theory, an FMU can support multiple platforms, but not necessarily in practice. Furthermore, software libraries for interacting with FMUs may not be available in a particular language or platform. Another issue is related to the protection of intellectual property (IP). While an FMU is free to only provide the C-code in its binary form, other resources within the FMU may be unprotected. Distributing models in binary form also opens up the possibility that they may contain malicious code. In order to meet these challenges, this paper presents an open-source co-simulation framework based on FMI, which is language and platform independent thanks to the use of well-established remote procedure call (RPC) technologies. One or more FMUs are wrapped inside a server program supporting one or more language independent RPC systems over various network protocols. Together, they allow cross-platform invocation of FMUs from multiple, including previously unsupported, languages. The client-server architecture allows the effective protection of IP while also providing a means of protecting users from malicious code.
topic Co-simulation
distributed simulation
FMI
FMU
model exchange
RPC
url https://ieeexplore.ieee.org/document/8788514/
work_keys_str_mv AT larsivarhatledal alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
AT arnestyve alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
AT geirhovland alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
AT houxiangzhang alanguageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
AT larsivarhatledal languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
AT arnestyve languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
AT geirhovland languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
AT houxiangzhang languageandplatformindependentcosimulationframeworkbasedonthefunctionalmockupinterface
_version_ 1721540324944248832