ArchiMate® 3.1 Specification
Copyright © 2012-2019 The Open Group

4                      Generic Metamodel

4.1                 Behavior and Structure Elements

The main hierarchy of behavior and structure elements of the ArchiMate language is presented in the metamodel fragment of Figure 4. It defines these elements in a generic, layer-independent way. Note that most of these elements (the white boxes) are abstract metamodel elements; i.e., these are not instantiated in models but only serve to structure the metamodel. The notation presented in this chapter is therefore the generic way in which the specializations of these elements (i.e., the elements of the different architecture layers) are depicted.

Figure 4: Hierarchy of Behavior and Structure Elements

This generic metamodel fragment consists of two main types of elements: structure (“nouns”) and behavior elements (“verbs”).

Structure elements can be subdivided into active structure elements and passive structure elements. Active structure elements can be further subdivided into external active structure elements (also called interfaces) and internal active structure elements.

Behavior elements can be subdivided into internal behavior elements, external behavior elements (also called services), and events.

These three aspects – active structure, behavior, and passive structure – have been inspired by natural language, where a sentence has a subject (active structure), a verb (behavior), and an object (passive structure).

Figure 5 specifies the main relationships between the behavior and structure elements defined above. For an explanation of the different types of relationships see Chapter 5. In this and other metamodel figures, the label of a relationship signifies the role of the source element in the relationship; e.g., a service serves an internal behavior element.

figure05_behavior_structure_metamodel

Figure 5: Behavior and Structure Elements Metamodel

Note:      This figure does not show all permitted relationships; every element in the language can have composition, aggregation, and specialization relationships to elements of the same type. Furthermore, there are indirect relationships that can be derived, as explained in Section 5.7. The full specification of permitted relationships can be found in Appendix B.

Note:      This figure is to be read as a generic template for the layers of the ArchiMate core (see Section 3.4), but is not applied directly. Each layer defines its own specialized version of this.

4.1.1              Active Structure Elements

Active structure elements are the subjects that can perform behavior. These can be subdivided into internal active structure elements; i.e., the business actors, application components, nodes, etc., that realize this behavior, and external active structure elements; i.e., the interfaces that expose this behavior to the environment. An interface provides an external view on the service provider and hides its internal structure.

An internal active structure element represents an entity that is capable of performing behavior.

Active structure elements are denoted using boxes with square corners and an icon in the upper-right corner, or by the icon on its own.

Figure 6: Generic Internal Active Structure Element Notation

An external active structure element, called an interface, represents a point of access where one or more services are provided to the environment.

Figure 7: Generic External Active Structure Elements (Interface) Notation

4.1.2              Behavior Elements

Behavior elements represent the dynamic aspects of the enterprise. Similar to active structure elements, behavior elements can be subdivided into internal behavior elements and external behavior elements; i.e., the services that are exposed to the environment.

An internal behavior element represents a unit of activity that can be performed by one or more active structure elements.

Behavior elements are denoted in the standard iconography using boxes with round corners and an icon in the upper-right corner, or by the icon on its own.

Figure 8: Generic Internal Behavior Element Notation

An external behavior element, called a service, represents an explicitly defined exposed behavior.

Figure 9: Generic External Behavior Element (Service) Notation

Thus, a service is the externally visible behavior of the providing system, from the perspective of systems that use that service; the environment consists of everything outside this providing system. The value offered to the user of the service provides the motivation for the existence of the service. For the users, only this exposed behavior and value, together with non-functional aspects such as the quality of service, costs, etc., are relevant. These can be specified in a contract or Service-Level Agreement (SLA). Services are accessible through interfaces.

In addition to this, a third type of behavior element is defined to denote an event that can occur; for example, to signal a state change.

An event represents a state change.

An event may have a time attribute that indicates the moment or moments at which the event happens. For example, this can be used to model time schedules.

Figure 10: Generic Event Notation

4.1.3              Passive Structure Elements

Passive structure elements can be accessed by behavior elements.

A passive structure element represents an element on which behavior is performed.

A passive structure element is a structural element that cannot perform behavior. Active structure elements can perform behavior on passive structure elements. Passive structure elements are often information or data objects, but they can also represent physical objects.

Figure 11: Generic Passive Structure Element Notation

4.2                 Specializations of Structure and Behavior Elements

The specializations of core elements are summarized in Figure 12. Within each layer, it is permitted to use composition and aggregation relationships between processes, functions, and interactions; e.g., a process can be composed of other processes, functions, and/or interactions.

Figure 12: Specializations of Core Elements

For individual internal behavior elements, a distinction is made between processes and functions.

A process represents a sequence of behaviors that achieves a specific result.

Figure 13: Generic Process Notation

A function represents a collection of behavior based on specific criteria, such as required resources, competencies, or location.

Figure 14: Generic Function Notation

The collective nature of a behavior can be made either implicit (several active structure elements assigned to the same internal behavior via an and junction) or explicit through the use of a collective internal behavior (interaction) that is performed by (a collaboration of) multiple active structure elements.

A collaboration represents an aggregate of two or more internal active structure elements, working together to perform some collective behavior.

