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 intothe models.

In the ArchiMate specification (seehttps://pubs.opengroup.org/architecture/archimate3-doc/chap03.html#_Toc10045296) chapter 3.6 is written „The ArchiMate languageintentionally does not support a difference between types andinstances. “.

This design decisions brings ambiguityinto the meaning of the diagrams. For example, what is described inthe 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 bepossible to deduce, whether diagram is describing the types orinstances (because for example certain reflexive relationships, like„composition“, would not make sense for the instances), like:

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

Therefore indicate the usageof types or instances explicitly, using for example through ArchiMatespecializations (similar to UML sterotypes) and the naming convention similar to UML, either for the types:

or for the instances:

Although in ArchiMatespecification it is stated that „At theEnterprise Architecture abstraction level, it is more common to modeltypes and/or exemplars rather than instances.“, there arestill many cases where the model of the actual enterprisearchitecture consists of instances (like capability maps, processmaps, or application landscapes, which all represent certainenterprise portfolios), and therefore it makes sense to clearlyindicate on the diagrams, where are the types (for example whendescribing conceptual models or solution patterns) and where are theinstances, especially if both are mixed on the diagram.