Except for the root, every
The root type is the only type always present in a project. Its name corresponds to the name of the project and you cannot remove it.
To add a new type (and a new rule) to a project, right-click on an existing type and choose Add Rule from the context menu:
After adding a rule by a mouse-click, a window with the Type Properties opens:
In the type properties window, you can define:
- The name of the type, which must be unique. If this is not the case, you will actually add an existing type.
- Whether the relation is a flow for this particular parent or not.
- Whether the flow containers will be visible inside this parent type. If this is not the case, only the flow links will be visible. (This property is only relevant to flows.)
- Whether the flow is bidirectional or not. (This property is only relevant to flows.)
- Whether the type is flexible or not.
Click on the More >> button to access additional parameters described on the Type Properties page.
Finally, click Add to add the new child type.
Coherence
In order to keep the rules coherent, adding a new type as the child of an existing type will be repeated in all the locations where the parent type is present. For instance, if you have a type called Sub-System that is a child of both System and the project root, adding a new type Component as the child of root/Subsystem shall also add Component as a child in the root/System/Subsystem branch.
Recursion
In the same manner, when you have recursive types, the adding of child types to the parent type is automatically extended to the recursive type. In fact, the child types of the recursive type are not even visible since the rules of the parent always apply. Here you see a recursive System type.