Chapter 2. Viatra Textual Command Language (VTCL) Specification

Table of Contents

1. VTCL Files and Machines (Transformations)
1.1. VTCL Files
1.2. Machine Definition
2. Graph Patterns
2.1. Pattern Definition
2.2. Local Pattern Body Elements
3. Graph Transformation Rules
3.1. Definition of Graph Transformation Rules
3.2. Parameter passing at Graph Transformation Rules
3.3. Behavioural Specification of Graph Transformation Rules
3.4. Invocation of Graph Transformation Rules
4. ASM Rules
4.1. ASM Rule Definition and Invocation
4.2. Simple ASM Rules
4.3. Compound ASM Rules
4.4. Model Manipulation Rules
5. ASM Terms and ASM Functions
5.1. ASM Terms: An Overview
5.2. Logical Terms
5.3. Arithmetic Terms
5.4. Constants
5.5. ASM Functions
5.6. Predefined Functions
5.7. Naming and Variables
5.8. Parameters and Variable Lists
6. Tokens in the VTCL Language
6.1. VTCL tokens: An Overview
6.2. Tokens for names and strings
6.3. Tokens for numbers

The Viatra Textual Command Language (VTCL) is the primary transformation definition language for the VIATRA2 framework. Developers can use this language for the definition of model transformations and code generators. The language combines the formalism of graph transformation (GT) rules and Abstract State Machine (ASM) rule into a single paradigm. This chapter introduces the constructs of the language.