Modelling Domains

Domain namespaces are used to encapsulate the business logic into its own layer. A domain namespace uses a predefined, reserved vocabulary of terms to define concepts (entities) and their relationships among themselves for a specific use case.

Create domain namespaces

To create a domain namespace, use the Create capability in the domain namespace's Overview section.

A domain namespace is defined by the following master data:

  • Prefix: This is the prefix of the domain namespace. It is unique within a namespace. Please note, that only the characters A-z (without special characters), digits and the special character "_" are permitted for a prefix! Furthermore, prefixes may not begin with a digit and the first character must be lowercase. A prefix can not consist more than 6 characters. The prefix cannot be changed after creation (required)

  • Label: This is used to give a short description of the domain namespace and its lifecycle (required)

  • Description: This is a long the description of the domain namespace and its lifecycle (optional)

You can also use the Open after creation checkbox to open the domain namespace for further editing after creating.

Edit domain namespaces

To edit the master data of a domain namespace, use the Info capability on the domain namespace's card in the Namespaces tab section on the project's Overview page. Alternatively, you can open a domain namespace's instance page and click on General tab then use the Edit details button on top right corner of the card on the right with header Domain Namespace Details to open the Edit Namespace view.

Delete domain namespaces

To delete a domain namespace, use the Info capability on the domain namespace's card in the Namespaces tab section on the project's Overview page. or use the Delete namespace button on top right button on a domain namespace's instance page.

You cannot delete a domain namespace when:

  • an Event of the current namespace is used as an Event Trigger in an Agent in a different namespace

  • an Event of the current namespace is used in a Service or Command of a different namespace

  • a Property definition in a different namespace uses an Entity of the current namespace as a Range

  • a Property association in a different namespace uses an Entity of the current namespace as a Range Restriction

  • an Entity of the current namespace is used as a Parent in a different namespace

  • an Error of the current namespace is used in a Service or Command in a different namespace

  • a Service or a Command in a different namespace uses an Entity of the current namespace as Input/Output/Payload

Attention: You will need to confirm the action before the selected namespace is permanently deleted.