ArchiMate® 3.0 Specification
Copyright © 2012-2016 The Open Group

15                     Language Customization Mechanisms

Every specific purpose and usage of an architecture modeling language brings about its own specific demands on the language. Yet, it should be possible to use a language for only a limited, though non-specific, modeling purpose. Therefore, the ArchiMate language, specified in the ArchiMate metamodel and described in Chapter 4 to Chapter 10, contains only the basic elements and relationships that serve general Enterprise Architecture modeling purposes. However, the language should also be able to facilitate, through customization[3] mechanisms, specialized, or domain-specific purposes, such as:

          Support for specific types of model analysis

          Support the communication of architectures

          Capture the specifics of a certain application domain (e.g., the financial sector)

The argument behind this statement is to provide a means to allow customization of the language that is tailored towards such specific domains or applications, without burdening the language with a lot of additional concepts and notations which most people would barely use. The remainder of this chapter is devoted to the customization mechanisms that are part of the ArchiMate language, and to a series of illustrative examples of such customizations.

15.1                Adding Attributes to ArchiMate Elements and Relationships

As stated earlier in this standard, the ArchiMate language contains only the elements and relationships that are necessary for general architecture modeling. However, users might want to be able to, for example, perform model-based performance or cost calculations, or to attach supplementary information (textual, numerical, etc.) to the model elements and relationships. A simple way to enrich ArchiMate elements and relationships in a generic way is to add supplementary information by means of a “profiling” specialization mechanism (see also [9]).

A profile is a data structure which can be defined separately from the ArchiMate language, but can be dynamically coupled with elements or relationships; i.e., the user of the language is free to decide whether and when the assignment of a profile to a model element is necessary. Profiles are specified as sets of typed attributes. Each of these attributes may have a default value that can be changed by the user.

Two types of profiles can be distinguished:

          Pre-defined profiles: These are profiles that have a predefined attribute structure and can be implemented beforehand in any tool supporting the ArchiMate language. Examples of such profiles are sets of attributes for ArchiMate elements and relationships that have to be specified in order to execute common types of analysis.

          User-defined profiles: Through a profile definition language, the user is able to define new profiles, thus extending the definition of ArchiMate elements or relationships with supplementary attribute sets.

Example

Table 11 below shows possible profiles with input attributes needed for certain types of cost and performance analysis of architecture models [13]. Each “serving” relationship may have a weight (indicating the average number of uses); each (business, application, or technology) “service” may have fixed and variable costs and an (average) service time; and each structure element (e.g., business role, business actor, application component, device) may have fixed and variable costs and a capacity.

Table 11: Profile Example

“Serving” Profile

“Service” Profile

“Structure Element” Profile

Attribute

Type

Attribute

Type

Attribute

Type

Weight

Real

Fixed cost

Currency

Fixed cost

Currency

 

 

Variable cost

Currency

Variable cost

Currency

 

 

Service time

Time

Capacity

Integer

15.2                Specialization of Elements and Relationships

Specialization is a simple and powerful way to define new elements or relationships based on the existing ones. Specialized elements inherit the properties of their generalized elements (including the relationships that are allowed for the element), but some of the relationships that apply to the specialized element need not be allowed for the generalized element. Also, new graphical notation could be introduced for a specialized concept, but preferably with a resemblance to the notation of the generalized concept; e.g., by adding an icon or other graphical marker, or changing the existing icon. A specialized element or relationship strongly resembles a stereotype as it is used in UML. The stereotype notation with angled brackets may also be used to denote a specialized concept. Finally, for a specialized concept, certain attributes may be predefined, as described in the previous section.

Specialization of relationships is also allowed. Similar to specialization of elements, a specialized relationship inherits all properties of its “parent” relationship, with possible additional restrictions. For example, two specializations of the assignment relationship may be used to model responsibility versus accountability. Another example is a specialization of the flow relationship to model material flow in a supply chain.

