![]() | Syntax |
---|---|
QualifiedTypeNameAST ::= TypeNameAST | QualifiedTypeNameAST . TypeNameAST TypeNameAST ::= NameLiteral | IDENTIFIER | UpperCaseLiteral | KeywordAsIdentifier ValueQualifiedNameAST ::= ValueLocalNameAST | QualifiedTypeNameAST . TypeNameAST ValueLocalNameAST ::= NameLiteral | IDENTIFIER A model element is identified by its name. A model element name can contain arbitrary ASCII characters except apostrophes (single quotation marks) since the sequence of characters must be inserted between single quotation marks. The single quotation marks are not part of the name. The quotation marks can be omitted if the name starts with a letter (either upper case or lower case) and contains only alphanumeric characters. A qualified model element name is a sequence of local model element names separated with dots. |
![]() | Semantics |
---|---|
The fully qualified name is a model element name that consists of all containers of the model element according to the containment hierarchy starting from a child of the root element. When defining a machine, an ASM rule, an ASM function, a graph pattern or a graph transformation rule, their names are always defined as local names, while their namespace is defined globally in the VTCL file in a namespace definition. The local name of a model element can be used in the type of an entity or relation if the containment hierarchy of the referred model element (i.e. the type) is imported by a namespace import. |
Remark. Note that name constants starting with an upper-case initial may clash with variables in ASM programs. In case of such a conflict, the name constants have to be surrounded with apostrophes ('). In other terms, in ASM programs, all upper case literals and reserved words should be quoted between apostrophes, when used as a model element constant as a local name.