FMI 3 Simulation Runtime in Rust | Dweve FMI

Dweve FMI is an Apache-2.0 FMI 3 runtime in Rust for Model Exchange, Co-Simulation and Scheduled Execution. Publishing in the tenth release round.

Dweve FMI hanterar plattformsdrift i simulering. Fixpunktsprofiler och backendkontroller gör skillnader synliga innan de når en säkerhetsanalys.

Bibliotek för fixpunktsaritmetik som driver FMI-determinism.

Kryptografisk bevisinfrastruktur för AI-resonemang.

Kör den dämpade oscillatorn på två stödda mål och jämför utdata. Referenskontroller avslöjar eventuella avvikelser innan de når en säkerhetsanalys.

Två frågor avgör upphandlingen: var körs det, och vem kontrollerar bevisen. Dweve FMI körs på hårdvara du redan äger, on premise eller i en europeisk region, medan modellen och valideringsposten förblir inom en gräns du väljer.

Ett säkerhetspåstående kräver mer än ett löfte. Granska resultatkontraktet, matrisen över stödda mål och den MPFR-baserade valideringsmetoden; kör sedan samma exempel på två maskiner och jämför utdata innan du väljer var FMI hör hemma.

Ingen enskild leverantör att förlita sig på

Ingen tid förlorad på att stämma av resultat

Anledningen att bry sig är operativ, inte teknisk. Genom att jämföra samma simulering under ett deklarerat kontrakt på varje maskin ser du var en målplattform skiljer sig innan du sluter säkerhetsfallet. Team behöver inte längre stämma av skillnader i tysthet. Arbetet körs på hårdvara du redan äger, och en flytt till ny utrustning får en tydlig valideringsväg.

En leverantör, en färdplan, ett pris du inte sätter.

En ny chip eller region startar om valideringen över hela portföljen.

Team argumenterar om vilken maskin som producerade rätt resultat.

Varje plattform behöver sitt eget säkerhetsfall eftersom siffror kan skilja sig.

Argumentet för att byta är lättast att se som en jämförelse. På ena sidan simulering som varierar per plattform: ett säkerhetsfall som omvalideras för varje maskin, team som stämmer av siffror som redan borde matcha, och en omvalidering varje gång hårdvaran ändras. På andra sidan resultat som jämförs under ett deklarerat kontrakt, så att bevisen visar var en driftsättning skiljer sig. Skillnaden är operativ, inte teknisk.

Ta bort körningen; modell och bevis finns kvar

En simuleringsmodell bör göra varje hårdvaruberoende skillnad synlig. Dweve FMI definierar ett resultatkontrakt över stödda målplattformar, kontrollerar varje backend mot en MPFR-orakel och låter en valideringspost följa med modellen.

Resultatet följer det deklarerade avtalet

Det är rimligt att undra om något sådant här är något du ska ta hand om. Det är det inte. Ingenjörer kör det i bakgrunden, där det jämför säkerhetssimuleringar mellan maskiner och gör skillnader synliga.

MPFR-baserade kontroller fångar avvikelser innan användning

Du behöver inte förstå hur det fungerar för att njuta av vad det gör. Tänk på det som rent vatten eller bra vägar. Du ser aldrig arbetet, men din dag blir bättre för att någon gjorde det väl. Här är fyra enkla skäl till att det spelar roll.

Här är kärnan, visad enkelt. Samma säkerhetstest körs på två olika datorer. På vanliga datorer kan de två svaren bli lite olika. Med detta gör jämförelsen varje skillnad synlig. Vrid på strömbrytaren och se vad som ändras. Den jämförelsen är hela poängen.

Robotar som arbetar säkert nära människor.

Stabil kraft, testad innan den installeras.

Kontrollerade noggrant innan de når en patient.

Testade tusentals gånger på en dator först.

Du kommer aldrig att använda detta, men du använder varje dag de saker som det hjälper till att skydda. En bil, en medicinsk pump, strömmen i ditt hem, maskinerna i en fabrik. Varje sak testas på en dator innan den byggs, och detta är den del som gör skillnader mellan målplattformar synliga. Tryck på en bild för att se varför det spelar roll för varje sak.

En noggrann hjälpreda för säkerhetstester

Du kommer aldrig att använda detta själv. Men det är en liten, noggrann sak som hjälper till att hålla bilar, flygplan och medicinska maskiner säkra. Här är hela idén, ett enkelt steg i taget, med ett vardagligt exempel för varje steg.

och varför det spelar roll runt omkring dig

En simuleringsingenjör skapar och kör en FMU på sin arbetsstation. Samma FMU kan jämföras på ett kluster för parametersvep. Den kan också användas på ett FPGA-skydd för hårdvara-i-loopen-scenarier där latensbudgeten är tuff. Replay-kontraktet gäller för alla tre.

FMI är skrivet i Rust på Numerus aritmetiska bas, använder fastpunktsberäkningar med MPFR-referenskontroller och stöder Model Exchange, Co-Simulation och Scheduled Execution över fem backendar.

Traditionell FMI kan variera per plattform eftersom den bygger på flyttal. Dweve FMI använder en fastpunktsberäkningsväg med MPFR-referenskontroller. Simuleringsmodellen och säkerhetsfallet förblir explicita, medan samma FMU-arkiv kan jämföras över arbetsstation, kluster och FPGA. Distributionsvalet är operationellt, inte numeriskt.

