##### Document Text Contents

Page 1

The Viatra-I Model Transformation Framework

Pattern Language Specification

c© 2006. OptXware Research and Development LLC. This document is property of the OptXware Research and Development

LLC. To copy the whole or parts of it, or passing the contained information to third parties is allowed only with prior approval

of OptXware Research and Development LLC.

Page 45

5 Viatra Textual Command Language Specification 43

Multiplicity Constant

A property of a relation is its multiplicity. The multiplicity constantsDescription

determine the domain of this property.

Syntax

Both end of a relation can have either the multiplicity one or the mul-Semantics

tiplicity many. In the modelspace only a single property determines

the multiplicity of a relation that holds the multiplicity information

for both ends. The possible values of a multiplicity constant are

one to one, one to many , many to one and many to many .

valueDefined in

element update rule (setMultiplicity),Used by

built in function (getMultiplicity)

String Constant

The value property of entities are represented by strings, variablesDescription

can store string values, too and strings can be the elements of arith-

metic terms. The representation of strings are defined by string con-

stants.

Syntax

A string is a sequence of characters. In the constant representation itSemantics

is surrounded with double quotation marks (”). A character can be a

normal ASCII character defined by anychar II. or a special character

defined by special char.

Page 46

5 Viatra Textual Command Language Specification 44

A special char is not a single ASCII character; it is defined by a pair,

triplet or quartet of characters, see Table 5.1.

Table 5.1: Definition of special characters in string constants

Special character Description

\” a double quotation mark character

\\ a backslash character

\n a new line character

\t a tabulator character

\b a backspace character

\r a carriage return character

\f a formfeed character

\0..\7

\00..\77 an ASCII character with its code

\000..\377

valueDefined in

entity value, element update rule (setValue), variable, arithmeticSee also

term

Integer Constants

Integer values can be represented as octal, decimal or hexadecimalDescription

constants.

Syntax

Page 89

5 Viatra Textual Command Language Specification 87

The setTo rule sets the target of a relation. Both parameters are

ASM terms that must evaluate to model element ref s; the first ref-

erences a relation, the second references an arbitrary model element

that will be the new target of the relation.

The setMultiplicity rule modifies the multiplicity property of a re-

lation. Both parameters are ASM terms; the first must evaluate to

a model element ref referencing a relation, the second must evalu-

ate to a multiplicity value that will be the new value assigned to the

relation.

The setAggregation rule modifies the aggregation property of a

relation. Both parameters are ASM terms; the first must evaluate to

a model element ref referencing a relation, the second must evaluate

to a boolean value that will be the new value assigned to the relation.

The setInverse rule defines an inverse relation between two rela-

tions. Both parameters are ASM terms that must evaluate to model

element ref s referencing relations; the inverse property is set for both

relations having referenced the other relation as the new value.

model manipulation ruleDefined in

entity , relation, type name, model element ref , string constant, mul-See also

tiplicity constant, boolean constant

Page 90

Bibliography

[1] E. Börger and R. Stärk. Abstract State Machines. A method for

High-Level System Design and Analysis. Springer-Verlag, 2003.

[2] H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg (eds.).

Handbook on Graph Grammars and Computing by Graph Trans-

formation, vol. 2: Applications, Languages and Tools. World

Scientific, 1999.

[3] Á. Horváth, D. Varró, and G. Varró. Generic search plans

for matching advanced graph patterns. In Proc. Workshop on

Graph Transformation and Visual Modelling Techniques (GT-

VMT 2007). 2007. To appear.

[4] A. Rensink. Representing first-order logic using graphs. In

H. Ehrig, G. Engels, F. Parisi-Presicce, and G. Rozenberg (eds.),

Proc. 2nd International Conference on Graph Transformation

(ICGT 2004), Rome, Italy, vol. 3256 of LNCS, pp. 319–335.

Springer, 2004.

[5] D. Ullman. Principles of Database and Knowledge Base Systmes,

vol. Deductive Databases. Computer Science Press, 1988.

[6] D. Varró. Automated Model Transformations for the Analysis of

IT Systems. Ph.D. thesis, Budapest University of Technology and

Economics, Department of Measurement and Information Sys-

tems, 2004.

[7] D. Varró and A. Pataricza. VPM: A visual, precise and multi-

level metamodeling framework for describing mathematical do-

mains and UML. Journal of Software and Systems Modeling,

vol. 2(3):pp. 187–210, 2003.

[8] G. Varró, D. Varró, and K. Friedl. Adaptive graph pattern match-

ing for model transformations using model-sensitive search plans.

In G. Karsai and G. Taentzer (eds.), GraMot 2005, Interna-

tional Workshop on Graph and Model Transformations, vol. 152

of ENTCS, pp. 191–205. Elsevier, 2006.

