If your model package has models of different metamodels, it is possible to add cross-model relations between elements in these models in order to link information from both models. You can add cross-model relations between objects, but between objects and diagrams or views, and between diagrams and/or views. A single element can have multiple cross-model relations. Cross-model relation can be added in models of all metamodels availabel 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.
In some situations the Cross-model relations 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 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
- 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.
- In the Add cross-model relation window, select the relation type you want to add and click OK.
- Select the element in another model (of another metamodel) where the relation must be linked to, and click OK.
The element now has the If the control is not shown immediately, refresh (F5) the diagram or view to make the control visible.control.
Clicking thecontrol 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.
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
Hiding the cross-model relation control in publications
To hide a cross-model control in HoriZZon or InSite Lite, you can make it invisible in Enterprise Studio. To do this, press Shift, and click the control in the object. The control will be hidden after a new publication. In Enterprise Studio, the control will stay available, but is only visible if you select the object. To make the control visible again, select the object, press Shift, and click the control.
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.