Thursday, 03 August 2023 08:13

Derived relationships and nesting in ArchiMate applied with Helpers in Sparx Enterprise Architect

Written by
Rate this item
(1 Vote)

Resume

ArchiMate is a powerful enterprise modelling language for the architect's expressiveness. As a result, ArchiMate is sometimes experienced as complex. However, there are a number of parts in the metamodel that can simplify the views.

In this white paper, we discuss two forms of simplification, namely nesting of elements to simplify the visual representation. In addition, working with derived relationships to reduce the complexity in a diagram.

Both forms of simplification are supported in Sparx Enterprise Architect. However, with two extra routines in the IDEA Addon, the modeller is automatically supported in implementing changes in the model and validating whether these transformations comply with the rules in the ArchiMate metamodel

Introduction

ArchiMate is a powerful language with several dozen concepts, elements and relations. This gives the architect expressiveness to express an architectural elaboration. For architects among themselves, ArchiMate is important as a language with a rich vocabulary. However, this also has a number of drawbacks. The main disadvantages are that the language is experienced as difficult for a number of stakeholders.

Fortunately, a number of concepts have been added in ArchiMate that allow for a simplification of the language with a relatively small limitation in expressiveness. Two of these simplifications are nesting elements to simplify that way. The other set-up is to work with derivative relations. However, both simplifications are included in the meta model and are structured in the language.

In this white paper we discuss these two simplifications with a number of helpers in the IDEA addon for Sparx Enterprise Architect. In these helpers, the simplifications based on the meta model are automatically supported. A nice dimension is that this also offers possibilities to validate the model in accordance with the rules that apply to these simplifications.

The helpers are within the IDEA addon under the ArchimAid functionality. In this article we will discuss this functionality. The addon is available as open source and can be downloaded from https://data-docent.nl/IDEANL.aspx#gsc.tab=0. In addition, a web video has been created to demonstrate the functionality of ArchimAid.

Nested elements

 

Archimate perspective

In ArchiMate, a large number of elements can be related to each other. In that case, a diagram will soon be regarded as quite full and well-organized for the reader. Consider, for example, hierarchical structures such as representing the organizational structure or the classification of information objects divided into domains. Below is an example of a diagram that shows a simple hierarchy.

This diagram can be greatly simplified by using nesting. Nesting places the child elements within the parent element. In the example, therefore, a nesting is created twice. See below

 

This makes the classification easier to interpret, even for stakeholders without in-depth ArchiMate knowledge.

The metamodel does, however, impose some restrictions on this method. Nesting is mainly used for structural relationships and for specializations. In addition, it is desirable to include in your own modelling convention that only the same relationship is used in a nested elaboration. So no combination of, for example, composition and aggregation or specialization in one diagram, then it is no longer possible to deduce which relations have been used.

Sparx Enterprise Architect implementation

In Sparx Enterprise architect the design of nesting is adequately implemented. If you connect two elements and then place one inside the other, the connector will be made invisible as expected, provided you choose the relationship types defined in ArchiMate that allow nesting.

The bottleneck in this, however, is that if you do not create a connector between two elements in advance and apply nesting, there will be no notification that a connector based on ArchiMate is relevant. In one diagram it goes well, but in the repository and in other diagrams it is not clear that there should be a relationship. The ArchimAid is helpful here.

 

 Derived helper

 

ArchimAid Helper

The ArchimAid helper is a screen in the IDEA addon that supports the ArchiMate modeller. This way you can easily search for ArchiMate stereotypes, layers and aspects. However, the Embed tab provides an overview of the connectors that are there, including the stereotypes, or not.

 

You can then use the Create Embedded button to create the connectors based on the selected stereotype to create the connectors. See also the web video that shows how create embedded works.

Derived relationships

Archimate perspective

Do you work part of an the enterprise in ArchiMate in detail, you see that a model emerges that has many elements and relationships. This provides a level of detail that is most expressive for the community of architects. However, these detailed elaborations are too complex for other stakeholders. Compare it with the construction world where the specifications are relevant for this target group. However, the future residents can suffice with an artist's impression of the house to be built.

Within ArchiMate it is possible to simplify the model by using derived relations. In the image below you can see an example of this. Instead of a diagram consisting of several elements and relationships, a new relationship is established between two elements. The other elements can then be removed.

This diagram shows the simplification by establishing a derivative relationship between two elements. The elements that can be removed as a result are colored grey. If desired, you could remove a few more elements if this simplifies the model.

Sparx Enterprise Architect implementation

Sparx Enterprise Architect offers you the freedom to establish relationships based on the meta model. This also supports the addition of derived relationships. However, this is an activity that must be performed manually by the modeler.

An additional challenge is that the modeller must be aware that adding a derivative relationship to one diagram can also have an effect on other diagrams on which the elements both occur.

ArchimAid Helper

The ArchimAid functionality does support the modeller automatically in determining derived relationships. You can see an example of this on the screen. You choose a start and end entity and determine based on the ArchiMate metamodel rules which relationship arises as a derived relationship. This can be done via multiple paths through the model. You will see it in the diagram.

Derived helper

Then, in the list of possible simplifications, you can choose the paths you want to replace with the simplified relation. The other relationships are then made invisible in the chart, not from other charts. See the web video with an interactive example.

More information

For more information about the  IDEA ArchimAid screens please visit the following online content:

Read 899 times Last modified on Sunday, 27 August 2023 23:44
Bert Dingemans

I am an independent (data) architect and EA consultant working often with enterprise architect mostly for UML class diagrams and ArchiMate 2.0. I am using enterprise architect for  generating documentation, XSD files and modelling enterprise architectures with ArchiMate 2.0. I have developed an Open Source Web Publication Platform for EA.  I also participate in Eaxpertise.nl. You can reach me at [email protected]

eaxpertise.nl

1 comment

  • Comment Link DT_Sam Thursday, 25 April 2024 09:58 posted by DT_Sam

    Bert, this is really exciting stuff! Anything that streamlines the process of identifying and applying derived relationships is an absolute winner in my book.

Login to post comments