Content deleted Content added
m →Available transformation languages: archive link repair, may include: archive.* -> archive.today, and http->https for ghostarchive.org and archive.org (wp:el#Specifying_protocols) |
m Replaced 1 bare URLs by {{Cite web}}; Replaced "Archived copy" by actual titles |
||
(13 intermediate revisions by 12 users not shown) | |||
Line 1:
{{Short description|Specification language}}
{{External links|date=November 2024}}
A '''model transformation language''' in [[systems engineering|systems]] and [[software engineering]] is a language intended specifically for [[model transformation]].
== Overview ==
The notion of [[model transformation]] is central to [[Model-
Currently, most model transformation languages are being developed in academia. The [[
There are ongoing debates regarding the benefits of specialised model transformation languages, compared to the use of general-purpose programming languages (GPLs) such as [[Java (programming language)|Java]].<ref>{{Cite web| title=The Future of Model Transformation Languages: An Open Community Discussion | url=https://www.jot.fm/issues/issue_2019_03/article7.pdf | archive-url=https://web.archive.org/web/20200215140328/http://www.jot.fm/issues/issue_2019_03/article7.pdf | archive-date=2020-02-15}}</ref> While GPLs have advantages in terms of more widely-available practitioner knowledge and tool support, the specialised transformation languages do provide more declarative facilities and more powerful specialised features to support model transformations.<ref>{{cite journal | doi=10.1007/s10664-022-10194-7 | title=Advantages and disadvantages of (Dedicated) model transformation languages | date=2022 | last1=Höppner | first1=Stefan | last2=Haas | first2=Yves | last3=Tichy | first3=Matthias | last4=Juhnke | first4=Katharina | journal=Empirical Software Engineering | volume=27 | issue=6 | s2cid=251644010 | doi-access=free | arxiv=2201.13348 }}</ref>
== Available transformation languages ==
Line 11 ⟶ 15:
* [[GReAT]] : a transformation language available in the [[Generic Modeling Environment|GME]]
* Epsilon family (see [http://www.eclipse.org/epsilon]) : a model management platform that provides transformation languages for model-to-model, model-to-text, update-in-place, migration and model merging transformations.
* F-Alloy [http://lightning.gforge.uni.lu]: a [[Domain-
* Henshin (see [https://www.eclipse.org/henshin/]) : a model transformation language for [[Eclipse Modeling Framework|EMF]], based on [[graph rewriting|graph transformation]] concepts, providing state space exploration capabilities
* [[Janus Transformation Language|JTL]] : a bidirectional model transformation language specifically designed to support non-bijective transformations and change propagation (see [http://jtl.di.univaq.it/]).
Line 25 ⟶ 29:
* [[Stratego/XT]] : a transformation language based on rewriting with programmable strategies
* [[Tefkat]] : a transformation language and a model transformation engine
* [[
* [[UML-RSDS]] [
* [[VIATRA]] : a framework for transformation-based verification and validation environment
* YAMTL (see [https://yamtl.github.io/]): An internal DSL for model transformation within JVM languages (Java, Groovy, Xtend, Kotlin), featuring key characteristics such as runtime performance, reuse of transformation logic, incremental execution, and independence from IDEs.
==See also==
Line 55 ⟶ 60:
}}
</ref>
}}
== Further reading ==
Line 71 ⟶ 73:
*Czarnecki, K, and Helsen, S : Classification of Model Transformation Approaches. In: Proceedings of the OOPSLA'03 Workshop on the Generative Techniques in the Context Of Model-Driven Architecture, Anaheim, California, USA. [https://web.archive.org/web/20060217080416/http://www.swen.uwaterloo.ca/~kczarnec/ECE750T7/czarnecki_helsen.pdf ''Webpublished.'']
*Gronmo, R, and Oldevik, J : An Empirical Study of the UML Model Transformation Tool (UMT). [http://interop-esa05.unige.ch/INTEROP/Proceedings/IndustrialPresentations/Gronmo.pdf]
[[Category:Systems engineering]]
|