ArchiMate

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Insurance claim process depicted in ArchiMate. Archimate enables modelling in different layers.

ArchiMate (/ˈɑːrkɪmt/ AR-ki-mayt; originally from Architecture-Animate) is an open and independent enterprise architecture modeling language to support the description, analysis and visualization of architecture within and across business domains[1] in an unambiguous way.

ArchiMate is a technical standard from The Open Group and is based on the concepts of the IEEE 1471 standard. It is supported by various tool vendors and consulting firms. ArchiMate is also a registered trademark of The Open Group. The Open Group has a certification program for ArchiMate users, software tools and courses.[2]

ArchiMate distinguishes itself from other languages such as Unified Modeling Language (UML) and Business Process Modeling and Notation (BPMN) by its enterprise modelling scope.[3]

Also, UML and BPMN are meant for a specific use and they are quite heavy – containing about 150 (UML) and 250 (BPMN) modeling concepts whereas ArchiMate works with just about 50 (in version 2.0). The goal of ArchiMate is to be ”as small as possible”, not to cover every edge scenario imaginable. To be easy to learn and apply, ArchiMate was intentionally restricted “to the concepts that suffice for modeling the proverbial 80% of practical cases".[4]

Overview[edit]

ArchiMate offers a common language for describing the construction and operation of business processes, organizational structures, information flows, IT systems, and technical infrastructure. This insight helps the different stakeholders to design, assess, and communicate the consequences of decisions and changes within and between these business domains.

The main concepts and relationships of the ArchiMate language can be seen as a framework, the so-called Archimate Framework:[5] It divides the enterprise architecture into a business, application and technology layer. In each layer, three aspects are considered: active elements, an internal structure and elements that define use or communicate information.

One of the objectives of the ArchiMate language is to define the relationships between concepts in different architecture domains. The concepts of this language therefore hold the middle between the detailed concepts, which are used for modeling individual domains (for example, the UML for modeling software products),[6] and BPMN, which is used for business process modeling.

History[edit]

ArchiMate is partly based on the IEEE 1471 standard. It was developed in the Netherlands by a project team from the Telematica Instituut in cooperation with several Dutch partners from government, industry and academia. Among the partners were Ordina, Radboud Universiteit Nijmegen, the Leiden Institute for Advanced Computer Science (LIACS) and the Centrum Wiskunde & Informatica (CWI). Later, tests were performed in organizations such as ABN AMRO, the Dutch Tax and Customs Administration and the ABP.[7]

The development process lasted from July 2002 to December 2004, and took about 35 man years and approximately 4 million euros. The development was funded by the Dutch government (Dutch Tax and Customs Administration), and business partners, including ABN AMRO and the ABP Pension Fund.[8]

In 2008 the ownership and stewardship of ArchiMate was transferred to the Open Group. It is now managed by the ArchiMate Forum[9] within The Open Group. In February 2009 The Open Group published the ArchiMate® 1.0 standard[10] as a formal technical standard. In January 2012 the ArchiMate® 2.0 standard, and in 2013 the ArchiMate® 2.1 standard[11] was released.

In June 2016, the Open Group released[12] version 3.0 of the ArchiMate Specification.[13] The latest update of the Archimate is 3.0.1 that came out in August 2017.[14]

Version 3.0 adds[15] enhanced support for capability-oriented strategic modelling, new entities representing physical resources (for modelling the ingredients, equipment and transport resources used in the physical world) and a generic metamodel showing the entity types and the relationships between them.

ArchiMate Framework[edit]

Core Framework[edit]

ArchiMate Core Framework.

The main concepts and elements of the ArchiMate language are being presented as ArchiMate Core Framework.[16] It consists of three layers and three aspects. This creates a matrix of combinations. Every layer has its Passive structure, Behavior and Active structure aspects.

Layers[17][edit]

ArchiMate has a layered and service-oriented look on architectural models. The higher layers make use of services that are provided by the lower layers. Although, at an abstract level, the concepts that are used within each layer are similar, we define more concrete concepts that are specific for a certain layer. In this context, we distinguish three main layers:[1][8]

  • The Business layer is about business processes, services, functions and events of business units. This layer "offers products and services to external customers, which are realized in the organization by business processes performed by business actors and roles".
  • The Application layer is about software applications that "support the components in the business with application services".
  • The Technology layer deals "with the hardware and communication infrastructure to support the Application Layer. This layer offers infrastructural services needed to run applications, realized by computer and communication hardware and system software".[4]

Each of these main layers can be further divided in sub-layers. For example, in the Business layer, the primary business processes realising the products of a company may make use of a layer of secondary (supporting) business processes; in the Application layer, the end-user applications may make use of generic services offered by supporting applications. On top of the Business layer, a separate Environment layer may be added, modelling the external customers that make use of the services of the organisation (although these may also be considered part of the Business layer).

