Functional Mock-Up Interface (FMI) är alltså en verktygsoberoende standard för att stödja både modellutbyte och simulering av dynamiska modeller med en kombination av XML-filer och sammanställd C-kod. Ursprungligen initierades FMI-utvecklingen av den tyska fordonstillverkaren Daimler. Målet var att förbättra utbytet av simuleringsmodeller mellan leverantörer och OEM. Den första versionen, FMI 1.0 kom 2010, följt av FMI 2.0 i mitten av 2014. Men utvecklingen har fortsatt genom deltagande av 16 företag och forskningsinstitut under Modelica Associations paraply. Per dags dato stöds FMI av närmare 110 verktyg och används av fordons- och för all del även andra organisationer i hela Europa, Asien och Nordamerika.
Nackdelar med proprietära format. Modelon är ett av företagen som utvecklar FMI-produkter och på detta svenska bolag är Joel Petersson produktägare för FMI-lösningarna. Han har också de senaste åren arbetat med att implementera FMI och SSP i verktyg och arbetsflöden.
I sin blogpost konstaterar Petersson inledningsvis att den som är bekant med Simulink säkerligen både har hört talas om eller använt S-funktioner. Den senare kan skapas för att modellera tidsvarierande beteende som inte redan omfattas av standardblocken i Simulink-biblioteket. ”S-funktionen omfattar både kontinuerlig och diskret tidsdynamik, hanterar parametrering och initialisering med mera,” skriver han.
Men, som nämndes i ingressen, S-funktioner har som alla proprietära format nackdelen att de är kontrollerade av en enda leverantör; vilket Petersson menar, ”betyder att användarens insyn i förändringar i S-funktioner är begränsad. Om stora förändringar uppträder i användbarheten eller strukturen hos S-funktioner kan de ta användare med överraskning och tvinga dem att ändra integrerade delar av sina arbetsflöden inom en begränsad tidsram.”
FMI – ett öppet standardgränssnitt. Detta behöver man nu inte fastna i. Petersson noterar att FMI jämförelsevis är ett öppet standardgränssnitt, som gör det möjligt, ”för både kommersiella och öppna källverktyg att fritt implementera stöd för export och import av modeller.”
– Vad betyder det då att FMI är byggt på öppna standarder och hur hjälper det användarna, undrar han.
”Ett öppet standardgränssnitt, som FMI, möjliggör kompatibilitet mellan så många verktyg som möjligt, vilket gör det enkelt att dela modeller internt och externt. Dessutom har både användare och verktygsleverantörer full insyn i formatet och uppdateringarna av FMI-standarden.”
Därmed kan användarna skapa arbetsflöden som de kan lita på. Men det finns fler fördelar med att flytta till ett öppet standardinterface, både med avseende på affärs- och tekniksidan. Vilka är de? Joel Petersson pekar bland annat på följande:
* Man undviker att bli inlåst till en utvecklare/leverantör och kan minska kostnaderna för utbyte. När organisationer byter från leverantör till leverantör, ökar de totala kostnaderna. Det blir ofta t o m dyrare än skillnaden i programpris när man måste ”omskola” användare, migrera data och justera arbetsflöden. Genom att distribuera FMI-baserade arbetsflöden kan organisationerna avsevärt minska omställningskostnaderna samtidigt som de kan vara trygga i att deras FMI-baserade arbetsflöden kommer att överföras sömlöst till ett nytt verktyg.
* Möjligheten att enkelt dela och importera modeller över ett brett sortiment av FMI-kompatibla verktyg, är en annan fördel. ”Med FMI kan ingenjörer integrera en ”peer-modell” i sitt eget välbekanta verktyg. Dessutom levereras FMI med anpassat IP-skydd, vilket säkerställer att modeller kan delas säkert med OEM, leverantörer, medarbetare och samarbetspartners från tredje part.”
Dokumentet som definierar standarden är tillgänglig för direkt nedladdning på FMIs standardwebbplats.
Vilka är de viktigaste skillnaderna? Avslutningsvis besvarar Joel Petersson några frågor som är av stor betydelse i sammanhanget:
* Vilka är de viktigaste skillnaderna mellan FMI och S-funktioner?
S-funktioner och FMI är ganska jämförbara ifråga om användbarhet, men det finns några viktiga skillnader som ”Modelonmannen” har sammanfattat på följande vis:
* Vad är skillnaden i simuleringsprestanda vid användning av S-funktioner jämfört med FMI?
”Simuleringsprestanda beror på olika faktorer: import- och exportverktygen, typen av FMU som används, lösningsinställningarna och annat. Enligt vår erfarenhet finns inget inneboende i FMI-standarden som nödvändigtvis försämrar prestanda. Beroende på implementeringsdetaljerna i import- eller exportverktygen kan du få både bättre och sämre simuleringsprestanda med FMU jämfört med S-funktioner.”
* Vilka tekniska begränsningar finns det i FMI jämfört med S-funktioner?
”Ett gemensamt problem som ibland visat sig bland Simulink-användare är det begränsade antalet datatyper som stöds av FMI, men i den kommande 3.0-standarden planeras inkludering av stöd för både ”brickor” och en binär datatyp som kan användas som en container för en större variation av datatyper. Dessutom kan i praktiken lösningar normalt hittas inom 2.0-standarden.”
* Kan man, som med S-funktioner, också koda FMUs manuellt?
”Ja. För att göra det kanske du vill använda FMU SDK som utgångspunkt. Du kan också konvertera S-funktioner eller Simulink-modeller till FMU-enheter med hjälp av Modelons FMI Toolbox Coder.”
* Kan FMI-standarden också användas för system av modeller som liknar Simulink?
”En standard för att beskriva system av FMUer analoga med Simulink-diagram, är under utveckling. SSP-standarden är en öppen standard, precis som FMI, och är planerad att släppas inom en snar framtid. FMI Composer från Modelon stöder redan en utkast till standard.”
* Kan man konvertera S-funktioner till FMU?
”Ja, man kan inkludera S-funktioner i en Simulink-modell och sedan exportera Simulink-modellen som en FMU, med Modelons FMI Toolbox Coder.”
Varför ska man överväga en övergång till FMI? – Så, vad är bäst, undrar Joel Petersson slutligen.
Svaret är inte överraskande: ”Om man vill ha friheten att importera en enda modell över ett brett utbud av verktyg och standardisera dina arbetsflöden över hela verktygssatsen, bör man överväga FMI. S-funktioner är bra för Simulink-användare, men om man ser sig själv ett annat simuleringsverktyg i framtiden öppnar FMI för flera alternativ och minskar de totala kostnaderna för verktygsmigrering. På grund av graden av synlighet som FMI ger, är användare och organisationer bättre rustade att byta till sina arbetsflöden.”
Men sammantaget kräver fördelarna respektive nackdelarna med FMI en noggrann granskning mot organisationens krav. På sista raden krävs förvisso en dos hårt arbete för att realisera fördelarna, men vinsterna kan bli mycket goda.
– Modelon är dedikerade mot en öppen standardinriktning och har hjälpt företag från alla typer av industrier att byta till FMI, avrundar Joel Petersson sin blogpost.