Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be 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/Transformation Language"

m (The VIATRA2 Transformation Control Language)
m (Added outdated page notice)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
= The VIATRA2 Transformation Control Language =
+
== 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
 +
 
 +
__TOC__
 +
 
 +
== The VIATRA2 Transformation Control Language ==
  
 
Since precise model-based systems development is the primary application area of VIATRA2, it necessitates that (i) the model transformations are specified in a mathematically precise way, and (ii) these transformations are automated so that the target mathematical models can be derived fully automatically. For this purpose, VIATRA2 have chosen to integrate two popular, intuitive, yet mathematically precise rule-based specification formalisms, namely, graph transformation (GT) and abstract state machines (ASM) to manipulated graph based models.
 
Since precise model-based systems development is the primary application area of VIATRA2, it necessitates that (i) the model transformations are specified in a mathematically precise way, and (ii) these transformations are automated so that the target mathematical models can be derived fully automatically. For this purpose, VIATRA2 have chosen to integrate two popular, intuitive, yet mathematically precise rule-based specification formalisms, namely, graph transformation (GT) and abstract state machines (ASM) to manipulated graph based models.
Line 19: Line 25:
 
The VTCL transformation language of VIATRA2 has the following main parts:
 
The VTCL transformation language of VIATRA2 has the following main parts:
  
 +
* [[VIATRA2/Examples/VTCL/VTCL Basics| VTCL Basics]]
 
* [[VIATRA2/Examples/VTCL/Terms | Expressions and Terms]]
 
* [[VIATRA2/Examples/VTCL/Terms | Expressions and Terms]]
 
* [[VIATRA2/Examples/VTCL/ASM | Abstract State Machines (ASMs)]]
 
* [[VIATRA2/Examples/VTCL/ASM | Abstract State Machines (ASMs)]]
Line 24: Line 31:
 
* [[VIATRA2/Examples/VTCL/GraphPattern | Graph Patterns]]
 
* [[VIATRA2/Examples/VTCL/GraphPattern | Graph Patterns]]
 
* TODO Graph transformation rules
 
* TODO Graph transformation rules
 
 
* [[VIATRA2/Examples/VTCL/TypeChecking | Type checking rules]]
 
* [[VIATRA2/Examples/VTCL/TypeChecking | Type checking rules]]

Latest revision as of 04:00, 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

The VIATRA2 Transformation Control Language

Since precise model-based systems development is the primary application area of VIATRA2, it necessitates that (i) the model transformations are specified in a mathematically precise way, and (ii) these transformations are automated so that the target mathematical models can be derived fully automatically. For this purpose, VIATRA2 have chosen to integrate two popular, intuitive, yet mathematically precise rule-based specification formalisms, namely, graph transformation (GT) and abstract state machines (ASM) to manipulated graph based models.

  • (Graph) Patterns are the basic concept in defining model transformations within VIATRA2. A pattern is a collection of model elements arranged into a certain structure fulfilling additional constraints (as defined by attribute conditions or other patterns). Patterns can be matched on certain model instances
  • Elementary model manipulation is specified by graph transformation rules. Like OCL, graph transformation rules describe pre- and postconditions to the transformations, but graph transformation rules are guaranteed to be executable, which is a main conceptual difference. Upon successful matching of the precondition pattern, the graph transformation rules changes the underlying model elements according to the postcondition pattern.
  • Graph transformation rules are assembled into complex model transformations by abstract state machine rules, which provide a set of commonly used imperative control structures with precise semantics.

Advanced features of the VIATRA2 transformation language (called VTCL) are

  • Pattern composition (for pre and postcondition patterns)
  • Recursive (graph) patterns
  • Negative patterns with arbitrary depth of negation


Contents

If you are new to writing VIATRA2 transformations, you should probably check out the Getting Started pages, and in particular the Creating Transformations block.

The VTCL transformation language of VIATRA2 has the following main parts:

Back to the top