Skip to content

ArchiMate 4.0 Primer & Modeling Guide — Enterprise Architecture with Linked.Archi

This guide introduces ArchiMate 4.0 (the "Hexagonion") as formalised in Linked.Archi, explains how its concepts map to semantic assets, and demonstrates practical modeling through a worked example.

ArchiMate 4.0 Concepts

What is ArchiMate 4.0?

ArchiMate is an open and independent enterprise architecture modeling language published by The Open Group. Version 4.0 — nicknamed the "Hexagonion" — introduces a fundamental restructuring from the layer-based model of 3.x to a domain-based organisation.

Key changes from 3.x: - Layers → Domains — Business, Application, Technology layers replaced by Common, Business, Application, Technology, Strategy, Motivation, and Implementation & Migration domains - Merged behavior elements — per-layer duplicates (BusinessProcess, ApplicationProcess, TechnologyProcess) merged into single cross-domain elements (Process, Function, Event, Service) - Common Domain — new domain for generic, domain-independent concepts (Role, Collaboration, Path) - Removed elements — Interaction, Contract, Representation, Gap, ImplementationEvent, Constraint removed

ArchiMate 4.0 specification: https://pubs.opengroup.org/architecture/archimate4-doc/

The Two Classification Dimensions

ArchiMate 4.0 classifies elements along two orthogonal dimensions:

By Aspect (what kind of thing)

graph LR
    subgraph Aspects
        BE(["Behavior<br/>Elements"])
        ASE["Active Structure<br/>Elements"]
        PSE["Passive Structure<br/>Elements"]
        ME(["Motivation<br/>Elements"])
        CE["Composite<br/>Elements"]
        SE(["Strategy<br/>Elements"])
    end

    style BE fill:#FFFFCC,stroke:#333,color:#000
    style ASE fill:#CCE5FF,stroke:#333,color:#000
    style PSE fill:#CCE5FF,stroke:#333,color:#000
    style ME fill:#E8D5F5,stroke:#333,color:#000
    style CE fill:#D5E8D4,stroke:#333,color:#000
    style SE fill:#FFE6CC,stroke:#333,color:#000
Aspect What it represents Examples
Behavior Dynamic aspects — what happens Process, Function, Event, Service
Active Structure Entities that perform behavior Role, Component, Node, Device
Passive Structure Objects on which behavior is performed Object, Artifact, Material
Motivation Why things happen Stakeholder, Driver, Goal, Principle
Composite Combinations of other aspects Grouping, Location
Strategy Strategic intent Resource, Capability, Value Stream, Course of Action

By Domain (where it belongs)

graph TD
    subgraph Domains
        CD["Common Domain"]
        BD["Business Domain"]
        AD["Application Domain"]
        TD["Technology Domain"]
        SD["Strategy Domain"]
        MD["Motivation Domain"]
        IM["Implementation &<br/>Migration Domain"]
    end

    style CD fill:#C9E7CB,stroke:#333,color:#000
    style BD fill:#FFFFB3,stroke:#333,color:#000
    style AD fill:#B3D9FF,stroke:#333,color:#000
    style TD fill:#D4E6B5,stroke:#333,color:#000
    style SD fill:#FFE6CC,stroke:#333,color:#000
    style MD fill:#E8D5F5,stroke:#333,color:#000
    style IM fill:#FFD6D6,stroke:#333,color:#000
Domain Scope Key Elements
Common Domain-independent concepts Process, Function, Event, Service, Role, Collaboration, Interface, Object, Path
Business Business-specific Business Actor, Business Role, Business Process, Business Object, Product, Contract
Application Software systems Application Component, Application Interface, Data Object
Technology Infrastructure Node, Device, System Software, Technology Interface, Artifact, Communication Network
Strategy Strategic planning Resource, Capability, Value Stream, Course of Action
Motivation Why architecture exists Stakeholder, Driver, Assessment, Goal, Outcome, Principle, Requirement, Constraint, Meaning, Value
Implementation & Migration Change management Work Package, Deliverable, Plateau

Visual Notation — Key Elements by Domain

Common Domain

