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 |
 |
Behavior |
| Function |
 |
Behavior |
| Event |
 |
Behavior |
| Service |
 |
Behavior |
| Role |
 |
Active Structure |
| Collaboration |
 |
Active Structure |
| Object |
 |
Passive Structure |
Business Domain
| Element |
Notation |
Aspect |
| Business Actor |
 |
Active Structure |
| Business Interface |
 |
Active Structure |
| Business Object |
 |
Passive Structure |
| Product |
 |
Composite |
Application Domain
| Element |
Notation |
Aspect |
| Application Component |
 |
Active Structure |
| Application Interface |
 |
Active Structure |
| Data Object |
 |
Passive Structure |
Technology Domain
| Element |
Notation |
Aspect |
| Node |
 |
Active Structure |
| Device |
 |
Active Structure |
| System Software |
 |
Active Structure |
| Artifact |
 |
Passive Structure |
| Communication Network |
 |
Active Structure |
Strategy Domain
| Element |
Notation |
Aspect |
| Capability |
 |
Strategy |
| Resource |
 |
Strategy |
| Value Stream |
 |
Strategy |
| Course of Action |
 |
Strategy |
Motivation Domain
| Element |
Notation |
Aspect |
| Stakeholder |
 |
Motivation |
| Driver |
 |
Motivation |
| Goal |
 |
Motivation |
| Principle |
 |
Motivation |
| Requirement |
 |
Motivation |
Implementation & Migration Domain
| Element |
Notation |
Aspect |
| Work Package |
 |
Behavior |
| Deliverable |
 |
Passive Structure |
| 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.
@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