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:

  1. A set of hierarchical abstractions for software systems, containers, components, and code.

  2. 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:

  1. The ArchiMate Core Framework section, that refers to the layers Business, Application, and Technology. Imagine the layers as rows in a table.

  2. 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.

  3. 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.

../_images/ArchiMate-business-layer.svg

Fig. 6.1 ArchiMate business layer concepts used in this document#

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.

../_images/ArchiMate-application-layer.svg

Fig. 6.2 ArchiMate application layer concepts used in this document#

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.

../_images/ArchiMate-technology-layer.svg

Fig. 6.3 ArchiMate technology layer concepts used in this document#

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.

../_images/ArchiMate-motivation-layer.svg

Fig. 6.4 ArchiMate motivation elements used in this document#

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.

../_images/ArchiMate-strategy-layer.svg

Fig. 6.5 ArchiMate strategy elements used in this document#

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.

../_images/Screenshot-ArchiMate-relations-summary.png

Fig. 6.6 Screenshot from the table with a summary of relationships in the ArchiMate specification#

For a link, refer to Summary of Relationship in the See also box.

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