ArchiMate (/ˈɑːrkɪmeɪt/ AR-ki-mayt) 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 concepts from the now superseded 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
editArchiMate 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 Unified Modeling Language (UML) for modeling software products),[6] and Business Process Model and Notation (BPMN), which is used for business process modeling.
History
editArchiMate is partly based on the now superseded 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 [nl], 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 person 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] An update to Archimate 3.0.1 came out in August 2017.[14] Archimate 3.1 was published 5 November 2019.[15] The latest version of the ArchiMate Specification is version 3.2 released October 2022.[16]
Version 3.0 adds[17] 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
editCore framework
editThe main concepts and elements of the ArchiMate language are being presented as ArchiMate core framework.[18] 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
editArchiMate 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][19]
- 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 is the set of entities on which actions are conducted. In the business layer the example would be information objects, in the application layer data objects and in the technology layer, they could include physical objects.
- Behavior refers to the processes and functions performed by the actors. "Structural elements are assigned to behavioral elements, to show who or what displays the behavior".[19]
- Active structure is the set of entities that display some behavior, e.g. business actors, devices, or application components.
Full framework
editThe Full ArchiMate framework is enriched by the physical layer, which was added to allow modeling of “physical equipment, materials, and distribution networks”[19] 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 it to depict the usage of resources and capabilities in order to achieve some strategic goals.
Finally, there is a motivation aspect that allows different stakeholders to describe the 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
editThe ArchiMate language is formed as a top-level and is hierarchical. On the top, there is a model. A model is a collection of concepts. A concept can be either an element or a relationship. An element can be either of behavior type, structure, motivation or a 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 concepts without a dependency on a specific layer is described by the generic metamodel. This layer-independent description of concepts is useful when trying to understand the mechanics of the Archimate language.
Concepts
editElements
editThe generic elements are distributed into the same categories as the layers:[20]
- Active structure elements
- Behavior elements
- Passive structure elements
- Motivation elements
Active structure elements represent entities that are capable of performing behavior. Based on two levels of abstraction[19] that ArchiMate provides, it is possible to distinguish between internal active structure elements, which stand for active elements within the system - e. g., business actors - and external active structure elements which stand for elements that carry out the behavior outside the system - e. g., interfaces.
Behavior elements can be internal or external as well. An internal behavior element is one that stands for an activity carried out by an active structure element within the system. Archimate defines for instance process and function elements. External behavior is a service that the whole system provides to the environment.
Passive structure elements are objects that can be used by 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
editArchiMate sets several types of relationships that can connect different sets of source and target concepts. The classification of relationships[21] 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
editThe 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
editThe ArchiMate language separates the 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".[19]
Use of colors
editFormally, color has no meaning in ArchiMate,[19] but many modelers use colors to distinguish between the different layers:
- Yellow for the business layer
- Blue for the application layer
- Green for the technology layer
The original ArchiMate description from 2004[22] used colors differently:
- Blue for active elements
- Yellow for behavioural elements
- Green for passive elements
Over the years, ArchiMate has moved from the second style as customary to the first.[23] The older second style can also still be found. E.g. the Mastering ArchiMate book[24] uses a style based on this original pattern.
Letters
editAs another way to distinguish to which layer an 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 motivation, B for business, etc.)[19]
Element shape
editThe shape of elements helps to distinguish aspects. Structural elements have square corners, behavioral elements come with round corners. Diagonal corners indicate a motivational element.[19]
Viewpoints
editThe latest version of ArchiMate introduces 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”.[25] 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 ArchiMate
editBenefits
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
editSome of the concepts are more useful than others, and some of the motivational concepts have been found confusing and/or duplicative, according to finished research.[28][29][30][31] Like other related content frameworks (e.g. the TOGAF content metamodel introduced in TOGAF 9), the framework covers a number of layers including both business and technology. The business layers can be harder to model because the concepts there are perhaps less tangible. However, this difficulty is not restricted just to ArchiMate,[32] but some of the concepts at the business layer are also ill-defined [33]
Exchange file format
editA standard model exchange file format has been developed for ArchiMate 2.1 and 3.0 models.[34] This is an XML/XSD based file format, and is intended for exchange rather than a persistent file format.
References
edit- ^ a b What is ArchiMate? at archimate.org from archive.org. Accessed April 19, 2014
- ^ ArchiMate Certification at opengroup.org. Accessed January 11, 2014.
- ^ Pallab Saha (2008) Advances in Government Enterprise Architecture. p.39.
- ^ a b "ArchiMate 3.1 Specification". Open Group. Retrieved 22 February 2020.
- ^ The ArchiMate Framework, in: ArchiMate® 2.1. Accessed 06.2015.
- ^ Zoran Stojanović et al. (2007). Service-oriented Software System Engineering. p.145-146.
- ^ Telematica Instituut (2006) Annual Report 2005. p.7. Accessed 18 jan 2009.
- ^ a b ArchiMate : Its Time Has Come? Enterprise Architecture Demystified. Posted by snair007 on August 3, 2008
- ^ "The Open Group ArchiMate Forum Landing Page - The Open Group". www.opengroup.org. 25 October 2019.
- ^ "ArchiMate 1.0 Specification". www.opengroup.org.
- ^ The Open Group (2012), ArchiMate 2.1 Specification
- ^ "The ArchiMate® Enterprise Architecture Modeling Language - The Open Group". www.opengroup.org. Archived from the original on 2016-06-19. Retrieved 2016-06-27.
- ^ ArchiMate v3.0 Specification Accessed 27 June 2016.
- ^ "Archimate Overview". Open Group. 12 October 2018. Retrieved 20 January 2019.
- ^ "ArchiMate 3.1 Specification". Open Group. 5 November 2019. Retrieved 16 February 2022.
- ^ "ArchiMate 3.2 Specification". Open Group. 19 October 2022. Retrieved 25 April 2022.
- ^ "What is New in ArchiMate® 3.0.1? - The Open Group". www.opengroup.org. Archived from the original on 2016-06-18. Retrieved 2016-06-27.
- ^ "ArchiMate 3.1 Specification Chapter 2". The Open Group. Retrieved 22 February 2020.
- ^ a b c d e f g h "ArchiMate 3.1 Specification Chapter 3". The Open Group. Retrieved 22 February 2020.
- ^ "ArchiMate 3.1 Specification Chapter 4". The Open Group. Retrieved 22 February 2020.
- ^ "ArchiMate 3.1 Specification Chapter 5". The Open Group. Retrieved 22 February 2020.
- ^ Concepts for Architectural Description, ArchiMate Deliverable 2.2.1 v4.1 (Telematica Instituut, 2004, no longer available on the web)
- ^ See for instance both schemes used in TOG's ArchiMate 2.1 description: https://pubs.opengroup.org/architecture/archimate2-doc/chap03.html#_Toc371945156
- ^ Wierda, Gerben (2021). Mastering ArchiMate Edition 3.1: A serious introduction to the ArchiMate® enterprise architecture modeling language. R&A. ISBN 978-9083143415.
- ^ "ArchiMate 3.1 Specification Chapter 14". The Open Group. Retrieved 22 February 2020.
- ^ Oord, Erwin (20 May 2014). "Three common limitations of ArchiMate and how to deal with them". ArchiXL. Retrieved 20 January 2019.
- ^ "Understanding the benefits of Archimate". Certbuddyz. Retrieved 20 January 2019.
- ^ Azevedo, Carlos L.B.; Almeida, Joao Paulo A.; van Sinderen, Marten; Quartel, Dick; Guizzardi, Giancarlo (August 2011). "An Ontology-Based Semantics for the Motivation Extension to ArchiMate". 2011 IEEE 15th International Enterprise Distributed Object Computing Conference (PDF). IEEE. pp. 25–34. doi:10.1109/edoc.2011.29. ISBN 978-1-4577-0362-1. S2CID 7774864.
- ^ Engelsman, Wilco; Wieringa, Roel (2014), Understandability of Goal Concepts by Requirements Engineering Experts (PDF), Lecture Notes in Computer Science, vol. 8823, Springer International Publishing, pp. 97–106, doi:10.1007/978-3-319-12256-4_10, ISBN 9783319122557
- ^ Engelsman, Wilco; Wieringa, Roel (2012), "Goal-Oriented Requirements Engineering and Enterprise Architecture: Two Case Studies and Some Lessons Learned" (PDF), Requirements Engineering: Foundation for Software Quality, Lecture Notes in Computer Science, vol. 7195, Springer Berlin Heidelberg, pp. 306–320, doi:10.1007/978-3-642-28714-5_27, ISBN 9783642287138
- ^ Engelsman, Wilco; Wieringa, Roel (2014), "Understandability of Goal-Oriented Requirements Engineering Concepts for Enterprise Architects" (PDF), Advanced Information Systems Engineering, Lecture Notes in Computer Science, vol. 8484, Springer International Publishing, pp. 105–119, doi:10.1007/978-3-319-07881-6_8, ISBN 9783319078809
- ^ "On Archimate 3.0". Tetradian. Retrieved 20 January 2019.
- ^ Nardi, Julio Cesar; de Almeida Falbo, Ricardo; Almeida, Joao Paulo A. (September 2014). "An Ontological Analysis of Service Modeling at ArchiMate's Business Layer". 2014 IEEE 18th International Enterprise Distributed Object Computing Conference. IEEE. pp. 92–100. doi:10.1109/edoc.2014.22. ISBN 978-1-4799-5470-4. S2CID 14051278.
- ^ "ArchiMate® Model Exchange File Format for the ArchiMate 3.0 Modeling Language". www.opengroup.org.
Further reading
edit- Marc Lankhorst (ed.) and the ArchiMate team (2004) ArchiMate Language Primer. Enschede: Novay.
- Marc Lankhorst et al. (2005). Enterprise Architecture at Work - Modelling, Communication and Analysis. Berlin: Springer-Verlag.
- Marc Lankhorst and Hans van Drunen (2007). Enterprise Architecture: Development and Modelling – Combining TOGAF and ArchiMate Archived 2014-12-20 at the Wayback Machine
- The Open Group (2009), ArchiMate 1.0 Specification. ISBN 978-90-8753-502-5.
- The Open Group (2009), ArchiMate 1.0 Specification - online.
- Marc Lankhorst et al. (2009). Enterprise Architecture at Work - Modelling, Communication and Analysis 2nd edition. Berlin: Springer-Verlag.
- The Open Group (2012), ArchiMate 2.1 Specification - online.
- Marc Lankhorst et al. (2012). Enterprise Architecture at Work - Modelling, Communication and Analysis 3rd edition. Berlin: Springer-Verlag.
- The Open Group (2019), ArchiMate 3.1 Specification - online.
- Andrew Josey, Marc Lankhorst, Iver Band, Henk Jonkers, and Dick Quartel (2017). An Introduction to the ArchiMate® 3.0.1 Specification[permanent dead link], White Paper from The Open Group.
- The Open Group et al. (2016). ArchiMate 3 YouTube Playlist YouTube Playlist by The Open Group
- Marc Lankhorst et al. (2017). Enterprise Architecture at Work - Modelling, Communication and Analysis 4th edition. Hardcover and Kindle. Berlin: Springer-Verlag.
- Wierda, Gerben (2021). Mastering ArchiMate Edition 3.1: A serious introduction to the ArchiMate® enterprise architecture modeling language. Heerlen: R&A. ISBN 978-9083143415. Hardcover and PDF.