Derived Relationships

Background

There are two main types of relationship in the ArchiMate language, structural and dynamic. The structural relationships are as follows:

Association Association models a relationship between objects that is not covered by another, more specific relationship.
Access The access relationship models the access of behavioural concepts to business or data objects.
Used By The used by relationship models the use of services by processes, functions, or interactions and the access to interfaces by roles, components, or collaborations.
Realisation The realisation relationship links a logical entity with a more concrete entity that realizes it.
Assignment The assignment relationship links units of behaviour with active elements (e.g., roles, components) that perform them, or roles with actors that fulfil them.
Aggregation The aggregation relationship indicates that an object groups a number of other objects.
Composition The composition relationship indicates that an object consists of a number of other objects.

These structural relationships form an important category of relationships to describe coherence. They are listed here in ascending order by "strength": "Association" is the weakest structural relationship and "Composition" is the strongest. Part of the language definition is an abstraction rule that states that two relationships that join at an intermediate element can be combined and replaced by the weaker of the two.

 

In Practice

With this rule, it is possible to determine the indirect, or "derived" relationships that exist between model elements without a direct relationship, which may be useful for, among other things, impact analysis. An example is shown below. Assume that we would like to know what the impact on the Client is if the CRM system fails. In this case, an indirect "used by" relationship (the thick arrow on the left) can be derived from this system to the Claim Registration Service (from the chain assignment -> used by -> realization -> used by -> realisation). No indirect (structural) relationship is drawn between the CRM system and the Claims Payment Service.


Example of a Derived Relationship

 

Highlighting Structural Relationship Chains

If structural relationships exist in the ArchiMate model these chains of relationships can be highlighted in red in the selected View. This option is available from the "Derived Relations -> Show Structural Chains" menu item from the main "View" menu or by right-clicking in a View. This option is a toggle and can be turned on and off for each separate View. If no structural chains of relationships exist in the model or if no structural connections have been added to the View then nothing is highlighted in red.

Note - the structural chains are calculated from the relationships in the model. Thus, it is possible that the relationships that are actually shown in a View are a sub-set of those in the model.

 

Adding a Derived Relationship

To add a derived relationship to two elements in a View select the "Derived Relations -> Create Derived Relation..." menu item from the main "View" menu or by right-clicking in a View. The "Create Derived Relation" option is available when two and only two elements are selected in a View that have such a structural chain present in the model.

The presence of such a chain is not dependent on what relationships (connections) are showing in that View, but on what actually exists in the underlying model (as seen in the Model Tree).

It is possible that there exists more than one path (structural relationship chain) from the source element to the target element. This is shown in the ensuing dialog window.

To add a derived relationship, follow these steps:
  1. Select two, and only two elements in a View. (Ctrl / Command click to select the two elements.)
  2. Select the "Derived Relations -> Create Derived Relation..." menu item from the main "View" menu or by right-clicking in a View.
  3. If a derived relationship can be created a dialog window appears. It is possible that there exists more than one path (structural relationship chain) from the source element to the target element (or in reverse, from the target element to the source element):



  4. Choose the required relationship and click "OK".

If this is the first time a derived relationship has been created for that model then a new folder is created in the Model Tree, labelled "Derived Relations". The newly created derived relationship is placed in that folder as are any new ones henceforth. If you wish to delete this folder you can do so.

If a structural relationship already exists directly between element1 and element2 no further derived relationship is allowed.

If there are too many possible paths to calculate between element1 and element2 then a warning message is displayed and the calculation is aborted.