Skip to content

ArchiMate 3.1 Support

ArchiSpark implements the core subset of ArchiMate 3.1 as defined by the Open Exchange Format XSDs.

Elements are organized into layers (vertical separation of concerns) and categories (role within a layer).

Represents organizational entities: actors, processes, services and business information.

TypeCategoryRole
BusinessActorActive structureExecutes business behavior via Assignment
BusinessRoleActive structureResponsibility assigned to an actor
BusinessCollaborationActive structureTwo or more actors working together
BusinessInterfaceActive structureAccess point for business services
BusinessProcessBehaviourSequence of activities producing a result
BusinessFunctionBehaviourGrouping of behaviors by competence
BusinessInteractionBehaviourCollaborative process between roles
BusinessEventBehaviourTriggers a process or state change
BusinessServiceBehaviourExternally visible business capability
BusinessObjectPassive structureManipulated by business behavior
ContractPassive structureFormal agreement
RepresentationPassive structurePerceptible form of information
ProductPassive structureCoherent collection of services/objects

Represents software: components, application services and data.

TypeCategoryRole
ApplicationComponentActive structureEncapsulates application behavior
ApplicationCollaborationActive structureCooperating components
ApplicationInterfaceActive structureAccess point to application services
ApplicationProcessBehaviourSequence of application actions
ApplicationFunctionBehaviourAutomated application behavior
ApplicationInteractionBehaviourCollaborative application behavior
ApplicationEventBehaviourApplication state change trigger
ApplicationServiceBehaviourExternally visible application capability
DataObjectPassive structureManipulated by application behavior

Represents infrastructure: servers, networks, system software.

TypeCategoryRole
NodeActive structureComputational or physical resource
DeviceActive structurePhysical computing hardware
SystemSoftwareActive structureSoftware managing hardware (OS, middleware)
TechnologyCollaborationActive structureCooperating nodes
TechnologyInterfaceActive structureAccess point to technology services
PathActive structureCommunication link between nodes
CommunicationNetworkActive structureSet of paths forming a network
TechnologyProcessBehaviourSequence of technology actions
TechnologyFunctionBehaviourAutomated technology behavior
TechnologyInteractionBehaviourCollaborative technology behavior
TechnologyEventBehaviourTechnology state change trigger
TechnologyServiceBehaviourExternally visible technology capability
ArtifactPassive structureData object used by technology behavior

Represents the physical world: equipment, facilities, materials.

TypeCategoryRole
EquipmentActive structurePhysical machine or tool
FacilityActive structureBuilding, site or location
DistributionNetworkActive structurePhysical transport network
MaterialPassive structureTangible physical object

Represents the why of architecture: stakeholders, goals and requirements.

TypeDescription
StakeholderPerson or group with an interest in the architecture
DriverExternal or internal factor motivating change
AssessmentResult of analysis of a driver (SWOT, risk, etc.)
GoalHigh-level desired end state
OutcomeObservable result to be achieved
PrincipleNormative property to guide decisions
RequirementNeed to be met by the architecture
ConstraintRestriction on implementation
MeaningKnowledge assigned to a concept
ValueImportance attributed to an element

Represents how the organization will achieve its goals.

TypeDescription
ResourceAsset (physical, informational or financial) owned or controlled
CapabilityAbility to perform a class of behaviors
CourseOfActionPlan for achieving goals
ValueStreamSequence of activities delivering value to a stakeholder

Represents the transition: projects, deliverables and migration states.

TypeDescription
WorkPackageSeries of actions to achieve a result
DeliverablePrecisely defined result of a work package
ImplementationEventMoment when a transition begins or ends
PlateauRelatively stable state of the architecture
GapDifference between two plateaus

Cross-layer elements that can contain elements from any layer.

TypeDescription
GroupingLogical or arbitrary grouping of elements
LocationPhysical or conceptual location
AndJunctionAll incoming paths must arrive (AND logic)
OrJunctionAt least one incoming path must arrive (OR logic)

Choose the most specific type — use Association only when no other type applies.

TypeDirectionSemantics
Assignmentactive → behavioural (same layer)An active element is assigned to the behavioural element it performs. Ex: BusinessActor → BusinessProcess
Realizationlower layer → upper layerA more concrete element implements a more abstract one. Ex: ApplicationService → BusinessService, TechnologyService → ApplicationService
Servingprovider → consumerAn element provides its capability for use by another. Ex: ApplicationService → BusinessProcess, TechnologyService → ApplicationComponent
Compositionwhole → part (strong)The part cannot exist without the whole. Ex: BusinessProcess → sub-BusinessProcess
Aggregationwhole → part (weak)The part can exist independently. Ex: ApplicationCollaboration → ApplicationComponent
Accessbehavioural → passiveA behavioural element reads or writes a passive element. Always specify access_type. Ex: ApplicationFunction → DataObject (ReadWrite)
Influencesource → targetOne element influences another without structuring it (often in Motivation). Ex: Driver → Goal, Principle → BusinessProcess
Triggeringtrigger → triggeredStrong causality — one behavioural element causes another. Ex: BusinessEvent → BusinessProcess
Flowsource → destinationA flow of information or material between behavioural elements. Ex: BusinessProcess → BusinessProcess (data passing)
Specializationspecialized → generalThe source is a sub-type of the target. Ex: BusinessRole → BusinessRole (SeniorManager is a Manager)
Associationbidirectional or directedGeneric, untyped link. Use as a last resort.
  1. Assignment: active element → behavioural element of the same layer
  2. Vertical realization: Technology realizes Application, Application realizes Business (upward direction)
  3. Cross-layer serving: ApplicationService → BusinessProcess, TechnologyService → ApplicationComponent
  4. Passive elements: accessed via Access only — never assigned or triggered
  5. Prefer specificity: choose Assignment, Realization or Serving before Association

