VIATRA

VIATRA är ett ramverk för modelltransformation med öppen källkod baserat på Eclipse Modeling Framework (EMF) och som drivs av Eclipse Foundation .

VIATRA stödjer utvecklingen av modelltransformationer med specifikt fokus på händelsedrivna, reaktiva transformationer, dvs regelbaserade scenarier där transformationer sker som reaktioner på vissa externa förändringar i modellen.

Bygger på ett inkrementellt frågestöd för att lokalisera mönster och förändringar i modellen, erbjuder VIATRA ett språk ( VIATRA Query Language , VQL) för att definiera transformationer och en reaktiv transformationsmotor för att exekvera vissa transformationer vid förändringar i den underliggande modellen.

Applikationsdomäner

VIATRA, som ett ramverk med öppen källkod, fungerar som en central integrationspunkt och möjliggörande motor i olika applikationer, både i industriella och akademiska sammanhang. Tidigare versioner av ramverket har använts intensivt för att tillhandahålla verktygsstöd för att utveckla och verifiera kritiska inbyggda system i ett flertal europeiska forskningsprojekt som DECOS, MOGENTES, INDEXYS och SecureChange.

Som en viktig industriell tillämpning av VIATRA används den som den underliggande modellfrågan och transformationsmotorn för IncQuery Suite. Således är VIATRA en nyckelteknisk komponent i flera industriella samarbeten kring modellbaserad systemteknik (MBSE), som främjar innovativa systemtekniker inom områden som flyg, tillverkning, industriell automation och fordonsindustri. Via applikationerna för IncQuery Suite fungerar VIATRA dessutom som grunden för modellbaserade strävanden för pågående, storskaliga europeiska industriella digitaliseringssträvanden, såsom Arrowhead Tools och Embrace-projekten.

VIATRA är väl integrerad med Eclipse Modeling-verktyg. VIATRA fungerar dock även utanför Eclipse-miljön, vilket demonstreras av IncA-projektet som använder JetBrains MPS- plattform.

Funktionalitet

VIATRA tillhandahåller följande huvudtjänster:

  • En inkrementell frågemotor tillsammans med ett grafmönsterbaserat språk för att specificera och exekvera modellfrågor effektivt.
  • En intern DSL över Xtend-språket för att specificera både batch- och händelsedrivna, reaktiva transformationer.
  • En modellobfuscator för att ta bort känslig information från en konfidentiell modell (t.ex. för att skapa felrapporter).

Ursprung och historia

Det nuvarande VIATRA-projektet är en fullständig omskrivning av det tidigare VIATRA2-ramverket, som kommer med full kompatibilitet och stöd för EMF-modeller. Projektet har en History wiki-sida som beskriver de viktigaste skillnaderna mellan de olika versionerna.

När det gäller tillämpningar av det tidigare VIATRA2-ramverket fungerade det som den underliggande modellomvandlingsmotorn för DECOS European IP inom området för pålitliga inbyggda system. Vidare var ett traditionellt applikationsområde för VIATRA2 – med start redan 1998 – att stödja analysen av systemmodeller hämtade från olika applikationsområden (säkerhetskritiska och/eller inbyggda system , robusta e- businessapplikationer, mellanprogram , tjänsteorienterad arkitektur ) beskrivs med hjälp av olika modelleringsspråk (SysML, UML, BPMN, etc.) under en modelldriven systemutvecklingsprocess. En sådan modellanalys inkluderar vanligtvis även verifiering och validering , testning, säkerhets- och säkerhetsanalysen samt den tidiga bedömningen av icke-funktionella egenskaper (såsom tillförlitlighet, tillgänglighet , lyhördhet , genomströmning , etc.) hos systemet under design. .

Dessa användningsfall och applikationsfält utgör fortfarande fokusområden för VIATRA, mestadels adresserade via IncQuery Suite som ett gränssnitt på användarens sida.

Närma sig

Eftersom exakt modellbaserad systemutveckling är det primära tillämpningsområdet för VIATRA, kräver det att (i) modelltransformationerna specificeras på ett matematiskt exakt sätt, och (ii) dessa transformationer automatiseras så att de matematiska målmodellerna kan härledas fullt ut. automatiskt. För att uppnå detta förlitar sig VIATRA på en matematiskt exakt regelbaserad specifikationsformalism, nämligen graftransformation (GT). VIATRA syftar till osynliga formella metoder: här döljs formella detaljer av automatiserade modelltransformationer som projicerar systemmodeller i olika matematiska domäner (och helst vice versa).

Grundkonceptet för att definiera modelltransformationer inom VIATRA är (graf)mönstret. Ett mönster är en samling av modellelement arrangerade i en viss struktur som uppfyller ytterligare begränsningar (som definieras av attributvillkor eller andra mönster). Mönster kan matchas på vissa modellinstanser, och vid framgångsrik mönstermatchning specificeras elementär modellmanipulation av graftransformationsregler. Precis som OCL beskriver graftransformationsregler för- och eftervillkor för transformationerna, men graftransformationsreglerna är garanterat körbara, vilket är en huvudsaklig konceptuell skillnad.

I synnerhet, eftersom reaktiva, händelsedrivna transformationer är VIATRAs nuvarande fokus, inkluderar VIATRA en regelexekveringsmotor som övervakar förändringar (tolkas som händelser) i modellen, och avfyrar en regel närhelst en förändring ledde till uppfyllelse av förutsättningen för den regeln (och eventuellt om ytterligare kontrollvillkor också är uppfyllda).

Se även

externa länkar