Specialization of elements and relationships provides extra flexibility, as it allows organizations or individual users to customize the language to their own preferences and needs, while the underlying precise definition of the concepts is preserved. This also implies that analysis and visualization techniques developed for the ArchiMate language still apply when the specialized elements or relationships are used.

Specialization of concepts is done by using the profile mechanism described in Section 15.1. The name of the profile is the name of the specialization, and it may have other attributes if relevant to the specialization. The specialized concept is modeled by assigning such a profile to the generalized concept.

The profile may also define a specific notation to denote the specialization. The default is the guillemet notation of UML for stereotypes (“«specialization name»”). Other options include specific icons, colors, fonts, or symbols. Note that multiple specialization profiles may be assigned to the same generalized concept; in the default notation, these are shown as a comma-separated list (“«specialization 1, specialization 2»”).

15.2.1            Examples of Specializations of Business Layer Elements (Informative)

The table below shows examples of specializations of Business Layer concepts.

Parent Concept

Specialized Concept

Description

Business Actor

Individual

A natural person capable of performing behavior in the context of an enterprise.

Organizational Unit

Any named subdivision of an organization (e.g., a department).

Organization

An entity such as an institution, corporation, or association that has a collective goal and is linked to an external environment.

Threat Agent

Anything (e.g., an object, substance, individual, or group) that is capable of acting against an asset in a manner that can result in harm. This can be intentional; i.e., an attacker, but also unintentional; e.g., a well-intentioned, but inept, computer operator who trashes a daily batch job by typing the wrong command.

Business Service

Business Decision

A conclusion that a business arrives at through business logic and which the business is interested in managing.

Business Collaboration

Social Network

A social structure made up of social actors (individuals or organizations) and the connections between these actors.

Business Process

Business Activity

Atomic internal behavior element (at the considered abstraction level) that will not be decomposed any further.

Business Event

Threat Event
(Risk & Security Overlay)

Event with the potential to adversely impact an asset. An attack is a specific type of threat event that is the result of an intentional malicious activity of an attacker, which is a specific type of threat agent.

Loss Event
(Risk & Security Overlay)

Any circumstance that causes a loss or damage to an asset.

15.2.2            Examples of Specializations of Application Layer Elements (Informative)

The table below shows examples of specializations of Application Layer elements.

Parent Concept

Specialized Concept

Description

Application Component

Logical Application Component

An encapsulation of application functionality that is independent of a particular implementation.

Physical Application Component

An application, application module, application service, or other deployable component of functionality.

Application Interface

Application-to-Application Interface

Interface that is used to communicate between application components.

Graphical User Interface

On-screen interface (GUI) with which a human user can interact with an application component.

15.2.3            Examples of Specializations of Technology Layer Elements (Informative)

The table below shows examples of specializations of Technology Layer elements.

Parent Concept

Specialized Concept

Description

Node

Logical Technology Component

An encapsulation of technology infrastructure that is independent of a particular product. A class of technology product.

Physical Technology Component

A specific technology infrastructure product or technology infrastructure product instance.

Device

Mobile Device

A portable device such as a smartphone or tablet.

Embedded Device

A computing device that is part of a piece of equipment.

Network

WiFi Network

Wireless Local Area Network (WLAN).

Wide Area Network

Long-range data communication network.

Technology Service

Processing Service

Service used for processing data by a node.

Storage Service

Service used for storing data on a node, typically offered by a database or file system.

Communication Service

Service used for transporting information (e.g., voice, data) between nodes.

15.2.4            Examples of Specializations of Physical Elements (Informative)

The table below shows examples of specializations of physical elements.

Parent Concept

Specialized Concept

Description

Equipment

Vehicle

A movable piece of equipment used for transportation purposes.

Train

A vehicle intended for use on a rail network.

Facility

Factory

A large-scale physical resource used for receipt, temporary storage, and redistribution of goods.

Material

Ore

Rock containing minerals, raw material in mining, and related industries.