Access

  • access_type: "Access" (read+write), "Read", "Write", "ReadWrite"

Association

  • is_directed: true (arrow) | false (plain line)

Influence

  • influence_strength: "+", "++", "-", "--" or any string

All 28 standard ArchiMate 3.1 viewpoints are supported. A viewpoint defines the audience and the element types expected in a view.

ViewpointAudienceTypical elements
LayeredAll stakeholdersAll layers — cross-cutting overview
OrganizationManagement, HRBusinessActor, BusinessRole, BusinessCollaboration
Business Process CooperationBusiness architectsBusinessProcess, BusinessService, BusinessEvent
ProductProduct managersProduct, BusinessService, BusinessActor
Application StructureApplication architectsApplicationComponent, ApplicationInterface, DataObject
Application UsageApplication architectsApplicationComponent, ApplicationService, BusinessProcess
Application CooperationApplication architectsApplicationComponent, ApplicationService
Application PlatformApplication + tech architectsApplicationComponent, Node, TechnologyService
Information StructureData architectsBusinessObject, DataObject, Artifact
TechnologyInfrastructure architectsNode, Device, SystemSoftware, CommunicationNetwork
Technology UsageInfrastructure architectsApplicationComponent, Node, TechnologyService
Implementation and DeploymentTech architectsApplicationComponent, Node, Artifact
PhysicalPhysical architectsEquipment, Facility, DistributionNetwork
Service RealizationSolution architectsBusinessService, ApplicationService, TechnologyService
MotivationC-level, sponsorsStakeholder, Driver, Goal, Requirement
StakeholderChange managersStakeholder, Driver, Assessment
Goal RealizationArchitects, analystsGoal, Requirement, Principle
Goal ContributionArchitects, analystsGoal, Outcome
PrinciplesArchitectsPrinciple, Requirement
Requirements RealizationAnalystsRequirement, Constraint, WorkPackage
StrategyC-level, strategyCapability, Resource, CourseOfAction
Capability MapC-levelCapability
Outcome RealizationProduct ownersOutcome, Goal, ValueStream
Resource MapResource managersResource, Capability
Value StreamBusiness architectsValueStream, Capability, BusinessService
ProjectProject managersWorkPackage, Deliverable, ImplementationEvent
MigrationChange architectsPlateau, Gap
Implementation and MigrationProgram managersWorkPackage, Plateau, Gap, BusinessProcess

The GET /viewpoints endpoint and the list_viewpoints MCP tool return this list as the single source of truth.


ArchiSpark imports and exports the ArchiMate Open Exchange File format (.xml) defined by The Open Group.

The parser (oxf-parser.ts) and serializer (oxf-serializer.ts) preserve unmodified sections (metadata, organizations, viewpoints) to guarantee a lossless round-trip.

<?xml version="1.0" encoding="UTF-8"?>
<model xmlns="http://www.opengroup.org/xsd/archimate/3.0/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="..."
identifier="id-model-1">
<name xml:lang="en">My model</name>
<elements>
<element identifier="id-1" xsi:type="ApplicationComponent">
<name xml:lang="en">Payment Service</name>
</element>
</elements>
<relationships>
<relationship identifier="id-r1" source="id-1" target="id-2" xsi:type="Realization"/>
</relationships>
<views>
<diagrams>
<view identifier="id-v1" xsi:type="Diagram">
<name xml:lang="en">Application view</name>
<node identifier="id-n1" elementRef="id-1" xsi:type="Element" x="10" y="10" w="120" h="55"/>
</view>
</diagrams>
</views>
</model>

The rendering engine implements standard ArchiMate visual shapes:

CategoryShape
Rectangle (default)Active structures, passive composite structures
Pill / Stadium*Service
Chevron*Event
Hexagon*Function
Right arrow*Process
Two circles*Collaboration
Single circle*Interface
Venn*Interaction
Rectangle + lineDataObject, BusinessObject, Artifact
Dashed rectangleGrouping
Filled/open circleAndJunction, OrJunction

Background colours by layer follow the Archi reference palette:

LayerColour
Business#FFFFB5 (light yellow)
Application#B5FFFF (light cyan)
Technology / Physical#C9E7B7 (light green)
Motivation#CCCCFF (light purple)
Strategy#F5DEAA (beige)
Implementation#FFE0E0 (light pink)