In line with service orientation, the most important relation between layers is formed by use relations, which show how the higher layers make use of the services of lower layers. However, a second type of link is formed by realisation relations: elements in lower layers may realise comparable elements in higher layers; e.g., a ‘data object’ (Application layer) may realise a ‘business object’ (Business layer); or an ‘artifact’ (Technology layer) may realise either a ‘data object’ or an ‘application component’ (Application layer).

Aspects[edit]

  • Passive structure stands for all the objects on which action (behavior) is conducted. In the Business Layer the example would be information objects, in the Application Layer data objects and in the Technology Layer, they could stand for physical objects.
  • Behavior stands all the processes and functions done by the actors. „Structural elements are assigned to behavioral elements, to show who or what displays the behavior“.[17]
  • Active Structure represents f.e. business actors, devices or application components. These can be called subjects of activity, structural elements that display some behavior.

Full Framework[17][edit]

ArchiMate Full Framework

The Full ArchiMate framework is enriched by the Physical Layer, which was added to allow modeling of “physical equipment, materials, and distribution networks”[17] and was not present in the previous version.

The Implementation and Migration Layer adds elements that allow architects to model a state of transition, to mark parts of the architecture that are temporary for the purpose, as the name says, of implementation and migration.

Strategy Layer adds three elements: Resource, Capability and Course of Action. These elements help to incorporate strategic dimension to the ArchiMate language by allowing to depict usage of resources and capabilities in order to achieving some strategic goals.

As last addition, there is a Motivation Aspect that allows different stakeholders to describe motivation of specific actors or domains, which can be quite important when looking at one thing from several different angles. It adds several elements like stakeholder, value, driver, goal, meaning etc.

Archimate Language[edit]

The ArchiMate language is formed as a top-level and is hierarchical. On the top, there is a model. A model is collection of concepts. A Concept can be either an Element or a Relationship. Element can be either of Behavior type, Structure, Motivation or so-called Composite Element (which means that it does not fit just one aspect of the framework, but two or more).

The functionality of all the concepts without dependency on the specific layer is described by Generic metamodel. This layer non-specific description of concepts is useful when trying to understand mechanics of the Archimate language.

Concepts[edit]

Elements[edit]

The generic elements are distributed into the same categories as the layers:[18]

  • Active structure elements
  • Behavior elements
  • Passive structure elements
  • Motivation elements

As described earlier in the Layers section, active structure element represents an entity that is capable of performing behavior. Based on two levels of abstraction[17] that ArchiMate provides, it is possible to distinguish between internal active structure elements, which stands for active elements within the system like f.e. business actors and external active structure elements which stands for elements that carry out the behavior outside the system - f.e. interfaces.

Behavior elements can be as well internal or external. Internal behavior element is the one that stands for an activity carried out by some active structure elements within the system. Archimate defines f.e. Process and Function elements. External behavior a service that the whole system provides to the environment.

Passive structure element is an object, that can be used by the behavior elements (and thus active structure elements can perform behavior on them). They usually stand for information objects in the business layer and data objects in the application layer, but they may also be used to represent physical objects.

As described in the previous chapter, Motivation elements are answering the question Why?, they are trying to give a context and explain the motives behind the architecture. They can be of an active structure, as a Stakeholder and also of a passive structure - Value, Meaning, Driver, etc.

Relationships[19][edit]

ArchiMate sets several types of relationships that can connect different sets of source and target concepts. The classification of relationships is following:

  • Structural relationships – create a static construction of concepts of the same or different types
  • Dependency relationships – define how elements can support other elements
  • Dynamic relationships – model behavioral dependencies
  • Other relationships

General structure of models within the different layers[edit]

Core concepts of the ArchiMate language (Lankhorst, 2013).

The general structure of models within the different layers is similar. The same types of concepts and relations are used, although their exact nature and granularity differ.

First, it is necessary to distinguish the structural or static aspect and the behavioural or dynamic aspect. Behavioural concepts are assigned to structural concepts, to show who or what displays the behaviour. For example, role, interface and collaboration are assigned to business process, organisational service and business interaction, respectively.

Second, there must be a distinction between an external view and an internal view on systems. When looking at the behavioral aspect, these views reflect the principles of service orientation. The service concept represents a unit of essential functionality that a system exposes to its environment. For the external users, only this external functionality, together with non-functional aspects such as the quality of service, costs etc., are relevant. Services are accessible through interfaces, which constitute the external view on the structural aspect.

Although for the external users only the external view is relevant, the design of organisations or systems and their internal operations and management also requires knowledge about the internal realisation of the services and interfaces. For this realisation, it is necessary to make a distinction between behavior that is performed by an individual structural element (e.g., actor, role component, etc.), or collective behavior (interaction) that is performed by a collaboration of multiple structural elements.

Notation[edit]

The ArchiMate separates the languages concepts from their notation (contrary to the UML or BPMN). As there are different groups of stakeholders, they may need different notations. This might be confusing, but it is solved by the viewpoint mechanism.

Although ArchiMate doesn't stress the only one notation, it comes with one and it aims to those "used to existing technical modeling techniques such as ERD, UML, or BPMN, and therefore resembles them".[17]

