What mechanisms are available in ArchiMate to represent grouping?
ArchiMate has a separate concept for grouping (actually it is a relation to represent grouping), as shown below. This grouping concept allows for the (visual) grouping of an arbitrary collection of objects.
- Figure 5 40: Grouping concept
This visual grouping does not have not enough semantic power, however, for many situations.
Thus, ArchiMate also supports various other mechanisms for semantic grouping. Almost all concepts can be hierarchically grouped using composition or aggregation relations. This technique allows the modeler to indicate that a process consists of sub processes for instance, or that an organization consists of departments. This mechanism is mostly used to group similar concepts
- Figure 5 41: Grouping elements of similar concepts
Using these relations, different types of concepts can be grouped together. An example is a business product that aggregates a contract and several business and application services.
Figure 5 42: Grouping elements of different concepts
ArchiMate also supports grouping arbitrary concepts using the association relation. An example is the modeling of ownership or responsibility, where a certain role is the owner or responsible entity for a number of applications, processes, and business functions. These concepts are connected using the association relation with that role (the relationship can be categorized as "ownership" in that case).
- Figure 5 43: Grouping using association relation
Using this mechanism, arbitrary groupings can be created and visualized.
In many cases also the term "domain" is used to denote grouping. Examples are the domain "Customer", "Life", etc. Often the domain can be modeled using a concept like business function, business role, or application function, where the other elements are grouped within that concept.
Not every grouping needs to be modeled explicitly. In many cases, a group is nothing more than a view from a certain perspective. For instance, an overview of all processes supported by applications owned by one specific role. This grouping can be determined by the relations from that role via the applications to the processes.
One of the possible extensions of the ArchiMate language is a generic grouping concept; extending the language with such a concept will of course solve the above problem.
Using supporting tools it is in a number of cases possible to extend the meta model of the tool with new concepts and relationships. In that case it is possible to add a new grouping concept, additional to the ArchiMate language. If the ArchiMate language is extended with a grouping concept, a conversion of the models is of course necessary.
Relationships with other good practices
This good practice is related to the good practice ‘domain’