Model transformation language: Difference between revisions

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)
BattyBot (talk | contribs)
m Removed non-content empty section(s), performed general fixes
Line 2:
 
== Overview ==
The notion of [[model transformation]] is central to [[Model-driven_engineeringdriven engineering|model-driven development]]. A model transformation, which is essentially a program which operates on models, can be written in a general-purpose programming language, such as [[Java (programming language)|Java]]. However, special-purpose model transformation languages can offer advantages, such as syntax that makes it easy to refer to model elements. For writing bidirectional model transformations, which maintain consistency between two or more models, a specialist bidirectional model transformation language is particularly important, because it can help avoid the duplication that would result from writing each direction of the transformation separately.
 
Currently, most model transformation languages are being developed in academia. The [[Object_Management_GroupObject Management Group|OMG]] has standardised a family of model transformation languages called [[QVT]], but the field is still immature.<ref name="FranceRumpe"/>
 
== Available transformation languages ==
Line 11:
* [[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_languagespecific language|DSL]] reusing part of the [[Alloy_AnalyzerAlloy Analyzer|Alloy]] syntax and allowing the concise specification of efficiently computable model transformations.
* 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:
* [[Stratego/XT]] : a transformation language based on rewriting with programmable strategies
* [[Tefkat]] : a transformation language and a model transformation engine
* [[Tom_Tom (pattern_matching_languagepattern matching language)|Tom]] : a language based on rewriting calculus, with pattern-matching and strategies
* UML-RSDS [http://www.dcs.kcl.ac.uk/staff/kcl/uml2web/] : a model transformation and MDD approach using UML and OCL
* [[VIATRA]] : a framework for transformation-based verification and validation environment
Line 55:
}}
</ref>
 
 
}}
 
 
 
== Further reading ==
Line 71 ⟶ 68:
*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]
 
== External links ==
 
[[Category:Systems engineering]]