88

The Viatra-I Model Transformation Framework

Pattern Language Specification

c© 2006. OptXware Research and Development LLC. This document is property of the OptXware Research and Development

LLC. To copy the whole or parts of it, or passing the contained information to third parties is allowed only with prior approval

of OptXware Research and Development LLC.

Page 45

5 Viatra Textual Command Language Specification 43

Multiplicity Constant

A property of a relation is its multiplicity. The multiplicity constantsDescription

determine the domain of this property.

Syntax

Both end of a relation can have either the multiplicity one or the mul-Semantics

tiplicity many. In the modelspace only a single property determines

the multiplicity of a relation that holds the multiplicity information

for both ends. The possible values of a multiplicity constant are

one to one, one to many , many to one and many to many .

valueDefined in

element update rule (setMultiplicity),Used by

built in function (getMultiplicity)

String Constant

The value property of entities are represented by strings, variablesDescription

can store string values, too and strings can be the elements of arith-

metic terms. The representation of strings are defined by string con-

stants.

Syntax

A string is a sequence of characters. In the constant representation itSemantics

is surrounded with double quotation marks (”). A character can be a

normal ASCII character defined by anychar II. or a special character

defined by special char.

Page 46

5 Viatra Textual Command Language Specification 44

A special char is not a single ASCII character; it is defined by a pair,

triplet or quartet of characters, see Table 5.1.

Table 5.1: Definition of special characters in string constants

Special character Description

\” a double quotation mark character

\\ a backslash character

\n a new line character

\t a tabulator character

\b a backspace character

\r a carriage return character

\f a formfeed character

\0..\7

\00..\77 an ASCII character with its code

\000..\377

valueDefined in

entity value, element update rule (setValue), variable, arithmeticSee also

term

Integer Constants

Integer values can be represented as octal, decimal or hexadecimalDescription

constants.

Syntax

Page 89

5 Viatra Textual Command Language Specification 87

The setTo rule sets the target of a relation. Both parameters are

ASM terms that must evaluate to model element ref s; the first ref-

erences a relation, the second references an arbitrary model element

that will be the new target of the relation.

The setMultiplicity rule modifies the multiplicity property of a re-

lation. Both parameters are ASM terms; the first must evaluate to

a model element ref referencing a relation, the second must evalu-

ate to a multiplicity value that will be the new value assigned to the

relation.

The setAggregation rule modifies the aggregation property of a

relation. Both parameters are ASM terms; the first must evaluate to

a model element ref referencing a relation, the second must evaluate

to a boolean value that will be the new value assigned to the relation.

The setInverse rule defines an inverse relation between two rela-

tions. Both parameters are ASM terms that must evaluate to model

element ref s referencing relations; the inverse property is set for both

relations having referenced the other relation as the new value.

model manipulation ruleDefined in

entity , relation, type name, model element ref , string constant, mul-See also

tiplicity constant, boolean constant

Page 90

Bibliography

[1] E. Börger and R. Stärk. Abstract State Machines. A method for

High-Level System Design and Analysis. Springer-Verlag, 2003.

[2] H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg (eds.).

Handbook on Graph Grammars and Computing by Graph Trans-

formation, vol. 2: Applications, Languages and Tools. World

Scientific, 1999.

[3] Á. Horváth, D. Varró, and G. Varró. Generic search plans

for matching advanced graph patterns. In Proc. Workshop on

Graph Transformation and Visual Modelling Techniques (GT-

VMT 2007). 2007. To appear.

[4] A. Rensink. Representing first-order logic using graphs. In

H. Ehrig, G. Engels, F. Parisi-Presicce, and G. Rozenberg (eds.),

Proc. 2nd International Conference on Graph Transformation

(ICGT 2004), Rome, Italy, vol. 3256 of LNCS, pp. 319–335.

Springer, 2004.

[5] D. Ullman. Principles of Database and Knowledge Base Systmes,

vol. Deductive Databases. Computer Science Press, 1988.

[6] D. Varró. Automated Model Transformations for the Analysis of

IT Systems. Ph.D. thesis, Budapest University of Technology and

Economics, Department of Measurement and Information Sys-

tems, 2004.

[7] D. Varró and A. Pataricza. VPM: A visual, precise and multi-

level metamodeling framework for describing mathematical do-

mains and UML. Journal of Software and Systems Modeling,

vol. 2(3):pp. 187–210, 2003.

[8] G. Varró, D. Varró, and K. Friedl. Adaptive graph pattern match-

ing for model transformations using model-sensitive search plans.

In G. Karsai and G. Taentzer (eds.), GraMot 2005, Interna-

tional Workshop on Graph and Model Transformations, vol. 152

of ENTCS, pp. 191–205. Elsevier, 2006.

88