Random Thoughts‎ > ‎

Using ArchiMate for modeling ...

posted Nov 9, 2020, 10:08 AM by Alar Raabe

Recently I stumbled upon a strange „feature“ of ArchiMate language that brings some ambiguity into the models.

In the ArchiMate specification (see https://pubs.opengroup.org/architecture/archimate3-doc/chap03.html#_Toc10045296 ) chapter 3.6 is written „The ArchiMate language intentionally does not support a difference between types and instances. “.

This design decisions brings ambiguity into the meaning of the diagrams. For example, what is described in the following diagram:

Does this mean that:

  • „There exist a set of data objects of type A, each consisting of 'one-or-more' data objects of type B, and 'one-or-more' data objects of type C“, or

  • „There exists a data object A, which consists of data object B and data object C“, or even some mix like

  • „There exists a data object A, which consists of 'one-or-more' data objects of type B, and a data object C“?

There are situations, where it would be possible to deduce, whether diagram is describing the types or instances (because for example certain reflexive relationships, like „composition“, would not make sense for the instances), like:

But in some cases it would be impossible to know without some indication of what kinds of elements are in the model or on the diagram, like:

Therefore indicate the usage of types or instances explicitly, using for example through ArchiMate specializations (similar to UML sterotypes) and the naming convention similar to UML, either for the types:

or for the instances:

Although in ArchiMate specification it is stated that „At the Enterprise Architecture abstraction level, it is more common to model types and/or exemplars rather than instances.“, there are still many cases where the model of the actual enterprise architecture consists of instances (like capability maps, process maps, or application landscapes, which all represent certain enterprise portfolios), and therefore it makes sense to clearly indicate on the diagrams, where are the types (for example when describing conceptual models or solution patterns) and where are the instances, especially if both are mixed on the diagram.