<html> | |
<head> | |
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
<title>The VIATRA2 Model Transformation Framework</title> | |
<link href="style.css" rel="stylesheet" type="text/css"> | |
<meta content="DocBook XSL Stylesheets V1.72.0" name="generator"> | |
<link rel="start" href="index.html" | |
title="The VIATRA2 Model Transformation Framework"> | |
<link rel="next" href="sec_UsersGuide.html" | |
title="Chapter 1. VIATRA Users Guide"> | |
</head> | |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" | |
alink="#0000FF"> | |
<div class="navheader"> | |
<table summary="Navigation header" width="100%"> | |
<tr> | |
<th align="center" colspan="3">The VIATRA2 Model Transformation | |
Framework</th> | |
</tr> | |
<tr> | |
<td align="left" width="20%"> </td> | |
<th align="center" width="60%"> </th> | |
<td align="right" width="20%"> <a accesskey="n" | |
href="sec_UsersGuide.html">Next</a></td> | |
</tr> | |
</table> | |
<hr> | |
</div> | |
<div class="book" lang="en"> | |
<div class="titlepage"> | |
<div> | |
<div> | |
<h1 class="title"><a name="N10001"></a>The VIATRA2 Model | |
Transformation Framework</h1> | |
</div> | |
<div> | |
<h2 class="subtitle">Users Guide and Transformation Language | |
Specification</h2> | |
</div> | |
<div> | |
<p class="releaseinfo">Release 3.0</p> | |
</div> | |
<div> | |
<p class="copyright">Copyright © 2008 OptXware Ltd.</p> | |
</div> | |
<div> | |
<div class="legalnotice"><a name="N10024"></a> | |
<p class="legalnotice-title"><b>Copyright notice</b></p> | |
<p>All rights reserved. This program and the accompanying materials | |
are made available under the terms of the Eclipse Public License v1.0 | |
which accompanies this distribution, and is available at <a href="">http://www.eclipse.org/legal/epl-v10.html</a> | |
</p> | |
</div> | |
</div> | |
</div> | |
<hr> | |
</div> | |
<div class="toc"> | |
<p><b>Table of Contents</b></p> | |
<dl> | |
<dt><span class="chapter"><a href="sec_VTCLSpec.html">2. | |
Viatra Textual Command Language (VTCL) Specification</a></span></dt> | |
<dd> | |
<dl> | |
<dt><span class="sect1"><a | |
href="sec_MainVtclConcepts.html">1. VTCL Files and Machines | |
(Transformations)</a></span></dt> | |
<dd> | |
<dl> | |
<dt><span class="sect2"><a href="sec_VtclFile.html">1.1. | |
VTCL Files</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_MachineDefinition.html">1.2. Machine Definition</a></span></dt> | |
</dl> | |
</dd> | |
<dt><span class="sect1"><a href="sec_GraphPatterns.html">2. | |
Graph Patterns</a></span></dt> | |
<dd> | |
<dl> | |
<dt><span class="sect2"><a | |
href="sec_PatternDefinition.html">2.1. Pattern Definition</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_LocalPatternlElementDescription.html">2.2. Local | |
Pattern Body Elements</a></span></dt> | |
</dl> | |
</dd> | |
<dt><span class="sect1"><a | |
href="sec_GraphTransformations.html">3. Graph Transformation | |
Rules</a></span></dt> | |
<dd> | |
<dl> | |
<dt><span class="sect2"><a href="sec_DefGTRule.html">3.1. | |
Definition of Graph Transformation Rules</a></span></dt> | |
<dt><span class="sect2"><a href="sec_GTParamPass.html">3.2. | |
Parameter passing at Graph Transformation Rules</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_GTRuleBehaviour.html">3.3. Behavioural Specification | |
of Graph Transformation Rules</a></span></dt> | |
<dt><span class="sect2"><a href="sec_InvokeGTRule.html">3.4. | |
Invocation of Graph Transformation Rules</a></span></dt> | |
</dl> | |
</dd> | |
<dt><span class="sect1"><a href="sec_ASMRules.html">4. | |
ASM Rules</a></span></dt> | |
<dd> | |
<dl> | |
<dt><span class="sect2"><a href="sec_DefASMRule.html">4.1. | |
ASM Rule Definition and Invocation</a></span></dt> | |
<dt><span class="sect2"><a href="sec_ASMSimpleRules.html">4.2. | |
Simple ASM Rules</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_ASMCompoundRules.html">4.3. Compound ASM Rules</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_ASMModelManipulationRules.html">4.4. Model | |
Manipulation Rules</a></span></dt> | |
</dl> | |
</dd> | |
<dt><span class="sect1"><a | |
href="sec_ASMTermsFormulas.html">5. ASM Terms and ASM Functions</a></span></dt> | |
<dd> | |
<dl> | |
<dt><span class="sect2"><a href="sec_ASMTerms.html">5.1. | |
ASM Terms: An Overview</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_ASMLogicalTerms.html">5.2. Logical Terms</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_ASMArithmeticTerms.html">5.3. Arithmetic Terms</a></span></dt> | |
<dt><span class="sect2"><a href="sec_ASMConstants.html">5.4. | |
Constants</a></span></dt> | |
<dt><span class="sect2"><a href="sec_ASMFunctions.html">5.5. | |
ASM Functions</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_PredefinedFunctions.html">5.6. Predefined Functions</a></span></dt> | |
<dt><span class="sect2"><a | |
href="sec_NamingVariables.html">5.7. Naming and Variables</a></span></dt> | |
<dt><span class="sect2"><a href="sec_Parameters.html">5.8. | |
Parameters and Variable Lists</a></span></dt> | |
</dl> | |
</dd> | |
<dt><span class="sect1"><a href="sec_VTCLTokens.html">6. | |
Tokens in the VTCL Language</a></span></dt> | |
<dd> | |
<dl> | |
<dt><span class="sect2"><a href="sec_TokensOverview.html">6.1. | |
VTCL tokens: An Overview</a></span></dt> | |
<dt><span class="sect2"><a href="sec_NameTokens.html">6.2. | |
Tokens for names and strings</a></span></dt> | |
<dt><span class="sect2"><a href="sec_NumberTokens.html">6.3. | |
Tokens for numbers</a></span></dt> | |
</dl> | |
</dd> | |
</dl> | |
</dd> | |
<dt><span class="index"><a href="sec_index.html">Index</a></span></dt> | |
</dl> | |
</div> | |
<div class="list-of-figures"> | |
<p><b>List of Figures</b></p> | |
<dl> | |
<dt>2.1. <a | |
href="def_NamespaceDefinition.html#fig:NamespaceStruct">Recommended | |
structure of namespaces</a></dt> | |
<dt>2.2. <a href="sec_GTParamPass.html#fig:VTCL_ParamRelations">Relations | |
of parameters of the parts of a GT rule</a></dt> | |
</dl> | |
</div> | |
<div class="list-of-tables"> | |
<p><b>List of Tables</b></p> | |
<dl> | |
<dt>2.1. <a | |
href="sec_ConflictHandling.html#tab:VTCL_EntManipBehav">Behavior | |
table for entity manipulation</a></dt> | |
<dt>2.2. <a | |
href="sec_ConflictHandling.html#tab:VTCL_RelManipBehav">Behavior | |
table for relation manipulation (both the source A and target B are | |
entities)</a></dt> | |
<dt>2.3. <a href="def_LogicalTerm.html#tab_LogicalOp">Logical | |
operators (AND, OR, XOR)</a></dt> | |
<dt>2.4. <a href="def_BaseLogicalTerm.html#tab_EqualNotEqual">Equal | |
(<code class="computeroutput">==</code>) and Not Equal (<code | |
class="computeroutput">!=</code>) operators </a></dt> | |
<dt>2.5. <a href="def_BaseLogicalTerm.html#tab_Inequality">Other | |
relational inequality operators (<code class="computeroutput"><, | |
>, <=, >=</code>) and Not Equal (<code class="computeroutput">!=</code>) | |
operators </a></dt> | |
<dt>2.6. <a href="def_ArithmeticTerm.html#tab_AddOp">Add (<code | |
class="computeroutput">+</code>) operator </a></dt> | |
<dt>2.7. <a href="def_ArithmeticTerm.html#tab_SubtractOp">Subtract | |
(<code class="computeroutput">-</code>) operator </a></dt> | |
<dt>2.8. <a href="def_MultArithmeticTerm.html#tab_MultDivOp">Multiply | |
(<code class="computeroutput">*</code>) and Divide (<code | |
class="computeroutput">/</code>) operators </a></dt> | |
<dt>2.9. <a href="def_MultArithmeticTerm.html#tab_RemainderOp">Remainder | |
(<code class="computeroutput">%</code>) operator </a></dt> | |
<dt>2.10. <a href="def_UnaryArithmeticTerm.html#tab_NegOp">Negation | |
(<code class="computeroutput">!</code>) operator </a></dt> | |
<dt>2.11. <a href="def_UnaryArithmeticTerm.html#tab_MinusOp">Minus | |
(<code class="computeroutput">-</code>) operator </a></dt> | |
<dt>2.12. <a href="def_StringConstant.html#tab_EscapeSequences">Escape | |
sequences and special characters in string constants</a></dt> | |
</dl> | |
</div> | |
<div class="list-of-examples"> | |
<p><b>List of Examples</b></p> | |
<dl> | |
<dt>2.1. <a | |
href="def_NamespaceImport.html#def_NamespaceImport_Example">Sample | |
namespace import</a></dt> | |
<dt>2.2. <a href="def_Machine.html#def_Machine_Example">Hello | |
World Machine</a></dt> | |
<dt>2.3. <a href="def_PatternBody.html#def_PatternBody_Example">Overview | |
of pattern body contents</a></dt> | |
<dt>2.4. <a href="def_ChooseRule.html#def_ChooseRule_Example1">Different | |
invocations of a choose rule</a></dt> | |
<dt>2.5. <a href="def_ChooseRule.html#def_ChooseRule_Example2">Quantification | |
of variables passed to a choose rule</a></dt> | |
<dt>2.6. <a href="def_ForallRule.html#def_ForallRule_Example1">Different | |
invocations of a forall rule</a></dt> | |
<dt>2.7. <a href="def_ForallRule.html#def_ForallRule_Example2">Counting | |
with a forall rule</a></dt> | |
<dt>2.8. <a href="def_ForallRule.html#def_ForallRule_Example3">Quantification | |
of unbound variables passed to a forall rule</a></dt> | |
<dt>2.9. <a href="def_ForallRule.html#def_ForallRule_Example4">Forall | |
rule used in the context of ASM functions</a></dt> | |
<dt>2.10. <a | |
href="def_FloatConstant.html#def_FloatConstant_Example">Floating | |
point constants</a></dt> | |
</dl> | |
</div> | |
</div> | |
<div class="navfooter"> | |
<hr> | |
<table summary="Navigation footer" width="100%"> | |
<tr> | |
<td align="left" width="40%"> </td> | |
<td align="center" width="20%"> </td> | |
<td align="right" width="40%"> <a accesskey="n" | |
href="sec_UsersGuide.html">Next</a></td> | |
</tr> | |
<tr> | |
<td valign="top" align="left" width="40%"> </td> | |
<td align="center" width="20%"> </td> | |
<td valign="top" align="right" width="40%"> Chapter 1. VIATRA | |
Users Guide</td> | |
</tr> | |
</table> | |
</div> | |
</body> | |
</html> |