Building Material

Material used in building and construction such as concrete, bricks and mortar, beams and girders, etc.

Fuel

Material used as an energy source in, for example, production or transportation.

Distribution Network

Rail Network

Network for rail transport, on which trains are used.

Energy Grid

Network for distribution of energy, such as an electrical power grid or a gas distribution network.

15.2.5            Examples of Specializations of Motivation Elements (Informative)

The table below shows examples of specializations of motivation elements.

Parent Concept

Specialized Concept

Description

Driver

Metric

The extent, quantity, amount, or degree of something, as determined by measurement or calculation.

Assessment

Vulnerability
(Risk & Security Overlay)

The probability that an asset will be unable to resist the actions of a threat agent.

Risk
(Risk & Security Overlay)

The probable frequency and probable magnitude of future loss.

Goal

Business Objective

A time-bound milestone for an organization used to demonstrate progress towards a goal.

Control Objective
(Risk & Security Overlay)

Aim or purpose of specified control measures which address the risks that these control measures are intended to mitigate.

Principle

Business Policy

A directive that is not directly enforceable, whose purpose is to govern or guide the enterprise.

Requirement

Control Measure
(Risk & Security Overlay)

An action, device, procedure, or technique that reduces a threat, a vulnerability, or an attack by eliminating or preventing it, by minimizing the harm it can cause, or by discovering and reporting it so that corrective action can be taken.

Business Rule

An enforceable directive intended to govern, guide, or influence business behavior.

The model below illustrates the use of specializations of Business Layer and Motivation elements to model the results of a risk analysis, and the control objectives and required control measures to mitigate the identified risks. This example uses the UML stereotype notation with angled brackets to denote specialized elements.

Example 35: Specializations of Business Layer and Motivation Elements

15.2.6            Examples of Specializations of Strategy Elements (Informative)

The table below shows examples of specializations of strategy elements.

Parent Concept

Specialized Concept

Description

Capability

Capability Increment

A specialization of a capability realized by a specific plateau or a state in the architecture that represents a stage in the evolution of that capability.

Course of Action

Strategy

A high-level, broad-scope approach to achieve a long-term goal.

Tactic

A narrow-scope approach to achieve a short-term goal, used to detail a strategy.

15.2.7            Examples of Specializations of Implementation and Migration Elements (Informative)

The table below shows examples of specializations of implementation and migration elements.

Parent Concept

Specialized Concept

Description

Work Package

Program

A coordinated set of projects that deliver business benefits to the organization.

Project

A time- and resource-bound activity that delivers specific business benefits to an organization.

15.2.8            Examples of Specializations of Composite Elements (Informative)

The table below shows examples of specializations of compound elements. In addition to the specialization of single model elements, grouping can also be used to define specific compound elements.

Parent Concept

Specialized Concept

Description

Grouping

Risk Domain
(Risk & Security Overlay)

A domain consisting of entities that share one or more characteristics relevant to risk management or security. A risk domain is also a context or set of conditions that affects a risk exposure level.

Grouping of Application Component, Application Function, and Data Object

Data Store

A repository for persistently storing and managing collections of data.

15.2.9            Examples of Specializations of Relationships (Informative)

The table below shows examples of specializations of relationships.

Parent Concept

Specialized Concept

Description

Flow

Money Flow

A flow of money between behavior elements.

Assignment

Responsibilities assignment

Assignment from a business actor to a business role.

Behavior assignment

Assignment from an active structure to a behavior element.

Or-junction

Or-join

A junction with two or more incoming triggering and one outgoing triggering relationship, representing that at least one of the incoming relationships must be triggered to trigger the outgoing one.

 



return to top of page

Downloads

Downloads of the ArchiMate documentation, are available under license from the ArchiMate information web site. The license is free to any organization wishing to use ArchiMate entirely for internal purposes. A book is also available (in hardcopy and pdf) from The Open Group Bookstore as document C162.


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