Blog

ArchiMate® metamodel - tips to understand it better - Part 1

ArchiMate metamodel – tips to understand it better – Part 1

If you already tried to use ArchiMate you have most probably already said to yourself – there is so many possible relationships and elements – how should we use them? Which relationships are allowed? How we should structure our models? Well – if you keep asking these questions – be informed that you are not alone. Those are some of the typical questions I’m getting whenever I’m delivering ArchiMate training. Today’s article is about metamodels – the visual instruction how to use ArchiMate.

What is metamodel and why it is so important?

So, let’s start with basics – what is metamodel? According to presentation [1], given by Gonzalo Génova, the Open Management Group defines metamodel as abstract syntax, that helps us interconnect models, that explains possible ways to do it. In ArchiMate we use metamodels to understand what elements we have, how they are connected to each other, what are the main patterns for designing the architecture and how we connect layers together.

Metamodels in ArchiMate – Top level language structure

In ArchiMate we have many metamodels. We have a top-level language structure metamodel (see below) which helps us understand language basics. This metamodel provides us with information on basic language structure. We could read out of it that every model consists of concept, while concept could be either an element or relationship (or relationship connector). In simple words: in order to create a model, you need some elements connected by relationships. Both elements and relationships could be split into categories.

Top level structure

Source: https://pubs.opengroup.org/architecture/archimate3-doc/chap03.html [2]

Metamodels in ArchiMate: Generic metamodel

The generic metamodel is considered the main one – it shows us how structure and behavior elements are connected and what are the basic rules. Generic metamodel is a base metamodel for other layers – rules applicable to it are cascaded down into all the layers: Strategy, Business, Appication, Technology, Physical and Implementation & Migration.

Generic Metamodel

Source: https://pubs.opengroup.org/architecture/archimate3-doc/chap04.html [3]

On that metamodel we could observe main relationships that are used between given elements – that means not all of them are shown. If you are interested in full matrix of relationships (which relationships are allowed between any pair of element) please refer to Relationship Tables [4]

In this article I’d like to share with you one tip on how to read the metamodel.

Three columns Metamodels are always structured the same, regardless of layers. We could divide the whole metamodel into three parts - three columns. Those are, starting from the left: Passive Structure Elements, Behaviors and Active Structure Elements. You could see them marked on technology layer metamodel below:

Technology Metamodel

Source: https://pubs.opengroup.org/architecture/archimate3-doc/chap10.html [5]

We have Artifact as the passive structure element, Technology Service, Process, Function, Interaction and Event as behaviors and multiple active structure elements such as Node and its specializations: System Software and Device

Tip: If you have hard time to remember all relationships you could use following rules: You always assign Active Structure Element capable of performing behavior to a Behavior: You need Behaviors to access passive structure objects:

Let’s consider following technology and application layer examples of those rules:

Tech Example

In this example we have basic database handling scenario. We could easily divide that into three columns:

  • On the right-hand side, we have three active structure elements: Database Management System System Software with its Code Interface that serves our CApp Application Component
  • In the middle we have Behaviors: Update Data application process that is responsible for changing the content of Customer Data, DBHandler responsible for changing the content of Customer Database and DBService which serves Update Data.
  • On the left-hand side we have Passive Structure Elements: Customer Data on application layer and it’s physical realization in form of Customer Database on Technology layer.

As you see, the Active Structure Elements are always assigned to Behaviors, and Behaviors are always accessing Passive Structure Elements.

Takeaways

To sum up, let’s look on main takeaways from this article:

  • Metamodels are a visual help to understand ArchiMate and to establish a reference to a modelling structure.
  • There are multiple metamodels in ArchiMate, including top-level language structure and generic metamodel.
  • Top-level language structure shows us how ArchiMate is designed, what is the model, concept and what kind of elements and relationships categories we have.
  • Generic metamodel tells us what the language structure is, what are the most common relationships between elements and gives us a hint on how to organize models.
  • We could divide our models into three columns: Active Structure Elements, Behaviors and Passive Structure Elements.
  • Active Structure Elements are assigned to Behaviors, while Behaviors accesses Passive Structure Objects.

Want to learn more? Check next part: “ArchiMate metamodel – tips to understand it better – Part 2” [6]

[1] http://www.ie.inf.uc3m.es/ggenova/Warsaw/Part3.pdf
[2] https://pubs.opengroup.org/architecture/archimate3-doc/chap03.html
[3] https://pubs.opengroup.org/architecture/archimate3-doc/chap04.html
[4] https://pubs.opengroup.org/architecture/archimate3-doc/apdxb.html
[5] https://pubs.opengroup.org/architecture/archimate3-doc/chap10.html
[6]  “ArchiMate metamodel – tips to understand it better – Part 2”


Piotr Szpilkowski - trainer at Architecture Center LtdAuthor: Piotr Szpilkowski - Change Leader / Agile Coach, Trainer at Architecture Center Ltd

https://www.linkedin.com/in/szpilkowski/

Quality-oriented leader equipped with both technical and soft skills. Eager to create teams, organize things and make them happen. Experienced in managing various IT projects scattered all around the world. ArchiMate and SAFe trainer.

Architecture Center

Architecture Center Ltd fournit des services de conseil et de formation dans les domaines suivants : l’architecture d’entreprise, la gestion des processus d’entreprise et l’intégration de systèmes informatiques.