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 (VIATRA2 Transformation Language moved to VIATRA2/Transformation Language: Move into VIATRA2 namespace.)
(Overview)
Line 10: Line 10:
 
* '''Recursive (graph) patterns'''
 
* '''Recursive (graph) patterns'''
 
* '''Negative patterns''' with arbitrary depth of negation
 
* '''Negative patterns''' with arbitrary depth of negation
 +
 +
Main language features of VTCL are demonstrated [[VIATRA2/Examples/VTCL | here ]].

Revision as of 12:12, 27 February 2009

Overview

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

Main language features of VTCL are demonstrated here .

Back to the top