Figure 15: Generic Collaboration Notation

This collective internal behavior can be modeled as an interaction.

An interaction represents a unit of collective behavior that must be performed by two or more internal active structure elements, either assigned directly or aggregated in a collaboration.

Figure 16: Generic Interaction Notation

4.3                 Summary of Structure and Behavior Elements

Table 1 gives an overview of the core elements, their definitions, and their default graphical notation. But note that most of these elements are abstract; they are not used in models but only their descendants in the different layers of the ArchiMate language.

Table 1: Core Elements

Element

Specializations

Definition

Notation

Active Structure

Internal active structure element

Represents an entity that is capable of performing behavior.

 

Collaboration

Represents an aggregate of two or more internal active structure elements, working together to perform some collective behavior.

Interface (external active structure element)

Represents a point of access where one or more services are exposed to the environment.

Behavior

Internal behavior element

Represents a unit of activity that can be performed by one or more active structure elements.

 

Process

Represents a sequence of behaviors that achieves a specific result.

 

Function

Represents a collection of behavior based on specific criteria, such as required resources, competencies, or location.

 

Interaction

Represents a unit of collective behavior that must be performed by two or more internal active structure elements, either assigned directly or aggregated in a collaboration.

Service (external behavior element)

Represents an explicitly defined exposed behavior.

Event

Represents a state change.

Passive Structure

Passive structure element

Represents an element on which behavior is performed.

4.4                 Motivation Elements

The core elements of the ArchiMate language focus on describing the architecture of systems that support the enterprise. They do not cover the elements which, in different ways, drive the design and operation of the enterprise. These motivation aspects correspond to the “Why” column of the Zachman framework [5].

Several motivation elements are included in the language: stakeholder, value, meaning, driver, assessment, goal, outcome, principle, and requirement, which in turn has constraint as a subtype. In this section, the generic motivation element is introduced. The more specific motivation elements are described in Chapter 6.

The motivation elements address the way the Enterprise Architecture is aligned to its context, as described by these intentions.

A motivation element represents the context of or reason behind the architecture of an enterprise.

generic_motivation_element (00000002)

Figure 17: Generic Motivation Element Notation

Motivation elements are usually denoted using boxes with diagonal corners.

Table 2: Motivation Element

Element

Definition

Notation

Motivation element

Represents the context of or reason behind the architecture of an enterprise.

generic_motivation_element (00000002)

4.5                 Composite Elements

Composite elements consist of other concepts, possibly from multiple aspects or layers of the language. Grouping and location are generic composite elements (see Figure 18). Composite elements can themselves aggregate or compose other composite elements.

Figure 18: Composite Elements

4.5.1              Grouping

The grouping element aggregates or composes concepts that belong together based on some common characteristic.

The grouping element is used to aggregate or compose an arbitrary group of concepts, which can be elements and/or relationships of the same or of different types. An aggregation or composition relationship is used to link the grouping element to the grouped concepts. Grouping elements can also have other relationships to and from them, as shown in Appendix B.

Figure 19: Grouping Notation

Concepts may be aggregated by multiple (overlapping) groups.

One useful way of employing grouping is for modeling Architecture and Solution Building Blocks (ABBs and SBBs), as described in the TOGAF framework [4].

Another useful application of grouping is for modeling domains. For example, the TOGAF framework [4] Glossary of Supplementary Definition defines Information Domain as: “grouping of information (or data entities) by a set of criteria such as security classification, ownership, location, etc. In the context of security, Information Domains are defined as a set of users, their information objects, and a security policy”.

Note:      The use of grouping is not to be confused with creating views on the architecture (Section 14.3). Although like a view it comprises concepts that belong together for some reason, it does not provide a separate visualization of these concepts. Moreover, groupings are used within architecture views to provide additional structure to an architecture model and its visualization.

Example

In Example 1, the “Grouping” element is used to aggregate a conglomerate of two processes and an object that together realize a service (both with nesting and explicitly drawn aggregation relationships).

Example 1: Grouping

Note:      Grouping does not work with derivation of relationships (Section 5.7). However, its semantics do imply that a relationship from or to a group should be interpreted as a collective relationship with the group’s contents. In the example, the implied meaning is that the contents of the group together, or parts thereof, realize the service. However, this is not always easily expressed in simple derivable relationships.

4.5.2              Location

A location represents a conceptual or physical place or position where concepts are located (e.g., structure elements) or performed (e.g., behavior elements).

The location element is used to model the places where (active and passive) structure elements such as business actors, application components, and devices are located. This is modeled by means of an aggregation relationship from a location to structure element. A location can also aggregate a behavior element, to indicate where the behavior is performed. This element corresponds to the “Where” column of the Zachman framework [5].

         

Figure 20: Location Notation

 



return to top of page

Downloads

Downloads of the ArchiMate documentation are available under license from the Download link within the ArchiMate information web site. The license is free to any organization wishing to use ArchiMate documentation entirely for internal purposes. A book is also available from The Open Group Library as document C197.


Copyright © 2012-2019 The Open Group, All Rights Reserved
ArchiMate is a registered trademark of The Open Group.