Kemisk massa och energi, PLC-co-simulering.

Kraftomvandlare, integration av förnybar energi.

Validering av styralgoritmer, pilot i loopen.

Dweve FMI betjänar domäner där simuleringsresultat ligger till grund för design och beslut. Fordon, flyg, medicinteknik, energi, robotik, industriell styrning och digitala tvillingar behöver alla bevis på att simuleringsresultat är reproducerbara, spårbara och kontrollerbara per målplattform.

Dweve FMI integreras med befintliga verktygskedjor genom FMU-import och export, multi-modell-orkestrering och digital tvillingbryggning. Importera FMU:er från alla FMI 3.0-kompatibla verktyg med automatisk konvertering från flyttal till fixpunkt. Exportera FMU:er för nedströmsverktyg som kräver flyttal.

Överskriden tolerans stoppar körningen med ett typat fel och den namngivna ekvationen.

En inspelad körning återskapas från sin händelselogg via Twin-bryggan.

Samma FMU på CPU, GPU, FPGA och edge. Utvektorer jämförs.

Fixpunktsoperationer kontrolleras mot en MPFR-referens.

Numeriska kontroller använder Numerus aritmetiska golv och en MPFR-referens. Tvärbackendjämförelse kör samma FMU på varje mål och registrerar varje utdataskillnad. Deterministisk uppspelning återskapar en inspelad körning från sin händelselogg, och felscenarier är högljudda snarare än tysta.

Samma deterministiska kärna körs på arbetsstationens CPU, GPU, FPGA-hårdvara, en inbyggd edge-enhet och distribuerade noder. Resultat kan jämföras under det deklarerade kontraktet, så valet av driftsätt är operativt, inte numeriskt.

MPFR-grundsanning, endast för verifiering.

6 decimaler, bank- och faktureringsscenarier.

32 bråkbits, standardprofil, full precision.

16 bråkbits, smala intervall, batterivänlig.

Q31.32 täcker de flesta simuleringsbehov. Q16.16 passar inbyggda och edge-mål. Dec64_6 täcker domänspecifik decimalredovisning. Alla tre vilar på Numerus aritmetiska bas, där varje operation är korrekt avrundad och verifierad mot MPFR:s matematiska referensbibliotek.

Ny chip eller moln innebär att hela portföljen måste valideras om.

En trigonometrisk funktion i ett bibliotek kan skilja sig något från ett annat.

Kompilatoroptimering ändrar flyttalsordningen; resultaten skiftar.

Arbetsstation, CI, certifiering: jämför målplattformarna och dokumentera skillnaderna i säkerhetsfallet.

Functional Mock-up Interface är industristandarden för modellutbyte och co-simulering. Det används i säkerhetskritiska domäner där simuleringsresultat informerar designbeslut, säkerhetsfall och regulatoriska inlämningar. Traditionella FMI-implementeringar förlitar sig ofta på IEEE 754 flyttalsaritmetik, så plattformsskillnader behöver kontrolleras.

Dweve FMI implementerar FMI-standarden för Model Exchange, Co-Simulation och Scheduled Execution, byggd i Rust med deterministisk fixpunktsaritmetik. Reella beräkningar följer den konfigurerade fixpunktsvägen. Resultat kan jämföras över CPU, GPU, FPGA, edge och distribuerade mål, med MPFR som matematisk referens där tillämpligt. Tre fixpunktsprofiler täcker tekniska mål från inbäddade enheter till GPU-parametersvep utan att ändra simuleringsmodellen.

Samma FMU-arkiv kan jämföras på varje backend. En simulering, en valideringspost.

KONTROLL: utvektorerna jämförs med referensen

steg: 1000 backend: fpga profil: Q16.16

steg: 1000 backend: cpu profil: Q31.32

Kör referensmodellen för dämpad oscillator på din utvecklingsmaskin och på din CI-server. Jämför utvektorerna och behåll den tvärplattformsvalideringsposten. Kontraktet är den deklarerade jämförelsen och dess omfattning, inte ett okvalificerat likhetsanspråk.

Dweve FMI är den standardmässiga utbytesvägen för ingenjörsteam som vill jämföra simuleringar över maskiner. Deterministisk aritmetik gör säkerhetsargumentet explicit per deklarerat mål istället för att dölja plattformsskillnader. Arbetet kan köras på hårdvara du redan äger eller i en europeisk region.

Innan en bil, ett flygplan eller en medicinsk pump byggs testar ingenjörer den på en dator. Haken är att samma test kan skilja sig något mellan maskiner, och för en broms spelar den lilla skillnaden roll. FMI gör jämförelsen synlig oavsett var simuleringen körs, så att de som kontrollerar säkerheten vet vad de jämför.

Fixpunktsformat (Q31.32, Q16.16, Dec64_6)

30 crates · runtime, verktyg och backendar

Den nuvarande FMI-arbetsytan är mer än en utbytesgräns: den inkluderar FMU-import och -export, en FMI 3.0-runtime och C FFI, orkestrering av co-simulering, lösare, TQL, konformitetsverktyg samt CPU-, GPU-, FPGA-, edge- och distribuerade backendar. Fixpunktsvägar och MPFR-baserade kontroller syftar till repeterbara resultat på stödda mål.