Skip to end of metadata
Go to start of metadata

Objects in ArchiMate® models can be nested. When two objects are nested they have some kind of hierarchical relation between them. Two objects are considered nested in one of the following situations:

  • They have a parent-child relation in the model browser (semantical nesting).
  • Their references have a parent-child relation in a view (graphical nesting).
  • A composition/aggregation relation is created between them (nesting via a relation).


The different types of nesting represent a nesting end result, not the actions that need to be performed to accomplish it. Each type of nesting is described below.

The different types of nesting function independently of each other and even contradict each other in some cases. Please consider this when applying your specific use case.


On this page:


Semantical nesting

Objects are semantically nested when an object is created directly below another object in the model browser, creating a parent-child hierarchy between the objects. Creating a child object can be done by right-clicking the parent object in the model browser and then selecting New > ObjectName in the object's context menu. This nesting will automatically create a preferred relation between the nested objects. What type of relation this is can be defined with the setting Generate preferred relation upon creation of nested objects at the Enterprise Studio general options.


Example of nested objects in the model browser


If you drag a nested object from the model browser onto a view, it is placed as a nested object in the view. If the object has underlying objects (child objects) in the model browser, these underlying objects will also be included in the view. Any parent object will not be included.

The relation between the parent object and its child object(s) is not shown in the view, but you can make it visible (as shown below on the right) by using the Show relations function or by dragging the relations from the model browser onto the view. For more information, please refer to Showing relations of nested objects in an ArchiMate model.


Nested objects in a view, without and with showing the preferred relation


If you at some point wish to remove the nesting of objects, you can move the child object to another location so that it is no longer located directly below the parent object. However, the relation between these objects will remain. If you do not want this relation to persist, you need to delete it after you have removed the nesting.

If you create two objects separately in the model browser and then place one onto the other, a preferred relation between the nested objects is not created. Enterprise Studio interprets this action as a visual representation of your model and does not consider these two objects as nested.

Graphical nesting

Objects are graphically nested when their references have a parent-child relation in the view. This can be realized by drawing one object (child) within another object (parent) in the view. Creating an object within another object can be done by right-clicking the object and then selecting New > ObjectName in the object's context menu or by clicking the object, holding down the mouse button, and then selecting an object in the quick-create pop-up window.


Example of nested objects in a view


As can be seen in the above figure, graphical nesting works just like semantical nesting does; Enterprise Studio automatically creates a preferred relation between the nested objects, which is shown in the model browser. The relation can be made visible by using the Show relations function or by dragging the relation from the model browser onto the view.

If you draw two objects separately in the view and then place one within the other, a preferred relation between the nested objects is not created. Enterprise Studio interprets this action as a visual representation of your model and does not consider these two objects as nested.


This is where the consistency between semantical and graphical nesting ends. The difference with semantic nesting is the following: if you remove the nesting of graphically nested objects (related via the preferred relation) from a certain view, they will remain nested and related via the preferred relation in the model browser. The inverse is also true: if you remove the nesting semantically nested objects (related via the preferred relation) from the model browser, they will remain nested graphically on any view they were previously created. You should exercise caution when making changes to nested objects accordingly.

Nesting via a relation

Nesting via a relation is a byproduct of semantical and graphical nesting, as described above, but can also be realized by drawing a composition/aggregation relation between two separate objects.

If you draw two separate objects in a view and then create a composition/aggregation relation between them a nesting is created. The new relation is shown in the model browser, so the nesting is only reflected via this relation. In the view and in the model browser the objects are not shown nested.


Nesting via a relation for objects created in a view


If you create two objects separately in the model browser and then place one onto the other, the objects are not considered nested although they look hierarchically organized in the model browser. If you drag the parent object onto the view and then create a composition/aggregation relation between the parent and child object, a nesting is created. The nesting is reflected in the view and in the model browser.


Nesting via a relation for objects created in the model browser

ArchiMate® is a registered trademark of The Open Group.