It’s not a typo. “Re-visioning” is the right word; one part, re-envisioning, and one part, revisioning: re-visioning of the ArchiMate 3.0 Specification.
This article presents a new architectural point-of-view for describing the ArchiMate language based on a layered architecture reference model for languages.
Frequent feedback is that ArchiMate views are too technical and not “senior management friendly”. No enterprise architect wants to take an enterprise architecture view straight from their favorite modeling tool into a meeting with their CIO (unless their CIO is a very technical person). How can ArchiMate be customized or improved to address this?
ArchiMate often does not work well across heterogeneous or mixed-platform enterprise architectures. For example, it is difficult to work across mixed technology on-premise environments as well as heterogeneous cloud-based IaaS, PaaS, and SaaS platforms supported by a diverse complement of vendors (e.g. Microsoft Azure, Amazon WWS, IBM BlueMix, Salesforce, Google Cloud Platform, SAP, Oracle, VMware, etc.).
This situation is further complicated because none of these platform vendors document their architectures using ArchiMate. Every vendor documents their platforms and architecture reference models using their own collection of concepts, symbols, and stencils.
As of November 2016, there are approximately 3600 ArchiMate certified professionals worldwide according to The Open Group ArchiMate website (approximately 2600 ArchiMate Level 2 certifications and approximately 1000 Level 1 certifications – not accounting for overlaps). By comparison, there are approximately 730,000 Project Management Professional (PMP) professionals worldwide and, according to the OMG, “several tens of thousands of developers hold the OMG Certified UML Professional (OCUP) certification (including the updated OCUP 2 certification program)”. The implication is it should be possible to increase the broader adoption of ArchiMate beyond its current levels.
Another key motivation is to provide an architectural framework that makes it easier to understand how ArchiMate can be customized; making ArchiMate visualizations of EA models more approachable, easier to understand, and accepted by a broader audience. Customization is discussed near the end of this article.
To begin looking at how ArchiMate can be improved in terms of how it is described and how it is used, let’s start by looking at the ArchiMate 3.0 Specification and how ArchiMate is currently documented; and then, look at how the Specification can be improved (or augmented with a companion architecture reference model).
Current ArchiMate 3.0 Specification
What follows is a collection of quotations from the ArchiMate 3.0 Specification. The quotations have been annotated as follows:
- Italics have been added for emphasis and to identify key words and phrases
- Numbered bullets () have been added for reference purposes. A legend based on the ModelMate Information Architecture for ArchiMate (described below) appears in Appendix A.
- NOTE: The numbered bullets and legend (and italicized phrases) are not part of the ArchiMate 3.0 Specification.
Annotated Excerpts from the ArchiMate® 3.0 Specification
Start of excerpts.
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 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 .
3 Language Structure
3.1 Language Design Considerations
Figure. 1 Top-Level Hierarchy of ArchiMate Concepts
End of excerpts.
The italicized words and phrases are the key words and phrases which describe the key ideas that make up the ArchiMate language (e.g. modeling language, visual language, a default set of iconography, set of entities and relationships, etc.). The initial sections of the Specification’s Introduction (quoted above) provide a comprehensive overview of the ArchiMate language.
The numbered bullets relate the key words and phrases in the Specification’s Introduction to the ModelMate Information Architecture for ArchiMate (described later in this article).
The Specification’s Table of Contents illustrates how the current version of the specification is structured:
- 1. Definitions
- 2. Language Elements
- 3. Generic Metamodel
- 4. Relationships
- 5-13. Layers and Domains of language concepts further organized by Aspects
- 14. Stakeholders, Views, and Viewpoints
- 15. Language Customization Mechanisms
The approach used to describe ArchiMate can be improved.
An Alternative, Architectural Approach for Describing ArchiMate
Is there an alternative (and perhaps a better way) to describe the ArchiMate language with the goal of encouraging broader adoption, greater support, and more innovative applications of the ArchiMate language? I think there is. Let’s consider a generic architecture reference model for languages like ArchiMate.
ModelMate Information Architecture for Languages
What is the ModelMate Information Architecture for Languages? The ModelMate Information Architecture for Languages (MIAL) is an architecture reference model for analyzing and describing languages. The initial use cases are from the enterprise architecture domain but their applicability is not limited to enterprise architecture.
There are 8 primary domains in the MIAL architecture reference model (from the bottom up):
- Visual Notation
- Descriptive Information
- Overall Structure
- Text Notations
For the most part, these are familiar concepts for describing most languages; technical languages in particular. These concepts are illustrated below.
Figure 2. ModelMate Information Architecture for Languages
The MIAL 8 domains have the following definitions:
- Vocabulary lists the names of the nouns and verbs of the language (and possibly other language parts)
- Semantics provides meanings for each of nouns and verbs
- Grammar governs the composition of nouns and verbs into phrases or other constructs (phrases, sentences, paragraphs, chapters, and stories)
- Separate from the Vocabulary elements themselves, a Visual Notation provides a collection of one or more graphic renderings of each individual noun and verb
- Visualizations describes how the Grammar and Visual Notation can be used together to create graphical views consisting of multiple compositions of nouns and verbs (graphical phrases, sentences, and paragraphs)
- Descriptive Information describes what kinds of additional descriptive information (metadata) can be used to annotate the nouns and verbs in the Vocabulary
- Overall Structure of a document or model
- Text Notations for serializing an ArchiMate model into XML, JSON, or native spoken language documentation, as examples
An additional list of definitions can be found in this glossary.
The MISL 8 domains are, in turn, subdivided into MIAL 10 essential elements:
- Vocabulary of nouns
- Vocabulary of verbs
- Semantic definitions for the nouns and verbs
- Grammar rules for governing the composition of nouns and verbs (grammatical structure)
- Grouping and organizing constructs
- Visual notation comprised of a set of graphical symbols for each noun and verb
- Normative descriptions to guide the creation of visualizations based on the grammar rules and visual notation
- Annotation of nouns and verbs with descriptive information (metadata)
- Overall structure of a document or model
- Other notations for representing the structure (e.g. text, XML, JSON, native spoken languages)
Let’s look at how this information architecture reference model can be applied to ArchiMate.
ModelMate Information Architecture for ArchiMate
What is the ModelMate Information Architecture for ArchiMate? The ModelMate Information Architecture for ArchiMate (MIAA) is an instance of the MIAL customized to serve as an information architecture reference model for the ArchiMate language.
NOTE: The ModelMate Information Architecture for ArchiMate is not part of the ArchiMate 3.0 Specification.
Below is the list of the MIAL 10 essential elements customized for ArchiMate:
Vocabulary of nouns (elements) – a vocabulary of words
Vocabulary of verbs (relationships) for relating one noun to another – another vocabulary of words
Semantic definitions for the nouns (elements) and verbs (relationships) for describing enterprise architecture models – a glossary of definitions
Grammar rules for governing the composition of elements and relationships into a model – a grammar
Collection of domains and layers for organizing the elements into several (mostly) horizontal categories (Strategy, Business, Application, Technology, Physical, Implementation & Migration) and a collection of aspects for organizing the elements across the domains into a number of vertical categories (Active Structure, Behavior, and Passive Structure) – a taxonomy
Visual notation comprised of a set of graphical symbols for each element and relationship – an iconography
Normative descriptions of views and viewpoints to guide the creation of visualizations based on the visual notation and grammar rules
Annotation of elements and relationships with descriptive information – metadata
Model structure comprised of the elements, relationships, views, and metadata enabling models of enterprise architectures to be created, analyzed and visualized – an information architecture reference model
Text-based notation (e.g. XML-based model exchange format) for describing an enterprise architecture model (a collection of elements, relationships, views, and metadata) – enabling the serialization of an enterprise architecture model based on the information architecture.
The annotated excerpts from the ArchiMate 3.0 Specification found earlier in this article unpack the text of the specification by mapping the numbered bullets found next to each of the specification’s key words and phrases to the 10 elements of the ModelMate Information Architecture for ArchiMate.
The ModelMate Information Architecture for ArchiMate is illustrated graphically in the following figure. Study this architecture reference model from the bottom up.
Figure 3. ModelMate Information Architecture for ArchiMate
Given the layered structure of the ModelMate Information Architecture for ArchiMate, it is straightforward to see how ArchiMate lends itself to being customized at each level of the 8 domains:
- Visual Notation
- Descriptive Information
- Overall Structure
- Text Notations
Extend, Replace/Update, or Remove?
Below is an initial version of the ModelMate Information Architecture for ArchiMate customization decision matrix.
Table 1. ModelMate Information Architecture for ArchiMate: Customization Decision Matrix
The first thing to note is how the decision matrix drove forward the idea that the MIAL 8 domains can be categorized into 2 groups:
The Core group includes the “bottom 4” domains characterized by almost no opportunity for customization. The Non-Core group includes the “top 4” domains characterized by being almost totally customizable.
Future articles will go into more depth in terms of describing how each domain in the ModelMate Information Architecture for ArchiMate can be customized.
This article is the main course; now proceed to the next course in this series: Crossing the EA Chasm: ArchiMate “Keep Calm and Have It Your Way”.
For additional thoughts on these topics, check out Crossing the EA Chasm: Reflections on the Current State of ArchiMate.
Michael Herman (Toronto)
Appendix A – ModelMate Information Architecture for ArchiMate Legend
The following legend is based on the ModelMate Information Architecture for ArchiMate.
NOTE: This legend is not part of the ArchiMate 3.0 Specification.
Vocabulary of nouns (elements)
Vocabulary of verbs (relationships) for relating one noun to another
Semantic definitions for the nouns (elements) and verbs (relationships)
Grammatical structure governing the composition of elements and relationships
Collection of domains and layers and aspects
Visual notation (iconography) for each element and relationship
Normative descriptions of views and viewpoints
Annotation of elements and relationships with descriptive information (metadata)
Information architecture (model structure) for enterprise architecture models
Text-based notation (XML-based model exchange format) for describing an enterprise architecture model
*ArchiMate is a registered trademark of The Open Group.