Restricted Node Class and/or Attribute Names

Have you ever been trying to name a specific node class or attribute and it keeps giving you an error similar to:

  • The type name ‘Type’ does not exist in the type ‘de.unika.ipd.grGen.Model_metamodel.System’ (English)
  • Der Typname ‘Type’ ist im Typ ‘de.unika.ipd.grGen.Model_metamodel.System’ nicht vorhanden. (German)

One reason is that certain names are already occupied by C# and GrGen, which will give you an error if you try to specify that keyword as a name or attribute. The following is a list of the reserved keywords in GrGen and C#:

abstract as base bool break byte
case catch char checked class const
continue decimal default delegate do double
else enum event explicit extern finally
fixed float for foreach goto if
implicit in int interface internal is
lock long namespace new null object
operator out override params private <protected< td=””>
public readonly ref return sbyte sealed
short sizeof stackalloc static string struct
switch this throw try typeof unit
ulong unchecked unsafe ushort using virtual
void volatile while FALSE TRUE


C# Keywords Introduced in .Net Framework 2.0
C# Keywords Introduced in .Net Framework 3.0
by descending from group into orderby
select var where


Additionally, in GrGen these also include:

GrGen and Soley Studio Keywords
Activity Assembly boolean byte short int
long float double string object rule
sequence function procedure test class array
map set deque directed undirected abstract
extends external
  • There might be more restricted terms that we are not aware of. In case you experience odd behavior with a class or attribute name in your metamodel definition, try to change the name to see if this causes the issue.

Please refrain from specifying your node class names or attribute using any of the above keywords.

Was this article helpful?

Related Articles