Use of colors[17][edit]

In ArchiMate, the use of colors is not explicitly set, however, it is usual that colors are used to distinguish between the different layers.

  • Yellow for the Business Layer
  • Blue for the Application Layer
  • Green for the Technology Layer

Letters[17][edit]

As another way to distinguish to which layer which element belongs, according to the Full Framework layers, there can also be a capital letter in the left top corner of the element that stands for the specific layer (M for the Motivation, B for the Business, etc.)

Element shape[edit]

The shape of elements helps to distinguish the right Aspect. Structure elements have square corners, Behavior elements come with round corners. Diagonal corners indicate a motivational element.[17]

Viewpoints[edit]

A great premise of the latest version of ArchiMate are the Views and Viewpoints. They allow stakeholders to define specific conditions like concepts, analysis techniques, models, and visualizations – a viewpoint, from which the model should be perceived.

A view (or a view model) “is defined as a part of an Architecture Description that addresses a set of related concerns and is tailored for specific stakeholders”.[20] In return, the stakeholders give their feedback which creates a bi-directional communication.

Ultimately, this allows the stakeholders/architects to communicate their ideas and concerns easily with others. Also by reducing the “view” by setting the right conditions and intentionally limiting the perspective, it is easier solve specific problems and also, for stakeholders from specific areas it makes the model easier to read.

Benefits and pitfalls of the ArchiMate[21][edit]

Benefits[22][edit]

  • Ensures consistency across all architecture models (business domains)
  • Allows the stakeholders to be involved in design, to assess all the requirements and it works well as a communication tool
  • Richness of the tool – core framework, motivation extension that enriches the core with reasons why and implementation and migration extension
  • It is regularly updated with quite broad base of certified users
  • 3.0.1 version supports IOT features
  • It provides user with Viewpoints

Pitfalls[23][edit]

  • IT centred - as it is closely tied up with the world of IT, it might be hard to create an architecture of a non-IT company that is producing a physical products (partly solved by the latest version, but still complicated)

Exchange file format[edit]

A standard model exchange file format has been developed for ArchiMate 2.1 and 3.0 models.[24] This is an XML/XSD based file format, and is intended for exchange rather than a persistent file format.

References[edit]

  1. ^ a b What is ArchiMate? at archimate.org from archive.org. Accessed April 19, 2014
  2. ^ ArchiMate Certification at opengroup.org. Accessed January 11, 2014.
  3. ^ Pallab Saha (2008) Advances in Government Enterprise Architecture. p.39.
  4. ^ a b "ArchiMate 3.0.1 Specification". Open Group. Retrieved 20 January 2019.
  5. ^ The ArchiMate Framework, in: ArchiMate® 2.1. Accessed 06.2015.
  6. ^ Zoran Stojanović et al. (2007). Service-oriented Software System Engineering. p.145-146.
  7. ^ Telematica Instituut (2006) Annual Report 2005. p.7. Accessed 18 jan 2009.
  8. ^ a b ArchiMate : Its Time Has Come? Enterprise Architecture Demystified. Posted by snair007 on August 3, 2008
  9. ^ "The Open Group ArchiMate® Forum Landing Page - The Open Group". www.opengroup.org.
  10. ^ "ArchiMate® 1.0 Specification". www.opengroup.org.
  11. ^ The Open Group (2012), ArchiMate 2.1 Specification
  12. ^ "The ArchiMate® Enterprise Architecture Modeling Language - The Open Group". www.opengroup.org.
  13. ^ ArchiMate v3.0 Specification Accessed 27 June 2016.
  14. ^ "Archimate Overview". Open Group. Retrieved 20 January 2019.
  15. ^ "What is New in ArchiMate® 3.0.1? - The Open Group". www.opengroup.org.
  16. ^ "ArchiMate 3.0.1 Specification Chapter 2". The Open Group. Retrieved 20 January 2019.
  17. ^ a b c d e f g h i "ArchiMate 3.0.1 Specification Chapter 3". The Open Group. Retrieved 20 January 2019.
  18. ^ "ArchiMate 3.0.1 Specification Chapter 4". The Open Group. Retrieved 20 January 2019.
  19. ^ "ArchiMate 3.0.1 Specification Chapter 5". The Open Group. Retrieved 20 January 2019.
  20. ^ "ArchiMate 3.0.1 Specification Chapter 14". The Open Group. Retrieved 20 January 2019.
  21. ^ "Three common limitations of achimate and how to deal with them". Archixl. Retrieved 20 January 2019.
  22. ^ "Understanding the benefits of Archimate". Certbuddyz. Retrieved 20 January 2019.
  23. ^ "On Archimate 3.0". Tetradian. Retrieved 20 January 2019.
  24. ^ "ArchiMate® Model Exchange File Format for the ArchiMate 3.0 Modeling Language". www.opengroup.org.

Further reading[edit]

External links[edit]

Media related to ArchiMate at Wikimedia Commons