A rendszer- és szoftverfejlesztésben a modelltranszformációs nyelv egy kifejezetten modelltranszformációra szánt nyelv.
Áttekintés A modelltranszformáció fogalma a modellvezérelt fejlesztés központi eleme. A modelltranszformáció, amely lényegében egy olyan program, amely a modellekkel operál, megírható egy általános célú programozási nyelven, például Java nyelven. A speciális célú modelltranszformációs nyelvek azonban olyan előnyöket kínálhatnak, mint például a szintaxis, amely megkönnyíti a modellelemekre való hivatkozást. Kétirányú modelltranszformációk írásához, amelyek két vagy több modell közötti konzisztenciát tartanak fenn, különösen fontos egy speciális kétirányú modelltranszformációs nyelv, mert segíthet elkerülni a duplikációt, amely az átalakítás minden irányának külön-külön történő megírása esetén keletkezne.
Jelenleg a legtöbb modelltranszformációs nyelvet a tudományos életben fejlesztik. Az OMG egy modelltranszformációs nyelvcsaládot QVT néven, de a terület még mindig kiforratlan.France, Robert; Rumpe, Bernhard (2007). Model-driven Development of Complex Software: A Research Roadmap. Future of Software Engineering (FOSE '07). arXiv:1409.6620. doi:10.1109/FOSE.2007.14.
Folyamatos viták folynak a speciális modelltranszformációs nyelvek előnyeiről az általános célú programozási nyelvek (GPL), például a Javahttps://www.jot.fm/issues/issue_2019_03/article7.pdf használatához képest. Míg a GPL-ek előnyei a szélesebb körben elérhető gyakorlati tudás és az eszköztámogatás tekintetében vannak, a speciális transzformációs nyelvek több deklaratív lehetőséget és erősebb speciális funkciókat biztosítanak a modelltranszformációk támogatására.Höppner, Stefan; Haas, Yves; Tichy, Matthias; Juhnke, Katharina (2022). "Advantages and disadvantages of (Dedicated) model transformation languages". Empirical Software Engineering. 27 (6). arXiv:2201.13348. doi:10.1007/s10664-022-10194-7. S2CID 251644010.
Elérhető transzformációs nyelvek
ATL : az INRIA által kifejlesztett transzformációs nyelv Babzsák (lásd ) : egy műveletalapú nyelv az adatok fokozatos konzisztenciájának megteremtéséhez GReAT : egy transzformációs nyelv, amely a GME- ben elérhető Epszilon család: egy modellkezelő platform, amely transzformációs nyelveket biztosít modell-modell, modell-szöveg, helyben frissítés, migráció és modellegyesítés transzformációkhoz. F-Alloy: egy DSL, amely az Alloy szintaxisának egy részét újra felhasználja, és lehetővé teszi a hatékonyan kiszámítható modelltranszformációk tömör specifikációját. Henshin: egy EMF modelltranszformációs nyelv, gráftranszformációs koncepciókon alapul, állapottér-felderítési lehetőségeket biztosítva JTL : egy kétirányú modelltranszformációs nyelv, amelyet kifejezetten a nem bijektív transzformációk és a változásterjedés támogatására terveztek. Kermeta : általános célú modellezési és programozási nyelv, amely transzformációk végrehajtására is képes Lx család: alacsony szintű transzformációs nyelvek halmaza Az M2M az OMG QVT szabvány Eclipse implementációja. Mia-TL : a Mia-Software által fejlesztett transzformációs nyelv MOF modell szöveggé alakító nyelv : az OMG szabványt határozott meg az M2T transzformációk kifejezésére MOLA: egy Lx-re épülő grafikus, magas szintű transzformációs nyelv. MT : egy transzformációs nyelv, amelyet a londoni King's College-ban (Egyesült Királyság) fejlesztettek ki (a Converge PL alapján) QVT Az OMG meghatározott egy szabványt az M2M transzformációk kifejezésére, amelyet MOF/QVT-nek vagy röviden QVT-nek neveznek. SiTra egy pragmatikus transzformációs megközelítés, amely egy standard programozási nyelv, pl. Java, C# használatán alapul Stratego/XT : egy programozható stratégiákkal történő átíráson alapuló transzformációs nyelv Tefkat : egy transzformációs nyelv és egy modelltranszformációs motor Tom : egy átírási kalkuluson alapuló nyelv, mintaillesztési és stratégiákkal UML-RSDS: modelltranszformáció és MDD megközelítés UML és OCL használatával VIATRA : egy keretrendszer transzformáció-alapú verifikációs és validációs környezethez YAMTL: Egy belső DSL a JVM nyelveken (Java, Groovy, Xtend, Kotlin) belüli modelltranszformációhoz, amely olyan kulcsfontosságú jellemzőkkel bír, mint a futásidejű teljesítmény, a transzformációs logika újrafelhasználása, az inkrementális végrehajtás és az IDE-ktől való függetlenség.
Jegyzetek
Fordítás
További olvasmányok Az MDA folyóirat: Modellvezérelt építészet egyenesen a mesterektől Modellvezérelt architektúra: Az MDA alkalmazása a vállalati számítástechnikában, David S. Frankel, John Wiley & Sons, OMG MDA útmutató MDA útmutató 1.0.1 verzió Modellvezérelt architektúra: Vízió, szabványok és új technológiák az omg.org oldalon Bevezetés a modellvezérelt architektúrába ibm oldalon Az objektumkompozíciótól a modelltranszformációig az MDA segítségével az omg.org oldalon Mens, T. és Van Gorp, P.: A modelltranszformációk taxonómiája, Electronic Notes in Theoretical Computer Science, 152. kötet, 2006. március 27., 125–142. oldal Czarnecki, K. és Helsen, S. Modelltranszformációs megközelítések osztályozása. In: Az OOPSLA'03 Workshop anyagai a generatív technikákról a modellvezérelt építészet kontextusában, Anaheim, Kalifornia, USA. Webközvetítés. Gronmo, R. és Oldevik, J. Az UML Modelltranszformációs Eszköz (UMT) empirikus vizsgálata.
Kapcsolódó szócikkek
Doménspecifikus nyelv Szűrő (programozás) Extensible Stylesheet Language Transformations
Kategória:Szoftverfejlesztés