Element Notation Aspect
Process Process Behavior
Function Function Behavior
Event Event Behavior
Service Service Behavior
Role Role Active Structure
Collaboration Collaboration Active Structure
Object Object Passive Structure

Business Domain

Element Notation Aspect
Business Actor Business Actor Active Structure
Business Interface Business Interface Active Structure
Business Object Business Object Passive Structure
Product Product Composite

Application Domain

Element Notation Aspect
Application Component Application Component Active Structure
Application Interface Application Interface Active Structure
Data Object Data Object Passive Structure

Technology Domain

Element Notation Aspect
Node Node Active Structure
Device Device Active Structure
System Software System Software Active Structure
Artifact Artifact Passive Structure
Communication Network Communication Network Active Structure

Strategy Domain

Element Notation Aspect
Capability Capability Strategy
Resource Resource Strategy
Value Stream Value Stream Strategy
Course of Action Course of Action Strategy

Motivation Domain

Element Notation Aspect
Stakeholder Stakeholder Motivation
Driver Driver Motivation
Goal Goal Motivation
Principle Principle Motivation
Requirement Requirement Motivation

Implementation & Migration Domain

Element Notation Aspect
Work Package Work Package Behavior
Deliverable Deliverable Passive Structure
Plateau Plateau Composite

Relationships (11 types)

graph LR
    subgraph Structural
        Comp["Composition"]
        Agg["Aggregation"]
        Assign["Assignment"]
        Real["Realization"]
    end
    subgraph Dependency
        Serv["Serving"]
        Acc["Access"]
        Infl["Influence"]
    end
    subgraph Dynamic
        Trig["Triggering"]
        Flow["Flow"]
    end
    subgraph Other
        Spec["Specialization"]
        Assoc["Association"]
    end

    style Structural fill:#CCE5FF,stroke:#333,color:#000
    style Dependency fill:#FFFFCC,stroke:#333,color:#000
    style Dynamic fill:#FFE6CC,stroke:#333,color:#000
    style Other fill:#E8E8E8,stroke:#333,color:#000
Category Relationship Meaning
Structural Composition Element consists of other elements
Structural Aggregation Element combines other elements
Structural Assignment Active structure performs behavior
Structural Realization Element realizes another
Dependency Serving Element provides functionality to another
Dependency Access Behavior accesses passive structure
Dependency Influence Element influences another (motivation)
Dynamic Triggering Element triggers another
Dynamic Flow Transfer of content between elements
Other Specialization Element is a specialization of another
Other Association Unspecified relationship

Semantic Assets

Asset Set

modelingLanguages/archimate/4.0/
├── archimate4-metamodel.ttl                ← Entry point: arch:Metamodel
├── archimate4-onto.ttl                     ← OWL ontology (elements + relationships)
├── archimate4-tax.ttl                      ← SKOS taxonomy (by domain, by aspect)
├── archimate4-element-shapes.ttl           ← SHACL shapes for elements
├── archimate4-relationship-shapes.ttl      ← SHACL shapes for relationship validity
├── archimate4-principle-shapes.ttl         ← SHACL shapes for governance principles
├── archimate4-viewpoint-shapes.ttl         ← SHACL viewpoint conformance
├── archimate4-viewpoints.ttl               ← Viewpoint definitions
├── archimate4-derivation-rules.ttl         ← SPARQL-based derivation rules
├── archimate4-deliverable-templates.ttl    ← Document templates
├── archimate4-reference-data.ttl           ← Reference data (access types, etc.)
├── archimate4-reference-models.ttl         ← Architecture patterns
├── archimate4-presentation-contexts.ttl    ← Audience-specific rendering
├── archimate4-notation.ttl                 ← Visual notation set
└── icons/                                  ← SVG icons

Abstract vs Concrete Classes

ArchiMate 4.0 uses two classification hierarchies — by aspect and by domain. Both are marked arch:isAbstractClass true:

