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 namespace's card in the Domain Namespaces section on the project's Overview page. Alternatively, you can use the Info capability on a domain namespace's instance page to open the Details view, navigate to the Master Data section and use the Edit Master Data capability there.

Delete domain namespaces

To delete a domain namespace, use the Info capability on the namespace's card in the Domain Namespaces section on the project's Overview page or use the Info capability on a domain namespace's instance page to open the Details view, navigate to the Master Data section and use the Delete capability there.

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.