Content deleted Content added
mNo edit summary |
m Replaced 1 bare URLs by {{Cite web}}; Replaced "Archived copy" by actual titles |
||
(34 intermediate revisions by 24 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 12 ⟶ 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-specific language|DSL]] reusing part of the [[Alloy Analyzer|Alloy]] syntax and allowing the concise specification of efficiently computable model transformations.
* [[JTL]] : a bidirectional model transformation language specifically designed to support non-bijective transformations and change propagation (see [http://jtl.di.univaq.it/]).▼
* 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/]).
* [[Kermeta]] : a general purpose modeling and programming language, also able to perform transformations
* Lx family (see [https://archive.today/20120710031939/http://lx.mii.lu.lv/]) : a set of low-level transformation languages
* [[M2M (Eclipse)|M2M]] is the [[Eclipse (software)|Eclipse]] implementation of the [[Object Management Group|OMG]] [[QVT]] standard
* Mia-TL : a transformation language developed by Mia-Software
Line 24 ⟶ 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 44 ⟶ 50:
<ref name="FranceRumpe">
{{Cite
| doi=10.
| last1=France|first1=Robert
| last2=Rumpe|first2=Bernhard
| title=Model-driven Development of Complex Software: A Research Roadmap
| conference= Future of Software Engineering (FOSE '07)
| year=2007
| arxiv=1409.6620
}}
</ref>
}}
== Further reading ==▼
*''The MDA Journal: Model Driven Architecture Straight From The Masters''▼
*OMG MDA Guide [http://www.omg.org/docs/omg/03-06-01.pdf ''MDA Guide Version 1.0.1'']▼
*''Model Driven Architecture: Applying MDA to Enterprise Computing'', [[David S. Frankel]], John Wiley & Sons, {{ISBN
▲*OMG MDA Guide [https://web.archive.org/web/20030731002849/http://www.omg.org/docs/omg/03-06-01.pdf ''MDA Guide Version 1.0.1'']
*[http://www.omg.org/mda/mda_files/Model-Driven_Architecture.pdf ''Model-Driven Architecture: Vision, Standards And Emerging Technologies''] at omg.org
*[http://www-128.ibm.com/developerworks/rational/library/3100.html ''An Introduction to Model Driven Architecture''] at {{Not a typo|ibm}}.com
*[https://web.archive.org/web/20060619055347/http://www.sciences.univ-nantes.fr/info/lrsg/Recherche/mda/TOOLS.USA.pdf ''From Object Composition to Model Transformation with the MDA''] at omg.org
* Mens, T, and Van Gorp, P: [
*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]
▲== Further reading ==
▲*''The MDA Journal: Model Driven Architecture Straight From The Masters''
▲*''Model Driven Architecture: Applying MDA to Enterprise Computing'', [[David S. Frankel]], John Wiley & Sons, ISBN 0-471-31920-1
[[Category:Systems engineering]]
|