A VIATRA egy nyílt forráskódú modelltranszformációs keretrendszer, amely az Eclipse Modellezési Keretrendszer (EMF) alapjaira épül, és az Eclipse Alapítvány gondozásában működik.
A VIATRA támogatja modelltranszformációk fejlesztését, különös tekintettel az eseményvezérelt, reaktív transzformációkra, vagyis olyan szabályalapú esetekre, ahol a transzformációk a modellben bekövetkező bizonyos külső változásokra adott reakcióként történnek.
A modellben található minták és változások felderítését támogató inkrementális lekérdezési képességekre építve a VIATRA egy nyelvet kínál (VIATRA Query Language, VQL) a transzformációk definiálására, valamint egy reaktív transzformációs motort, amely a háttérmodellben bekövetkező változásokra válaszul hajtja végre a megfelelő transzformációkat.
Alkalmazási területek A VIATRA, mint nyílt forráskódú keretrendszer, központi integrációs pontként és végrehajtómotorként szolgál számos alkalmazásban, mind ipari, mind akadémiai környezetben. A keretrendszer korábbi verzióit intenzíven használták eszköztámogatás biztosítására kritikus beágyazott rendszerek fejlesztéséhez és verifikálásához számos európai kutatási projektben, például a DECOS, MOGENTES, INDEXYS és SecureChange programokban.
A VIATRA egyik fő ipari alkalmazása, hogy az IncQuery Suite alapjául szolgáló modell-lekérdező és transzformációs motorjaként működik. Ennek köszönhetően a VIATRA kulcsfontosságú technikai komponens számos ipari együttműködésben a modellalapú rendszerek tervezése (MBSE) területén, elősegítve az innovatív rendszerfejlesztési gyakorlatokat olyan ágazatokban, mint a repülőgépipar, a gyártás, az ipari automatizálás és az autóipar. Emellett az IncQuery Suite alkalmazásain keresztül a VIATRA alapját képezi több nagy volumenű, folyamatban lévő európai ipari digitalizációs kezdeményezés modellalapú törekvéseinek is, például az Arrowhead Tools és az Embrace projektekben.
A VIATRA jól integrálódik az Eclipse Modeling eszközökkel. Azonban a VIATRA kívül is működik az Eclipse környezetén, amit az IncA projekt is bemutat, amely a JetBrains MPS platformot használja.
Funkcionalitás A VIATRA a következő fő szolgáltatásokat nyújtja:
Egy inkrementális lekérdezésmotor, amely egy gráf alapú mintázaton alapuló nyelvet használ a modellek hatékony lekérdezésének meghatározására és végrehajtására. Egy belső DSL az Xtend nyelv fölött, amely lehetővé teszi mind a tételes, mind az eseményvezérelt, reaktív átalakítások meghatározását. Egy modell elhomályosító, amely eltávolítja az érzékeny információkat egy bizalmas modelből (pl. hibajelentések készítéséhez).
Eredet és történelem A jelenlegi VIATRA projekt a korábbi VIATRA2 keretrendszer teljes újraírása, teljes kompatibilitást és támogatást biztosítva az EMF modellekhez. A projekt rendelkezik egy History wiki oldallal, amely leírja a főbb különbségeket a különböző verziók között.
A korábbi VIATRA2 keretrendszer alkalmazásait tekintve, az a DECOS európai IP alapprogramjaként szolgált a megbízható beágyazott rendszerek területén. Továbbá, a VIATRA2 hagyományos alkalmazási területe – már 1998-tól kezdődően – a rendszer modellek elemzésének támogatása volt, amelyek különböző alkalmazási területekről (biztonságkritikus és/vagy beágyazott rendszerek, robusztus e-üzleti alkalmazások, middleware, szolgáltatásorientált architektúra) származtak, és különböző modellező nyelvek (SysML, UML, BPMN stb.) segítségével írták le őket a modellekkel vezérelt rendszermérnöki folyamatok során. Az ilyen modell-elemzés jellemzően magában foglalja a verifikációt és validációt, a tesztelést, a biztonsági és védelmi elemzést, valamint a nem funkcionális jellemzők (például megbízhatóság, elérhetőség, válaszidő, áteresztőképesség stb.) korai értékelését a tervezés alatt álló rendszeren.
Ezek az alkalmazási területek és felhasználási esetek továbbra is a VIATRA fókuszált területei, amelyeket főként az IncQuery Suite-en keresztül, mint felhasználói felületet, kezelnek.
Megközelítés Mivel a pontos modellezett rendszerek fejlesztése a VIATRA elsődleges alkalmazási területe, szükségessé válik, hogy (i) a modellezett átalakításokat matematikailag precízen határozzák meg, és (ii) ezeket az átalakításokat automatizálják, hogy a célzott matematikai modellek teljesen automatikusan előállíthatók legyenek. Ennek elérése érdekében a VIATRA egy matematikailag precíz szabályalapú specifikációs formálisra, nevezetesen gráfátalakításra (GT) támaszkodik. A VIATRA célja a láthatatlan formális módszerek alkalmazása: itt a formális részletek rejtve vannak az automatizált modellátalakítások által, amelyek a rendszermodelleket különböző matematikai tartományokba vetítik (és lehetőség szerint fordítva is).
A modellezett átalakítások meghatározásának alapvető fogalma a VIATRA-ban a (gráf) mintázat. A mintázat egy modellelemek gyűjteménye, amelyeket egy bizonyos struktúrába rendeznek, és amelyek további feltételeknek (például attribútumfeltételek vagy más mintázatok által meghatározott) is megfelelnek. A mintázatok illeszkedhetnek bizonyos modellezett példányokra, és sikeres mintázati illesztés esetén az alapvető modellmanipulációt gráfátalakítási szabályok határozzák meg. Az OCL-hez hasonlóan a gráfátalakítási szabályok elő- és utófeltételeket írnak le az átalakításokhoz, de a gráfátalakítási szabályok végrehajthatósága garantált, ami alapvető koncepcionális különbség.
Különösen mivel a reaktív, eseményvezérelt átalakítások a VIATRA aktuális fókuszában állnak, a VIATRA tartalmaz egy szabályvégrehajtó motort, amely figyeli a modellezett változásokat (amelyeket eseményeknek értelmeznek), és egy szabályt indít el, valwhen egy változás a szabály előfeltételének teljesülését eredményezi (és potenciálisan, ha további vezérlési feltételek is teljesülnek).
Jegyzetek
Fordítás
További információk VIATRA Eclipse projektoldal
Kategória:Szoftverek