Hoppa till innehåll
EN In english

LARGEDYN Modellerings & simuleringsverktyg för stora system

Diarienummer
ITM17-0154
Start- och slutdatum
190101-221231
Beviljat belopp
7 036 490 kr
Förvaltande organisation
Linköping University
Forskningsområde
Beräkningvetenskap och tillämpad matematik

Summary

(Dynamisk) modellering och simulering på systemnivå är en nyckelaktivitet i modern systemutveckling och design. Modelicaspråket är ett standardiserat verktygsoberoende öppet ekvationsbaserat objektorienterat modelleringsspråk som är idealiskt för sådana tillämpningar. Tyvärr kan inte nuvarande Modelicaverktyg hantera stora system och dynamiskt konfigurerbara system. Huvudmålen för detta projekt är: (1) Att komma över storleksbarriären för nuvarande Modelicaverktyg och göra det möjligt att effektivt generera snabb simuleringskod för nya viktiga tillämpningar inklusive modeller för mycket stora elkraftnät, stora byggnader, etc. (2) Stöd för modeller med dynamiskt varierande struktur över tiden, vilket är növändigt för flexibel hantering av komplexa storskaliga cyberfysikaliska systemmodeller som i ökande grad integreras med internet-of-thngs paradigmet, t.ex. smarta kraftnät, grupper av autonoma fordon. Resultaten blir tillgängliga i en utökad version av öppen källkodsverktyget OpenModelica. För att förverkliga detta behövs en ny stor verktygsutveckling inom OpenModelica verktygssviten. Ungefär halva modellkompilatorn med run-time system och numeriska lösare måste skrivas om och utökas. Nya och förbättrade metoder kommer att implementeras inom följande områden: ny effektiv modellutflatning, effektiv just-in-time LLVM baserad verktygskedja, effektiv parallel multi-core baserad simulering, variabel struktur simulering, fler-hastighets numeriska lösare.

Populärvetenskaplig beskrivning

Det blir alltmer attraktivt att använda modellering och simulering i olika faser av produktutveckling, vilket i ökande utsträckning ersätter traditionellt prototypbyggande. Denna trend går oftast under paraplybeteckningen modellbaserad design. Modellering och simulering av både komponenter och system används för att få en uppfattning om ett komplext systems prestanda och uppträdande. Generellt gäller att fysiska tester och prototypbyggande är dyra och tidskrävande, vilket ger simuleringar istället för tester en stor fördel. Att använda OpenModelicaverktyget med det ekvationsbaserad modelleringsspråket Modelica som bas är ett naturligt val i detta avseende med tanke på modelleringskraften i Modelica för komplexa cyberfysikaliska produkter (cyber betyder programvara, fysikalisk betyder hårdvara; här finns båda med), och lätttillgängligheten av ett öppet källkodsverktyg som OpenModelica. Dessutom blir verktyget även tillgängligt för ett antal företag för kommersiellt bruk. Tyvärr har nuvarande kommersiella Modelicaverktyg och även OpenModelica begränsningar så att de inte kan användas för mycket stora modeller, t.ex. upp till 10 miljoner ekvationer, som ofta behövs när ett antal delsystem kombineras, t.ex. ett stort elkraftnät med kraftstationer, eller modeller som dynamiskt ändrar struktur under tiden, t.ex. i en stor grupp körande fordon där bilar kommer till och faller ifrån. Huvudmålen för detta projekt är följande: (1) Att komma över storleksbarriären för nuvarande Modelicaverktyg och göra det möjligt att effektivt generera snabb simuleringskod för nya viktiga tillämpningar inklusive modeller för mycket stora elkraftnät, stora byggnader, etc., med upp till 10 miljoner ekvationer. (2) Stöd för modeller med dynamiskt varierande struktur över tiden, vilket är növändigt för flexibel hantering av komplexa storskaliga systemmodeller som i ökande grad integreras med internet-of-thngs paradigmet, t.ex. smarta kraftnät, grupper av autonoma fordon. Resultaten blir tillgängliga i en förbättrad version av öppen källkodsverktyget OpenModelica. För detta behövs en ny stor verktygsutveckling inom OpenModelica verktygssviten. Nya och förbättrade metoder kommer att implementeras av en grupp samverkande experter inom områden som symbolisk modelltransformation, kompilering (översättning) av modeller till effektiv körbar maskinkod för datorer, användning av datorer med många processorer, nya effektivare metoder för numeriska beräkningar.