Data Model Details

The following chapter contains a detailed description of all data model object types, relationships, and attributes.

All the attributes are listed in a table, and more complex attributes and relationships are explained in more detail in the subsequent topics. The most important attribute properties are represented in the tables by the following symbols:

Symbol Description
* or [M] Mandatory attribute. This attribute must be assigned a value.
[C] (Choice) Occurs if there are at least two attributes for a type or relationship. Only one of these attributes may be assigned a value or set to true.
[D] (Dependency) Occurs if there are at least two attributes for a type or a relationship. These attributes depend on each other and must be modeled in a specific way.
[O] (Optional) Optional attribute. Optional attributes do not have a standard value and can be left empty.
[U] (Unique) The value of this attribute must be unique among the siblings of the same type.
[UC] (Unique Choice) Precisely one type or one relationship among the siblings must set this attribute to true. Only occurs with boolean attributes.

Certain attributes, such as ID and Label are assigned to several object types and relationships. In principle, these always have the same meaning:

Mandatory attribute. The value of this attribute must be unique in the model. The use of a naming convention is recommended.
Optional attribute. Labels are used for the display of objects and fields in the user interface. If the model interpreter does not find a label for an object of a type, the next matching attribute is taken, which could be a label for a higher hierarchy level or the ID of an object type.


Action Descriptor ACT_DELETE Label = “Delete Member”
Element ELE_Member has Action Descriptor (relationship): Label = “” (empty)
Element ELE_Task has Action Descriptor (relationship): Label = “Delete Task”

For elements of type “ELE_Member”, the label “Delete Member” matches the action, which should delete a member. Elements of type “ELE_Task” should be deleted by clicking Delete Task in the context menu, even if the same action descriptor is hidden behind it. In this case, the label of the action descriptors can be “overwritten” with the label of the relationship. If the action descriptor “ACT_DELETE” has no label, its ID is used.

It is also possible to define sub-menus in context menus by using the forward slash character “/” in label definitions for action descriptors. Every block of characters ending with a “/” results in a submenu at run time. If a forward slash character should be used as part of a label or menu, it must be entered as double slash (//).


The label definition “Test Submenu/Another Submenu/Some Action” creates two sub-menus in any context menu:

  • Test Submenu
    • Another Submenu
      • Some Action
The label definition “File Actions/PL//I/Browse Includes…” creates two sub-menus in any context menu:
  • File Actions
    • PL/I
      • Browse Includes...

Complex attributes are made up of several individual attributes. Relationships and complex attributes can appear several times within a type.

Cardinalities of the following relationships and complex attributes are described in tables in the following topics: