Core Conceptsī
Note
âšī¸ Basic Usage â Understand the fundamental building blocks of ArchiMate models.
The Three ArchiMate Layersī
ArchiMate is organized around three layers of architecture, each serving different stakeholders:
- Business Layer
Business processes and organization. Focus: Processes, roles, functions, interactions.
- Application Layer
Software systems and services. Focus: Applications, components, services.
- Technology Layer
Infrastructure and platforms. Focus: Infrastructure, devices, networks.
Elementsī
An Element is a building block in your ArchiMate model. Each element has:
A name identifying it uniquely
An element type (see
pyArchimate.ArchiType)Optional properties for metadata
Optional visual styling (colors, line styles)
PyArchimate defines all ArchiMate element types via the pyArchimate.ArchiType enum. For example:
ArchiType.BusinessProcessâ a business-level processArchiType.ApplicationServiceâ an application-level serviceArchiType.TechnologyServiceâ a technology-level service
Note
In pyArchimate, you access element types via ArchiType.<name> (e.g., ArchiType.BusinessRole). All standard ArchiMate elements are supported. The library also provides a shim module pyArchimate.pyArchimate that re-exports common elements for convenience.
Relationshipsī
A Relationship connects two elements, expressing how they interact or relate. Each relationship has:
A source element
A target element
A relationship type (see
pyArchimate.RelationType)Optional properties (e.g., documentation)
Common relationship types include:
ServesBySource serves the target.
AssignedToSource is assigned to target.
UsedBySource is used by target.
TriggerBySource is triggered by target.
InfluencesSource influences the target (with optional strength: AND, OR, XOR).
ComposedOfSource is composed of the target (parent-child hierarchy).
RealisedBySource is realised by target.
AggregatedBySource is aggregated by target.
For a complete list and validation rules, see pyArchimate.check_valid_relationship().
Views and Diagramsī
A View is a selective representation of your model, showing a subset of elements and relationships. Each view has:
A name and optional documentation
A set of nodes (visual representations of elements)
A set of connections (visual representations of relationships)
Views allow you to focus on specific aspects of your architecture without overwhelming readers with the full model.
Viewpointsī
A Viewpoint is a standard perspective for a specific stakeholder group. ArchiMate defines 13 standard viewpoints, each with a specific purpose:
Business Process ViewpointShows business processes and how they relate. Audience: process stakeholders.
Business Function ViewpointDisplays business functions and their responsibilities. Audience: business analysts.
Business Interaction ViewpointRepresents interactions between business actors. Audience: cross-organization stakeholders.
Application Structure ViewpointShows application components and their relationships. Audience: application architects.
Application Usage ViewpointDisplays how applications are used by business processes. Audience: application stakeholders.
Technology Structure ViewpointShows infrastructure components and their relationships. Audience: infrastructure architects.
Technology Usage ViewpointDisplays how technology supports applications. Audience: technology stakeholders.
Business Process Realization ViewpointMaps business processes to applications and technology. Audience: enterprise architects.
Business Function Realization ViewpointMaps business functions to applications. Audience: architects.
Service Realization ViewpointShows how services are realized by applications and infrastructure. Audience: service architects.
Implementation and Deployment ViewpointShows implementation and deployment details. Audience: project managers, deployment engineers.
Motivation ViewpointDisplays business drivers, goals, and requirements. Audience: business strategists.
Migration and Implementation ViewpointShows migration paths and transformation details. Audience: transformation leads.
Each element type is valid in certain viewpoints. Viewpoints help organize and validate your model. For the full API reference and usage examples, see Viewpoints API.
Properties and Metadataī
Both elements and relationships support properties â key-value pairs that store metadata beyond the standard attributes. Properties allow you to:
Attach domain-specific information
Track custom attributes (e.g., owner, cost, risk level)
Preserve round-trip metadata during import/export
Set and retrieve properties using the element or relationship API:
# Set a property
element.set_property("owner", "John Doe")
element.set_property("cost", "100000")
# Get a property
owner = element.get_property("owner")
Hierarchiesī
Elements can be organized into parent-child hierarchies using composite relationships. This allows you to:
Group related elements
Represent sub-processes or sub-services
Limit nesting depth (ArchiMate typically restricts to 5 levels)
For details on creating and querying hierarchies, see Element Hierarchies.
Visual Stylingī
You can customize how elements appear in diagrams by setting:
Fill color (hex or named)
Line color (hex or named)
Line width (stroke thickness)
Transparency (alpha value)
Models can also define a model-wide theme (default visual style). For examples, see Visual Styling.
Junction Typesī
Junctions are special elements used to represent logical operations (AND, OR, XOR) in ArchiMate models. Use them to show how multiple influences combine.
For details and examples, see Junction Types.