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-to-Model)
Line 1: Line 1:
= Model Transformation =
+
Refer to the [[VIATRA2/Installation|Installation]] page for instructions on installing VIATRA2.
  
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.  
+
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 here: [[VIATRA2/GettingStarted/Model Transformations Intro | Model Transformations Intro]].
 +
* A tutorial on using existing VIATRA2 transformations: [[VIATRA2/GettingStarted/Using Transformations | Using 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.  
 +
* Editing models in VIATRA2: [[VIATRA2/GettingStarted/Model Editing | Model Editing]]. Gives a more in-depth introduction to the VIATRA2 model space, including the VPM metamodel, structure, UI support for browsing and editing.  
 +
* To learn transformation development, the [[VIATRA2/GettingStarted/Hello World Transformation | Hello World]] transformation development tutorial is the place to start. Includes a walkthrough 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.
 +
* Afterwards, 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, including a small exercise.
  
[[Image:VIATRA2_GettingStarted_MTIntroduction_MTOverview.png| general overview of a model transformation]]
+
<!--* Creating basic transformations using the VIATRA2 language: [[VIATRA2/GettingStarted/Creating Transformations]]
 
+
* An old tutorial: [[VIATRA2/Basics]]-->
== Model-to-Code ==
+
 
+
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]].
+
 
+
== Model-to-Model ==
+
 
+
A M2M transformation (usually referred as model transformation) takes as input a model
+
conforming to a source metamodel and produces as output another model conforming
+
to a target metamodel.
+
 
+
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/Creating_Transformations|transformation language]] of the VIATRA2 framework.
+
 
+
== References ==
+
 
+
<references/>
+

Revision as of 13:01, 16 March 2010

Refer to the Installation page for instructions on installing 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 here: Model Transformations Intro.
  • A tutorial on using existing VIATRA2 transformations: Using 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.
  • Editing models in VIATRA2: Model Editing. Gives a more in-depth introduction to the VIATRA2 model space, including the VPM metamodel, structure, UI support for browsing and editing.
  • To learn transformation development, the Hello World transformation development tutorial is the place to start. Includes a walkthrough 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.
  • Afterwards, 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, including a small exercise.


Back to the top