If your model package has multiple models of different metamodels, you can connect elements of different metamodels by adding cross-model relations. But cross-model relations can also be used between elements within the same metamodel. Cross-model relations can be added between objects, but also between objects and diagrams or views, and between diagrams and/or views. A single element can have multiple cross-model relations. Cross-model relations can be added in models of all metamodels available in Enterprise Studio.

With adding cross-model relations actual physical relation objects are created. Different types of cross-model relations are available to indicate the nature of the relation between the elements, like an association, refinement or variant. Cross-model relations differ from references that can be added between elements. With references there is no physical relation created.

When adding a cross-model relation, a  control will be added to both connected elements, like when connecting two objects. The control enables you to quickly navigate to the linked element by clicking the control.


Data objects in an ArchiMate® view are also defined as entities in an ER model, containing attributes. To relate these objects and entities, cross-model relations can be added between them.

In some situations the  control will not be added, for example when a cross-model relation is created from an open diagram or view, but the physical relation is always created. All created cross-model relations can be found in the model browser, in the Cross-model relations folder of the model package. When expanding a cross-model relation in the model browser, links to both its end points (connected elements) are shown. If you click a link, the respective element is highlighted in the model browser, and the diagram or view where the object is used is opened highlighting the object (if applicable). The latter will not happen if an object is not used in any diagram or view.

When creating a cross-model relation to a single object that is present in multiple views, clicking the link or cross-model relation control will open any of the views the linked object is in. It is not possible to set which view containing the object must be opened. The relationship is between the factual objects, there is no graphical context (view) available.

Cross-model relations folder

To be able to create cross-model relations in a project you need to have edit rights on model package level in this project. Cross-model relations are registered on the highest level in a model package, therefore edit rights on the highest level are required.

On this page:

Adding a cross-model relation

  1. In the model browser or in the diagram or view, right-click the element (or diagram or view itself) you want to add a cross-model relation to, and click Add Cross-model Relation.

  2. In the Add cross-model relation window, select the relation type you want to add and click OK.

  3. Select the element in another model (of another metamodel) where the relation must be linked to, and click OK.

The element now has the  control. If the control is not shown immediately, refresh (F5) the diagram or view to make the control visible.

Clicking the  control on an element with a cross-model relation will navigate you to the other connected element. If an element has more than one cross-model relation, clicking the control will show a menu containing the defined relations. Click one of them to open the connected element.

If adding a cross-model relation is the only change you made in the respective diagram or view, then also make a visible change in that diagram or view before you commit your changes, like moving an object. Adding a cross-model relation is an invisible change and committed invisible changes will not be shown in Horizzon (This is a known issue.)

If you have already committed the invisible cross-model relation change, make a visible change to the diagram or view in which you added the cross-model relation and commit the changes. The cross-model relation will now be visible on the element in Horizzon.

Adding cross-model relations using the Cross-model Relations reference table

Another possibility to add cross-model relations is via the Cross-model Relations reference table. In this table you can also view and edit all existing cross-model relations. For more information, please refer to The Cross-model Relations cross-reference table.

Setting a preferred cross-model relation

In case you have added multiple cross-model relations to an element, you can set a preferred relation for properly navigating the cross-model relation in Horizzon. Only one cross-model relation can be shown in Horizzon. If you do not set a preferred relation, clicking the cross-model relation control in Horizzon will randomly navigate you to one of the linked elements of the defined cross-model relations.

  • Click the  control on the element, and then set a checkmark next to the relation that must be the preferred relation.

Hiding the cross-model relation control

To hide a cross-model control, you can make it invisible in Enterprise Studio. To do this, press Shift, and click the control in the object. The control will be completely hidden in Horizzon or InSite Lite. In Enterprise Studio, the control is hidden but will stay available. It becomes visible if you select the object.

To make the control visible again, select the object, press Shift, and click the control:

The InSite Lite reporting function is deprecated and no longer supported. Please use Horizzon for reporting your models.


Note that if one of the models uses specific profiles created by your organization, these profiles need to be available within Enterprise Studio. If you want this information to be copied into the other model, you need corresponding profiles for this other model as well and they need to be consistent. Preferably, consult the application manager.

ArchiMate is a registered trademark of The Open Group.