6.2. Architecture notation#
A notation helps a lot to understand complex architectures and to explain the software architecture of UCS. A standardized notation is key to communicate an architecture.
This section describes the notation and elements used in this document. It’s intended to help you as reader to understand the notations. This section tries to duplicate as little content as possible and instead provide deep links to the corresponding resources on the internet.
6.2.1. C4 model#
The document uses the C4 model in the Concepts section.
The C4 model is a lean graphical notation technique for modeling the architecture of software systems. It’s based on a structural decomposition of a system into containers and components and relies on existing modeling techniques such as the Unified Modeling Language (UML) or Entity Relation Diagrams (ERD) for the more detailed decomposition of the architectural building blocks.
—Wikipedia contributors, “C4 model”, Wikipedia, The Free Encyclopedia, (accessed January 24, 2023).
The C4 model is notation independent and provides:
A set of hierarchical abstractions for software systems, containers, components, and code.
A set of hierarchical diagrams for system context, containers, components, and code.
The C4 model is a good to learn, developer friendly approach to software architecture diagramming. But, it comes to limits when it comes to model the architecture. Diagramming tools draw just boxes and lines and can’t answer questions like “What dependencies does component X have?”
See also
- The C4 model for visualizing software architecture
for a description of the C4 model from Brown [6]
6.2.2. ArchiMate#
ArchiMate is a notation and modeling standard for enterprise architecture maintained by The OpenGroup. This document uses the ArchiMate® specification 3.2.
Why ArchiMate?#
ArchiMate isn’t about standard boxes and lines, it’s all about a common language that provides the foundations for a good architecture description.
Using the language without its notation is already of great value as it allows people to understand each other.
—Jean-Baptiste Sarrodie, “Why ArchiMate?”, 28. September 2018
Regarding the simplified language analogy:
ArchiMate contains a vocabulary that covers most domains of Enterprise Architecture. This document focuses on technology, application and business.
ArchiMate uses a grammar similar to natural language with subject, verb, and object to describe what people or things do, and adds an external, service oriented, view of those activities.
The ArchiMate default notation is similar to spelling as it provides a way to “save ideas on paper”.
See also
- “ArchiMate”, Wikipedia, The Free Encyclopedia
for an overview of the ArchiMate frameworks, language and viewpoints
ArchiMate reader’s guide#
This document uses the ArchiMate concepts element, relationship, and relationship connector mentioned in the later sections. The following sections provide specific links to the corresponding resources in the ArchiMate specification with summarized definitions. They help to pick out the parts needed to understand the notation.
To properly read ArchiMate, it’s recommended to read parts of the ArchiMate specification about the following:
The ArchiMate Core Framework section, that refers to the layers Business, Application, and Technology. Imagine the layers as rows in a table.
The ArchiMate Core Framework section explains the three Aspects. Think of an aspect as columns in a table:
The Active Structure Aspect represents structural elements, the actors. Think of it as the subject in a natural language sentence.
The Behavior Aspect represents behavior performed by actors. Think of it as the verb in a natural language sentence.
The Passive Structure Aspect represents objects, the targets of the actors’ behavior. Think of it as the object in a natural language sentence.
You find the ArchiMate concepts used in the document in the sections below, organized by layer. To read a short definition for each element, follow the links to the corresponding summaries in the specification.
See also
- ArchiMate® specification 3.2
for the complete ArchiMate® 3.2 Specification [7]
- Free ArchiMate 3.2 Overview PDFs in multiple languages
for overview PDF files about ArchiMate 3.2 in different languages, such as English and German.
- Mastering ArchiMate Edition 3.1
for a free PDF excerpt of the book from Wierda [8]
Business layer#
Business Layer elements model the operational organization of an enterprise in a technology-independent manner.
For the business layer the document uses the ArchiMate concepts as shown in Fig. 6.1.
Meanings in one sentence
- Summary of Business Layer Elements
for a table with a summary of business layer elements
See also
- ArchiMate business layer
for the specification of the business layer
Application layer#
Application Layer elements typically model the application architecture that describes the structure, behavior, and interaction of the applications of the enterprise.
For the application layer the document uses the ArchiMate concepts as shown in Fig. 6.2.
Meanings in one sentence
- Summary of Application Layer Elements
for a table with a summary of application layer elements
See also
- ArchiMate application layer
for the specification of the application layer
Technology layer#
The Technology Layer elements typically model the technology architecture of the enterprise, describing the structure and behavior of the technology infrastructure of the enterprise.
For the technology layer the document uses the ArchiMate concepts as shown in Fig. 6.3.
Meanings in one sentence
- Summary of Technology Layer Elements
for a table with a summary of technology layer elements
See also
- ArchiMate technology layer
for the specification of the technology layer
Motivation elements#
Motivation elements model the motivations, or reasons, that guide the design or change of an enterprise architecture.
The motivation elements belong to the ArchiMate full framework. From the motivation elements the document uses the ArchiMate concepts as shown in Fig. 6.4.
Meanings in one sentence
- Summary of Motivation Elements
for a table with a summary of motivation elements
See also
- ArchiMate motivation elements
for the specification of the motivation elements
Strategy elements#
The strategy elements are typically used to model the strategic direction and choices of an enterprise, as far as it concerns the impact on its architecture. They express how the enterprise wants to create value for its stakeholders, the capabilities it needs, the resources needed to support these capabilities, as well as how it plans to configure and use these capabilities and resources to achieve its aims.
The strategy elements belong to the ArchiMate full framework. From the strategy elements the document uses the ArchiMate concepts as shown in Fig. 6.5.
Meanings in one sentence
- Summary of Strategy Elements
for a table with a summary of strategy elements
See also
- ArchiMate strategy elements
for the specification of the strategy elements
Relationships#
The document uses almost all relations from the ArchiMate Core framework.
As reader you may find views that don’t repeat concepts and relationships in between two concepts in focus. Such views are abstractions and they use the derivation of relationships. ArchiMate provides derivation rules to create abstract views.
Meanings in one sentence
- Summary of Relationships
for a table with a summary of relationships
See also
- Derivation of Relationships
for an introduction to derivation of relationships
- ArchiMate Relationships
for the specification of relationships
- ArchiMate Specification of Derivation Rules
for the specification of derivation rules for valid and potential relationships