Abstract (Aspect) Abstract (Domain) Concrete Examples
BehaviorElement CommonDomainElement Process, Function, Event, Service
ActiveStructureElement BusinessDomainElement Business Actor, Business Role
InternalActiveStructureElement ApplicationDomainElement Application Component
ExternalActiveStructureElement TechnologyDomainElement Node, Device, System Software
PassiveStructureElement StrategyElement Resource, Capability, Value Stream
MotivationElement ImplementationAndMigrationDomainElement Work Package, Plateau
CompositeElement Grouping, Location

Three-Declaration Relationship Pattern

Each of the 11 relationship types has three declarations:

## 1. Unqualified predicate
:serves
    a owl:ObjectProperty ;
    skos:prefLabel "Serves"@en ;
    arch:domainIncludes arch:Element ;
    arch:rangeIncludes arch:Element ;
.

## 2. Qualified relationship class
:Serving
    a owl:Class ;
    rdfs:subClassOf arch:QualifiedRelationship ;
    arch:unqualifiedForm :serves ;
    skos:prefLabel "Serving"@en ;
.

## 3. Qualified property
:qualifiedServes
    a owl:ObjectProperty ;
    rdfs:range :Serving ;
    arch:unqualifiedForm :serves ;
.

Viewpoints

ArchiMate 4.0 defines viewpoints that constrain which elements and relationships are visible:

Viewpoint Focus
Organization Business actors, roles, collaborations
Business Process Cooperation Processes, services, functions
Application Cooperation Application components, interfaces, data
Technology Usage Nodes, devices, system software, artifacts
Layered Cross-domain traceability
Capability Map Capabilities and their realisation
Strategy Resources, capabilities, courses of action
Motivation Stakeholders, drivers, goals, requirements
Migration and Implementation Work packages, plateaus, gaps

Worked Example: NordFreight Logistics

Prerequisites

core/core-onto.ttl
modelingLanguages/archimate/4.0/archimate4-onto.ttl
modelingLanguages/archimate/4.0/archimate4-tax.ttl
modelingLanguages/archimate/4.0/archimate4-element-shapes.ttl
modelingLanguages/archimate/4.0/archimate4-relationship-shapes.ttl
modelingLanguages/archimate/4.0/archimate4-viewpoints.ttl
modelingLanguages/archimate/4.0/archimate4-notation.ttl
modelingLanguages/archimate/4.0/archimate4-metamodel.ttl

About NordFreight

NordFreight Logistics is a Scandinavian freight and logistics company operating road, rail, and sea transport across Northern Europe. NordFreight is modernising its shipment tracking platform and integrating with EU customs systems for post-Brexit trade compliance.

The complete, validatable example model is available at examples/nordfreight/nordfreight-model.ttl.

Model File Header

@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix skos:    <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix arch:    <https://meta.linked.archi/core#> .
@prefix am4:     <https://meta.linked.archi/archimate4/onto#> .
@prefix :        <https://model.nordfreight.example/> .

:NordFreightModel
    a                          arch:Model ;
    skos:prefLabel             "NordFreight Logistics — Architecture Model"@en ;
    arch:modelConformsToMetamodel <https://meta.linked.archi/archimate4/metamodel#ArchiMate4> ;
    dcterms:created            "2025-06-27"^^xsd:date ;
.

Element Patterns

## Motivation
:EUCustomsCompliance a am4:Requirement ; skos:prefLabel "EU Customs Compliance"@en .
:OperationalEfficiency a am4:Goal ; skos:prefLabel "Operational Efficiency"@en .
:ShipperStakeholder a am4:Stakeholder ; skos:prefLabel "Shipper"@en .

## Strategy
:ShipmentTracking a am4:Capability ; skos:prefLabel "Shipment Tracking"@en .
:FreightBooking a am4:Capability ; skos:prefLabel "Freight Booking"@en .
:CustomsClearance a am4:Capability ; skos:prefLabel "Customs Clearance"@en .

## Business (Common Domain behavior + Business Domain structure)
:BookingProcess a am4:Process ; skos:prefLabel "Booking Process"@en .
:TrackingService a am4:Service ; skos:prefLabel "Shipment Tracking Service"@en .
:FreightOperations a am4:Role ; skos:prefLabel "Freight Operations"@en .
:Shipment a am4:Object ; skos:prefLabel "Shipment"@en .

