| name | archimate |
| description | Create ArchiMate enterprise architecture diagrams using PlantUML stdlib macros. Best for TOGAF viewpoints, layered EA modeling (Business/Application/Technology), motivation analysis, and migration planning. |
| metadata | {"author":"ArchiMate diagrams are powered by Markdown Viewer — the best multi-platform Markdown extension (Chrome/Edge/Firefox/VS Code) with diagrams, formulas, and one-click Word export. Learn more at https://docu.md"} |
Enterprise Architecture Diagram Generator (ArchiMate)
Quick Start: Add !include <archimate/Archimate> → Declare typed elements → Connect with Rel_* macros → Group into layers with rectangle → Wrap in ```plantuml fence.
⚠️ IMPORTANT: Always use ```plantuml or ```puml code fence. NEVER use ```text — it will NOT render as a diagram.
Critical Rules
- Every diagram starts with
@startuml and ends with @enduml
- Must include
!include <archimate/Archimate> before using any macros
- Element syntax:
Layer_Type(alias, "Label")
- Relationship syntax:
Rel_Type(fromAlias, toAlias, "label")
- Use
rectangle "Layer" { ... } to group elements into ArchiMate layers
- Directional suffixes
_Up, _Down, _Left, _Right control relationship direction
Element Macros
Business Layer
| Macro | ArchiMate Element |
|---|
Business_Actor(id, "Label") | Business Actor |
Business_Role(id, "Label") | Business Role |
Business_Process(id, "Label") | Business Process |
Business_Function(id, "Label") | Business Function |
Business_Service(id, "Label") | Business Service |
Business_Event(id, "Label") | Business Event |
Business_Interface(id, "Label") | Business Interface |
Business_Collaboration(id, "Label") | Business Collaboration |
Business_Object(id, "Label") | Business Object |
Business_Product(id, "Label") | Business Product |
Business_Contract(id, "Label") | Business Contract |
Business_Representation(id, "Label") | Business Representation |
Application Layer
| Macro | ArchiMate Element |
|---|
Application_Component(id, "Label") | Application Component |
Application_Service(id, "Label") | Application Service |
Application_Function(id, "Label") | Application Function |
Application_Interface(id, "Label") | Application Interface |
Application_Process(id, "Label") | Application Process |
Application_Interaction(id, "Label") | Application Interaction |
Application_Event(id, "Label") | Application Event |
Application_Collaboration(id, "Label") | Application Collaboration |
Application_DataObject(id, "Label") | Application Data Object |
Technology Layer
| Macro | ArchiMate Element |
|---|
Technology_Device(id, "Label") | Technology Device |
Technology_Node(id, "Label") | Technology Node |
Technology_SystemSoftware(id, "Label") | System Software |
Technology_Artifact(id, "Label") | Technology Artifact |
Technology_CommunicationNetwork(id, "Label") | Communication Network |
Technology_Path(id, "Label") | Technology Path |
Technology_Service(id, "Label") | Technology Service |
Technology_Process(id, "Label") | Technology Process |
Technology_Function(id, "Label") | Technology Function |
Technology_Interface(id, "Label") | Technology Interface |
Motivation Layer
| Macro | ArchiMate Element |
|---|
Motivation_Stakeholder(id, "Label") | Stakeholder |
Motivation_Driver(id, "Label") | Driver |
Motivation_Assessment(id, "Label") | Assessment |
Motivation_Goal(id, "Label") | Goal |
Motivation_Outcome(id, "Label") | Outcome |
Motivation_Principle(id, "Label") | Principle |
Motivation_Requirement(id, "Label") | Requirement |
Motivation_Constraint(id, "Label") | Constraint |
Motivation_Value(id, "Label") | Value |
Strategy Layer
| Macro | ArchiMate Element |
|---|
Strategy_Capability(id, "Label") | Capability |
Strategy_Resource(id, "Label") | Resource |
Strategy_CourseOfAction(id, "Label") | Course of Action |
Strategy_ValueStream(id, "Label") | Value Stream |
Implementation Layer
| Macro | ArchiMate Element |
|---|
Implementation_WorkPackage(id, "Label") | Work Package |
Implementation_Deliverable(id, "Label") | Deliverable |
Implementation_Plateau(id, "Label") | Plateau |
Implementation_Gap(id, "Label") | Gap |
Implementation_Event(id, "Label") | Implementation Event |
Relationship Macros
All relationships support directional suffixes: _Up, _Down, _Left, _Right.
| Macro | ArchiMate Relationship | Line Style |
|---|
Rel_Composition(from, to, "label") | Composition | Solid + filled diamond |
Rel_Aggregation(from, to, "label") | Aggregation | Solid + open diamond |
Rel_Assignment(from, to, "label") | Assignment | Solid + circle→triangle |
Rel_Realization(from, to, "label") | Realization | Dotted + hollow triangle |
Rel_Serving(from, to, "label") | Serving | Solid + arrow |
Rel_Triggering(from, to, "label") | Triggering | Solid + filled triangle |
Rel_Flow(from, to, "label") | Flow | Dashed + filled triangle |
Rel_Access(from, to, "label") | Access | Dotted line |
Rel_Access_r(from, to, "label") | Access (read) | Dotted + arrow |
Rel_Access_w(from, to, "label") | Access (write) | Dotted + reverse arrow |
Rel_Influence(from, to, "label") | Influence | Dashed + arrow |
Rel_Association(from, to, "label") | Association | Solid line |
Rel_Specialization(from, to, "label") | Specialization | Solid + hollow triangle |
Quick Example
@startuml
!include <archimate/Archimate>
rectangle "Business" {
Business_Actor(customer, "Customer")
Business_Process(order, "Order Process")
Business_Service(orderSvc, "Order Service")
}
rectangle "Application" {
Application_Component(orderApp, "Order System")
Application_Service(orderAPI, "Order API")
}
rectangle "Technology" {
Technology_Node(server, "App Server")
Technology_Device(db, "Database Server")
}
Rel_Triggering(customer, order, "places order")
Rel_Realization(order, orderSvc, "realizes")
Rel_Serving(orderAPI, orderSvc, "serves")
Rel_Realization(orderApp, orderAPI, "realizes")
Rel_Assignment(server, orderApp, "runs on")
Rel_Serving(db, server, "stores data")
@enduml
Diagram Types
Capability Upgrade
Mode Selection
- Quick: 根据用户描述生成单视角 ArchiMate 图。
- Standard: 选择业务、应用、技术、动机或迁移视角,并输出可渲染 PlantUML。
- Deep: 结合项目架构、业务能力、系统清单、数据流和迁移计划,形成多视角架构图包。
Viewpoint Decision Logic
先判断用户要解释什么:业务能力、应用集成、技术部署、动机目标、安全控制还是迁移路线。不同问题不能混在一张图里;复杂架构应拆成多个 viewpoint。
Quality Gates
Deliverable Catalog
| Deliverable | When to use | Minimum content | Format |
|---|
| ArchiMate viewpoint diagram | 单一架构视角 | 视角目标、元素、关系、PlantUML 和说明 | PlantUML / Markdown |
| Enterprise architecture pack | 多层架构说明 | 业务、应用、技术、动机、迁移视角和关系 | Markdown / PPT |
| Capability map | 业务能力建模 | 能力、层级、owner、支撑应用和目标关联 | PlantUML / PPT |
| Application integration view | 系统集成说明 | 应用、接口、数据对象、协议和依赖关系 | PlantUML |
| Migration roadmap view | 架构演进 | 当前/目标 plateau、work package、里程碑和依赖 | PlantUML / PPT |
| Diagram QA checklist | 发布前检查 | 语义、关系、层级、命名、密度和可读性 | Checklist |