Introduction
Objective
This standard is the specification of the ArchiMate Enterprise Architecture modeling language, a visual language with a set of default iconography for describing, analyzing, and communicating many concerns of Enterprise Architectures as they change over time. The standard provides a set of entities and relationships with their corresponding iconography for the representation of Architecture Descriptions. The ArchiMate ecosystem also supports an exchange format in XML which allows model and diagram exchange between tools [20].
Overview
An Enterprise Architecture is typically developed because key people have concerns that need to be addressed by the business and IT systems within an organization. Such people are commonly referred to as the “stakeholders” of the Enterprise Architecture. The role of the architect is to address these concerns by identifying and refining the motivation and strategy expressed by stakeholders, developing an architecture, and creating views of the architecture that show how it addresses and balances stakeholder concerns. Without an Enterprise Architecture, it is unlikely that all concerns and requirements are considered and addressed.
The ArchiMate Enterprise Architecture modeling language provides a uniform representation for diagrams that describe Enterprise Architectures. It includes concepts for specifying inter-related architectures, specific viewpoints for selected stakeholders, and language customization mechanisms. It offers an integrated architectural approach that describes and visualizes different architecture domains and their underlying relations and dependencies. Its language framework provides a structuring mechanism for architecture domains, layers, and aspects. It distinguishes between the model elements and their notation, to allow for varied, stakeholder-oriented depictions of architecture information. The language uses service-orientation to distinguish and relate the Business, Application, and Technology Layers of Enterprise Architectures, and uses realization relationships to relate concrete elements to more abstract elements across these layers.
Conformance
The ArchiMate language may be implemented in software used for Enterprise Architecture modeling. For the purposes of this standard, the conformance requirements for implementations of the language given in this section apply. A conforming implementation:
-
Shall support the language structure, generic metamodel, relationships, layers, cross-layer dependencies, and other elements as specified in Chapters Language Structure, Generic Metamodel, Relationships and Relationship Connectors, Motivation Elements, Strategy Layer, Business Layer, Application Layer, Technology Layer, Relationships Between Core Layers, and Implementation and Migration Layer.
-
Shall support the standard iconography as specified in Chapters Generic Metamodel, Relationships and Relationship Connectors, Motivation Elements, Strategy Layer, Business Layer, Application Layer, Technology Layer, Relationships Between Core Layers, and Implementation and Migration Layer, and summarized in Summary of Language Notation.
-
Shall support the viewpoint mechanism as specified in Stakeholders, Architecture Views, and Viewpoints.
-
Shall support the language customization mechanisms as specified in Language Customization Mechanisms in an implementation-defined manner.
-
Shall support the relationships between elements as specified in Relationships (Normative).
-
May support the example viewpoints described in Example Viewpoints and Chapters Language Structure, Generic Metamodel, Relationships and Relationship Connectors, Motivation Elements, Strategy Layer, Business Layer, Application Layer, Technology Layer, Relationships Between Core Layers, and Implementation and Migration Layer.
Readers are advised to check The Open Group website for additional conformance and certification requirements referencing this standard.
Terminology
For the purposes of this standard, the following terminology definitions apply:
Can |
Describes a possible feature or behavior available to the user. |
Deprecated |
Items identified as deprecated may be removed in the next version of this standard. |
Implementation-defined |
Describes a value or behavior that is not defined by this standard but is selected by an implementor of a software tool. The value or behavior may vary among implementations that conform to this standard. A user should not rely on the existence of the value or behavior. The implementor shall document such a value or behavior so that it can be used correctly by a user. |
May |
Describes a feature or behavior that is optional. To avoid ambiguity, the opposite of “may” is expressed as “need not”, instead of “may not”. |
Obsolescent |
Certain features are obsolescent, which means that they may be considered for withdrawal in future versions of this standard. They are retained because of their widespread use, but their use is discouraged. |
Shall |
Describes a feature or behavior that is a requirement. To avoid ambiguity, do not use “must” as an alternative to “shall”. |
Shall not |
Describes a feature or behavior that is an absolute prohibition. |
Should |
Describes a feature or behavior that is recommended but not required. |
Will |
Same meaning as “shall”; “shall” is the preferred term. |