Model Element Identifiers

Persistent model elements have IDs and OIDs as unique object identifiers so that they can be accessed and referenced through these identifiers. The ID of a model element is exposed to the user in the Infinity Process Platform Process Workbench, whereas the OID is not.


The element's internal object identifier (OID) identifies objects located anywhere in the context of Infinity Process Platform . An OID is 32 bits long and is globally unique inside a model. OIDs are not visible in Infinity Process Platform 's GUI, but they are included in the XML-export files that can be generated using the Infinity Process Platform Process Workbench.


An ID of a model element is an arbitrary string, assigned to the element by the modeler. The element's ID must be unique within its scope. A model itself also has an ID which will be the same for different versions of the same model and allows comparisons of such versions.

IDs are used to refer to elements of a process model (e.g. a process) while using the programming API of Infinity Process Platform (see chapter Embedded Usage in the Programming Guide).

ID Restrictions

The valid characters used for IDs or OIDs are restricted for the following model elements:

Valid characters for IDs of these elements are letters ([a...z][A...Z]), numeric characters [0...9], dollar signs ($) and underscores (_).

Warning Dialog in the Eclipse Modeler
Figure: Warning indicating an invalid ID in the Eclipse Modeler

Warning Dialog in the Web Modeler
Figure: Warning indicating an invalid ID in the Web Modeler

In case you try to enter an invalid ID for data types or access points in the Eclipse modeler, a warning indicates that the identifier is not valid. However, the data type or access point can be used, but problems will occur when using JavaScript.

If you try to enter an invalid ID for a structured data type definition, an error indicates that the ID is not a valid identifier and you have to change it before applying is possible.

Warning Dialog 2
Figure: Error indicating an invalid ID.

For invalid characters, an underscore is created. Blanks are removed.


A name of a model element is an arbitrary string, assigned to the element by the modeler. In general, no restrictions are imposed on characters used, any printable characters and blanks can be used in the name. There is an exception in case you use non-ASCII characters. If you use non-ASCII characters in model element names, you have to add the property carnot.engine.xml.encoding to your file and set it to UTF-8:


Name Scopes

Each element's ID has to be unique within a particular scope. Except from activities, all model elements are valid within the model scope. This means, if you create a role named VP Marketing it will be visible in the entire model. It also implies that the ID of each role must be unique within a model.

Activities must be identified by IDs unique only within the scope of the process they belong to. Different activities described by the same name and ID can be used in different processes.