Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "VIATRA2/GettingStarted"

(Model Transformation)
m (Added outdated page notice)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Model Transformation =
+
== Outdated page ==
 +
This page contains obsolete information about the VPM based VIATRA2 and preserved for archive purposes only.<br />
 +
The currently maintained wiki is available at http://wiki.eclipse.org/VIATRA
  
Model transformations (MT) are the backbone of the Model-Driven concept. Primarily, MTs are programs that receive as input a '''source model''' that conforms to its '''source metamodel''' and produces a '''target model''' conforming to a '''target metamodel'''. Based on the work of  <ref name="MTSurvey">Czarneck i K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst .J.  45 (3) (2006) 621-645</ref> MTs are categorised into ''model-to-code'' (M2C) and ''model-to-model'' (M2M) transformation approaches. In general, transforming models to code can be treated as a special case of model-to-model transformations; where a metamodel is provided for the target programming language. However, for many reasons (e.g., reusability) code is usually generated as text rather than its model.
+
__NOTOC__
  
[[Image:VIATRA2_GettingStarted_MTIntroduction_MTOverview.png| general overview of a model transformation]]
+
== Getting VIATRA2 ==
 +
Refer to the [[VIATRA2/Installation|Installation]] page for instructions on obtaining and installing VIATRA2.
  
== Model-to-Code ==
+
== Learning to use VIATRA2 ==
 +
<onlyinclude>
 +
For new users of VIATRA2, we recommend the following introductory material:
 +
* VIATRA2 is a Model Transformation (MT) tool. The concept of model transformation is explained in the [[VIATRA2/GettingStarted/Model Transformations Intro | Model Transformations Intro]].
 +
* The [[VIATRA2/GettingStarted/Using Transformations | Using Transformations]] page presents a tutorial on using existing VIATRA2 transformations. Covers the user interface basics, including an example-guided exercise about loading instance models, exploring the model space, running a ready-made transformation and extracting its output.
 +
* The [[VIATRA2/GettingStarted/Model Editing | Model Editing]] page gives an intro on models in VIATRA2. Features a more in-depth introduction to the VIATRA2 model space, including the VPM metamodel, structure, as well as UI support for browsing and editing. </onlyinclude>
  
M2C transformation (a.k.a. automated code generation) is the act of generating source code of an application from high-level models. Automated code generation can be also considered as a special subset of MT yielding textual languages as their target model. Their aim is to simply speed up development, increase code quality, and comply to coding standards. VIATRA2 supports mode-to-code generation in different [[VIATRA2/UseCases/CodeGeneration|ways]].
+
== Learning transformation development ==
  
== Model-to-Model ==
+
<onlyinclude>
 
+
* Basics concepts of the VIATRA2 transformation language are introduced in the [[VIATRA2/GettingStarted/Creating_Transformations|Creating Transformations]] page.
A M2M transformation (usually referred as model transformation) takes as input a model
+
* Afterwards, to learn transformation development, the [[VIATRA2/GettingStarted/Hello World Transformation | Hello World]] tutorial is the place to start. Includes a walk-through of creating and populating a model space with a very simple model, the creation of a "Hello World!" transformation, and two more transformation programs for demonstrating the concepts of pattern matching and model manipulation.
conforming to a source metamodel and produces as output another model conforming
+
* Next, we recommend proceeding to the [[VIATRA2/Case_Studies|Case Studies]] page, where numerous example transformations are showcased. It is especially useful to start with the [[VIATRA2/Activity_Diagrams_to_Petri_Nets | Activity Diagrams to Petri Nets]] transformation, which is a very simple tutorial intended for learners, and includes a small exercise.
to a target metamodel.  
+
</onlyinclude>
 
+
Usually, M2M are further categorised into
+
* ''Intra model transformations'' , where both the source and the target models are conforming to the same metamodel. A good example for intra MTs are simulations, where the manipulation is taken on the same model.
+
* ''Inter model transformation'' , where the source and target metamodels differ. Typical model transformations (e.g., UML-to-RDBMS) are usually InterMTS.
+
 
+
Both of these transformation categories are supported by the [[VIATRA2/GettingStarted/GTASMmIntro|transformation language]] of the VIATRA2 framework.
+

Latest revision as of 04:04, 30 April 2015

Outdated page

This page contains obsolete information about the VPM based VIATRA2 and preserved for archive purposes only.
The currently maintained wiki is available at http://wiki.eclipse.org/VIATRA


Getting VIATRA2

Refer to the Installation page for instructions on obtaining and installing VIATRA2.

Learning to use VIATRA2

For new users of VIATRA2, we recommend the following introductory material:

  • VIATRA2 is a Model Transformation (MT) tool. The concept of model transformation is explained in the Model Transformations Intro.
  • The Using Transformations page presents a tutorial on using existing VIATRA2 transformations. Covers the user interface basics, including an example-guided exercise about loading instance models, exploring the model space, running a ready-made transformation and extracting its output.
  • The Model Editing page gives an intro on models in VIATRA2. Features a more in-depth introduction to the VIATRA2 model space, including the VPM metamodel, structure, as well as UI support for browsing and editing.

Learning transformation development

  • Basics concepts of the VIATRA2 transformation language are introduced in the Creating Transformations page.
  • Afterwards, to learn transformation development, the Hello World tutorial is the place to start. Includes a walk-through of creating and populating a model space with a very simple model, the creation of a "Hello World!" transformation, and two more transformation programs for demonstrating the concepts of pattern matching and model manipulation.
  • Next, we recommend proceeding to the Case Studies page, where numerous example transformations are showcased. It is especially useful to start with the Activity Diagrams to Petri Nets transformation, which is a very simple tutorial intended for learners, and includes a small exercise.

Back to the top