All Domain Participants are assigned to the Domain regardless of where they are in the containment hierarchy. Domain Participants should have at least one instance which can be any kind of lock property typed by Domain Participant. During DDS XML generation, all properties of the Block are considered a Domain Participants.

You can create Domain and Domain Participants by using:

  • The Containment tree.
  • DDS Domain Table.

This page contains the following topics:


Creating Domain and Domain Participants by using the Containment tree


To create a Domain Participant or Domain in the Containment tree


  1. In the Containment tree, right-click a Package wherein you want to create Domain Participants or Domain.
  2. From the shortcut menu, select Create Element and from the opened dialog, select DomainParticipant or Domain.
  3. The unnamed element is created. Type its name and press enter.

Creating Domain and Domain Participants by using the DDS Domain Table

You can use the DDS Domain Table to create a Domain inside a Domain Library. It also helps to assign Topics and Domain Participants to the Domain. The DDS Domain Table named Domain is already created in predefined DDS Package structure. If you want to create a new one, follow the procedure below.

To create an empty DDS Domain Table


  1. In the Containment tree, right-click a predefined Domain Package.
  2. From the shortcut menu, select Create Diagram and from the opened dialog, select DDS Domain Table.
  3. The unnamed table is created. Type its name and press enter.


To fill in the DDS Domain Table


  1. From the table toolbar, click the Add New button. The new row appears and DDSDomain element is created in the model.
  2. In the table, specify the following:
     - Double-click Name cell and type a domain name.
     - Double-click the Domain_id cell and type domain id number.
     - Double-click the Topics cell, select Edit and in the Select Elements dialog choose already created topics or use the Creation Mode to create new topics.

    Topics referenced by a Domain Participants must be assigned to every Domain that the participant is assigned to. Unassigned Topics lead to validation errors.

     - Double-click the Participants cell, select Edit and in the Select Elements dialog choose already created Domain Participants or use the Creation Mode to create new Domain Participants.
     - The Participant Instances column fill in automatically when instances are created in the model. How to create Participant Instances >>

Creating Domain Participants by refactoring the Block


To create a Domain Participant or Domain by refactoring a Block


  1. In the Containment tree, right-click a Package wherein you want to create Domain Participants or Domain.
  2. From the shortcut menu, select Create Element and from the opened dialog, select Block.
  3. Right-click the Block and select Refactor > Convert To > More SpecificDomain Participant or Domain.
    The Block is refactored to the Domain Participant or Domain.

Creating instances 

The difference between instances of Domain Participants and Members of DDS Data types are the following:

   - Domain Participant instances: are any Block property typed by Domain Participant. They can be any kid of property: Value Property, Part Property, Reference Property etc.
   - Members: DDS Data type Members are used in the data definition section of the meta-model. They allow to define custom, DDS annotated data types. They rely heavily on multiplicity definitions in order to be able to produce a syntactically correct DDS xml output.

To create a Domain Participant instances


  1. In the Containment tree, right-click a Block which will be the owner of the instances.
  2. From the shortcut menu, select Create Diagram and from the opened dialog, select SysML Internal Block Diagram.
  3. From the diagram palette select a property (e.g. Part Property) and click on the diagram pane.
  4. Type the name of the property.
  5. Select a Domain Participant as type of the property.
    The instance of Domain Participant is created.

Defining instances multiplicity

To define a instances as an array or sequence, its multiplicity needs to be changed as it follows, where N must be at least 1 and M must be greater than N.

Lower Value

Upper Value

Multiplicity

Type

N

N

N

Array

0

-1

0 .. *

Boundless Array

0

N-1

0 .. N-1

Sequence

N

M

N .. M

Sequence


To change the instance multiplicity


  1. Double-click the Part Property to open it's Specification window.
  2. Select the Multiplicity property value or type Lower Value and Upper Value.