## Application
:TMS a am4:ApplicationComponent ; skos:prefLabel "Transport Management System"@en .
:TrackingPortal a am4:ApplicationComponent ; skos:prefLabel "Tracking Portal"@en .
:CustomsGateway a am4:ApplicationComponent ; skos:prefLabel "Customs Gateway"@en .
:ShipmentData a am4:DataObject ; skos:prefLabel "Shipment Data"@en .

## Technology
:AzureCloud a am4:Node ; skos:prefLabel "Azure North Europe"@en .
:K8sCluster a am4:SystemSoftware ; skos:prefLabel "AKS Kubernetes Cluster"@en .
:IoTGateway a am4:Device ; skos:prefLabel "IoT Tracking Gateway"@en .

## Implementation
:PlatformModernisation a am4:WorkPackage ; skos:prefLabel "Platform Modernisation"@en .
:TargetState a am4:Plateau ; skos:prefLabel "Target Architecture 2027"@en .

Relationship Patterns

## Assignment (active structure performs behavior)
:FreightOperations am4:assignedTo :BookingProcess .

## Realization (capability realized by process)
:BookingProcess am4:realizes :FreightBooking .
:TrackingService am4:realizes :ShipmentTracking .

## Serving (element serves another)
:TMS am4:serves :BookingProcess .
:TrackingPortal am4:serves :TrackingService .
:CustomsGateway am4:serves :CustomsClearance .

## Access (behavior accesses passive structure)
:BookingProcess am4:accesses :Shipment .
:TMS am4:accesses :ShipmentData .

## Composition
:AzureCloud am4:composedOf :K8sCluster .

## Flow
:TMS am4:flowsTo :CustomsGateway .

## Triggering
:BookingProcess am4:triggers :TrackingService .

## Influence (motivation)
:EUCustomsCompliance am4:influences :CustomsGateway .

## Aggregation
:PlatformModernisation am4:aggregates :TargetState .

Layered View

graph TD
    subgraph Motivation["Motivation"]
        SH["Shipper<br/>(Stakeholder)"]
        G(["Operational Efficiency<br/>(Goal)"])
        R["EU Customs Compliance<br/>(Requirement)"]
    end

    subgraph Strategy["Strategy"]
        C1(["Shipment Tracking<br/>(Capability)"])
        C2(["Freight Booking<br/>(Capability)"])
        C3(["Customs Clearance<br/>(Capability)"])
    end

    subgraph Business["Business"]
        BP{{"Booking Process"}}
        TS{{"Tracking Service"}}
        FR["Freight Operations<br/>(Role)"]
        SH2["Shipment<br/>(Object)"]
    end

    subgraph Application["Application"]
        TMS["Transport Mgmt System"]
        TP["Tracking Portal"]
        CG["Customs Gateway"]
    end

    subgraph Technology["Technology"]
        AZ["Azure North Europe<br/>(Node)"]
        K8["AKS Kubernetes<br/>(System Software)"]
        IoT["IoT Gateway<br/>(Device)"]
    end

    SH -->|"influences"| G
    R -->|"influences"| CG
    BP -->|"realizes"| C2
    TS -->|"realizes"| C1
    FR -->|"assigned to"| BP
    TMS -->|"serves"| BP
    TP -->|"serves"| TS
    CG -->|"serves"| C3
    TMS -->|"accesses"| SH2
    AZ -->|"composed of"| K8
    TMS -->|"flows to"| CG

    style Motivation fill:#E8D5F5,stroke:#333,color:#000
    style Strategy fill:#FFE6CC,stroke:#333,color:#000
    style Business fill:#FFFFB3,stroke:#333,color:#000
    style Application fill:#B3D9FF,stroke:#333,color:#000
    style Technology fill:#D4E6B5,stroke:#333,color:#000

Validation

.scripts/validate.sh --shacl nordfreight-model.ttl \
    core/core-shapes.ttl \
    modelingLanguages/archimate/4.0/archimate4-element-shapes.ttl \
    modelingLanguages/archimate/4.0/archimate4-relationship-shapes.ttl

Further Reading