Creating an EA Reference Model
Customizing Reference Model Properties
Customizing Reference Model Element Properties
Editing RM Connector type properties
Stereotypes inheriting from other Element Types
Importing and exporting Reference Models
Advanced Multi-hop Relationship Matrix
What is a Derived Relationship?
In modelling languages such as Archimate, there is an idea of a ‘derived’ relationship.
This means that if element A is connected to element B, and B is connected to C, then under some circumstances, A has a ‘derived’ relationship to C. Even though, in the EA model, there is no single connector which links them. We call this an example of a ‘multi-hop’ connection: one hop from A to B, and another from B to C.
In the Archimate modelling language, where an Application Interface element is connected to an Application Service, and the Application Service to a Data Object, then it’s useful to say that there is a derived relationship direct from the Application Interface to the Data Object.
The same is true for Application Components, Application Functions and Data Objects.
Note that in the above diagram, the derived connections are shown as if they are EA connectors – they are not.
Using derived relationships makes diagrams much simpler, as they can miss-out whole sets of elements, and so make it easier to see what’s happening.
Showing Derived Relationships
You can create a Relationship Matrix which shows these multi-hop or derived relationships, but only where you are using a Reference Model to describe the allowed single-hop relationships.
Model Expert can then add together the single-hop relationships to create multi-hop ones. Note that in all these examples, there are just two ‘hops’, but more than 2 are also supported.
|1||In the example model, find the folder ‘Multi-hop relationships’.
This has some data, and a reference model, which is a sub-set of the Archimate Motivation meta-model.
|You can just run this report, by opening the ‘Constraints to Business Actors’ saved report in the Multi-hop relationships / Reports package.|
|2||A part of that Reference Model looks like this:
|3||We want to show a relationship matrix where we can see how Constraints relate to Business Actors, without needing to see all the ‘Principle’ elements.|
|4||Find the diagram ‘Data1’, which shows some Constraints, Principles and Business Actors.|
|5||From the EA main menu, choose Specialize / Model Expert / New relationship matrix|
|6||Choose the ‘Multi-hop connector’ page|
|7||Now choose the Reference Model to use, which has details of the single-hop relationships which have already been defined. Choose ‘Archimate Motivation’|
|8||In Source Packages, choose (+) to add the ‘Data1 package|
|9||Choose ConstraintÂ as the start of the relationships||The element type names you see in this come from the ‘user visible name’ field in the element type details. See Editing RM Element Attributes|
|10||You can how see the element types are related: expand ‘Principle’ to see what its connections are and choose ‘Business Actor’:
|11||Finally, choose ‘create’ to show the relationship matrix:
|12||Note that it’s not possible to create or delete multi-hop connections by clicking on the cells in the matrix. This is a synthetic view, and each derived connector is generated by following the defined path through the model, consisting of multiple elements and connectors. Only by adding/removing individual elements and connectors along that path can the multi-hop relationship matrix results be changed.|
Inheritance and Aggregation
If your models also contain inheritance and aggregation relationships between element types in your reference model, then the relationship matrix will process these as well, without you needing to add additional ‘hops’. That’s because the meaning of Inheritance and Aggregation are the same for all types of model.
So, in our Archimate Motivation Reference Model, the diagram shown above is a simplification. Showing all the possible relationships, the Refernce Model looks like this:
Each of the element types can inherit from, and/or be made up of, elements of the same type.
So we might have a model like this, where these types of relationship are also used:
The relationship matrix for this will navigate the inheritance and aggregation relationships, so a matrixÂ will look like:
Setting up an Enhanced EA Matrix Report