@documentation-robotics/cli 0.1.13 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -2
- package/dist/analysis/relationship-classifier.js +2 -9
- package/dist/analysis/relationship-classifier.js.map +2 -2
- package/dist/analyzers/call-graph-utils.js +2 -2
- package/dist/analyzers/call-graph-utils.js.map +2 -2
- package/dist/analyzers/cards/build.js +171 -0
- package/dist/analyzers/cards/build.js.map +7 -0
- package/dist/analyzers/cards/classify.js +42 -0
- package/dist/analyzers/cards/classify.js.map +7 -0
- package/dist/analyzers/cards/edge-index.js +44 -0
- package/dist/analyzers/cards/edge-index.js.map +7 -0
- package/dist/analyzers/cards/facts.js +46 -0
- package/dist/analyzers/cards/facts.js.map +7 -0
- package/dist/analyzers/cards/graph.js +42 -0
- package/dist/analyzers/cards/graph.js.map +7 -0
- package/dist/analyzers/cards/index.js +8 -0
- package/dist/analyzers/cards/index.js.map +7 -0
- package/dist/analyzers/cards/tier0.js +18 -0
- package/dist/analyzers/cards/tier0.js.map +7 -0
- package/dist/analyzers/cards/types.js +1 -0
- package/dist/analyzers/cards/types.js.map +7 -0
- package/dist/analyzers/cbm-analyzer.js +195 -171
- package/dist/analyzers/cbm-analyzer.js.map +2 -2
- package/dist/analyzers/cbm-responses.js +336 -0
- package/dist/analyzers/cbm-responses.js.map +7 -0
- package/dist/analyzers/edge-relationships.js +45 -0
- package/dist/analyzers/edge-relationships.js.map +7 -0
- package/dist/analyzers/mapping-loader.js +9 -0
- package/dist/analyzers/mapping-loader.js.map +2 -2
- package/dist/analyzers/tier0-rules.js +153 -0
- package/dist/analyzers/tier0-rules.js.map +7 -0
- package/dist/analyzers/types.js.map +1 -1
- package/dist/analyzers/verify-engine.js +22 -19
- package/dist/analyzers/verify-engine.js.map +2 -2
- package/dist/audit/relationships/ai/prompts.js +10 -10
- package/dist/audit/relationships/ai/prompts.js.map +2 -2
- package/dist/audit/relationships/analysis/layer-templates.js +52 -52
- package/dist/audit/relationships/analysis/layer-templates.js.map +1 -1
- package/dist/cli.js +112 -28
- package/dist/cli.js.map +3 -3
- package/dist/coding-agents/agents/claude-code.js +3 -1
- package/dist/coding-agents/agents/claude-code.js.map +2 -2
- package/dist/coding-agents/claude-code-client.js +2 -1
- package/dist/coding-agents/claude-code-client.js.map +2 -2
- package/dist/coding-agents/copilot-client.js +17 -12
- package/dist/coding-agents/copilot-client.js.map +2 -2
- package/dist/coding-agents/default-permissions.js +152 -0
- package/dist/coding-agents/default-permissions.js.map +7 -0
- package/dist/coding-agents/drbot-mcp.js +167 -0
- package/dist/coding-agents/drbot-mcp.js.map +7 -0
- package/dist/commands/add.js +12 -7
- package/dist/commands/add.js.map +2 -2
- package/dist/commands/analyzer.js +134 -23
- package/dist/commands/analyzer.js.map +2 -2
- package/dist/commands/audit.js +6 -6
- package/dist/commands/audit.js.map +2 -2
- package/dist/commands/changeset-verify.js +55 -0
- package/dist/commands/changeset-verify.js.map +7 -0
- package/dist/commands/changeset.js +261 -147
- package/dist/commands/changeset.js.map +2 -2
- package/dist/commands/delete.js +52 -19
- package/dist/commands/delete.js.map +3 -3
- package/dist/commands/element.js +3 -2
- package/dist/commands/element.js.map +2 -2
- package/dist/commands/farm.js +773 -0
- package/dist/commands/farm.js.map +7 -0
- package/dist/commands/init.js +11 -1
- package/dist/commands/init.js.map +2 -2
- package/dist/commands/mcp.js +122 -0
- package/dist/commands/mcp.js.map +7 -0
- package/dist/commands/relationship.js +251 -47
- package/dist/commands/relationship.js.map +2 -2
- package/dist/commands/reports.js +1 -1
- package/dist/commands/reports.js.map +2 -2
- package/dist/commands/update.js +56 -24
- package/dist/commands/update.js.map +2 -2
- package/dist/commands/upgrade.js +99 -11
- package/dist/commands/upgrade.js.map +3 -3
- package/dist/commands/validate.js +41 -3
- package/dist/commands/validate.js.map +2 -2
- package/dist/commands/version.js +2 -2
- package/dist/commands/version.js.map +2 -2
- package/dist/commands/visualize.js +4 -3
- package/dist/commands/visualize.js.map +2 -2
- package/dist/config.js +83 -0
- package/dist/config.js.map +7 -0
- package/dist/core/annotation-store.js +138 -0
- package/dist/core/annotation-store.js.map +7 -0
- package/dist/core/catalog-migration.js +33 -0
- package/dist/core/catalog-migration.js.map +7 -0
- package/dist/core/changeset-analysis.js +421 -0
- package/dist/core/changeset-analysis.js.map +7 -0
- package/dist/core/changeset-base-index.js +153 -0
- package/dist/core/changeset-base-index.js.map +7 -0
- package/dist/core/changeset-brief-delta.js +102 -0
- package/dist/core/changeset-brief-delta.js.map +7 -0
- package/dist/core/changeset-graph.js +281 -0
- package/dist/core/changeset-graph.js.map +7 -0
- package/dist/core/changeset-only-guard.js +32 -0
- package/dist/core/changeset-only-guard.js.map +7 -0
- package/dist/core/changeset-summary.js +68 -0
- package/dist/core/changeset-summary.js.map +7 -0
- package/dist/core/changeset-validator.js +66 -20
- package/dist/core/changeset-validator.js.map +2 -2
- package/dist/core/changeset-verify.js +518 -0
- package/dist/core/changeset-verify.js.map +7 -0
- package/dist/core/changeset.js +56 -9
- package/dist/core/changeset.js.map +2 -2
- package/dist/core/element-type-migration.js +145 -0
- package/dist/core/element-type-migration.js.map +7 -0
- package/dist/core/farm-manifest.js +140 -0
- package/dist/core/farm-manifest.js.map +7 -0
- package/dist/core/farm-sync-engine.js +346 -0
- package/dist/core/farm-sync-engine.js.map +7 -0
- package/dist/core/farm-sync-state.js +167 -0
- package/dist/core/farm-sync-state.js.map +7 -0
- package/dist/core/manifest.js +6 -3
- package/dist/core/manifest.js.map +2 -2
- package/dist/core/migration-registry.js +84 -1
- package/dist/core/migration-registry.js.map +2 -2
- package/dist/core/model-upgrade.js +102 -0
- package/dist/core/model-upgrade.js.map +7 -0
- package/dist/core/model.js +257 -44
- package/dist/core/model.js.map +3 -3
- package/dist/core/mutation-handler.js +71 -6
- package/dist/core/mutation-handler.js.map +2 -2
- package/dist/core/relationship-migration-table.js +6639 -0
- package/dist/core/relationship-migration-table.js.map +7 -0
- package/dist/core/relationship-migration.js +272 -0
- package/dist/core/relationship-migration.js.map +7 -0
- package/dist/core/relationship-prune.js +49 -0
- package/dist/core/relationship-prune.js.map +7 -0
- package/dist/core/relationship-staging.js +68 -0
- package/dist/core/relationship-staging.js.map +7 -0
- package/dist/core/relationships.js +26 -4
- package/dist/core/relationships.js.map +2 -2
- package/dist/core/report-data-model.js +7 -13
- package/dist/core/report-data-model.js.map +2 -2
- package/dist/core/staged-changeset-storage.js +64 -17
- package/dist/core/staged-changeset-storage.js.map +2 -2
- package/dist/core/staged-source-reference.js +28 -0
- package/dist/core/staged-source-reference.js.map +7 -0
- package/dist/core/staging-area.js +83 -18
- package/dist/core/staging-area.js.map +2 -2
- package/dist/core/virtual-projection.js +14 -5
- package/dist/core/virtual-projection.js.map +2 -2
- package/dist/export/archimate-exporter.js +1 -0
- package/dist/export/archimate-exporter.js.map +2 -2
- package/dist/generated/compiled-validators.js +2 -2
- package/dist/generated/compiled-validators.js.map +2 -2
- package/dist/generated/layer-registry.js +16 -16
- package/dist/generated/layer-registry.js.map +2 -2
- package/dist/generated/node-types.js +186 -168
- package/dist/generated/node-types.js.map +2 -2
- package/dist/generated/relationship-index.js +2209 -7727
- package/dist/generated/relationship-index.js.map +2 -2
- package/dist/integrations/claude_code/agents/dr-architect.md +16 -3
- package/dist/integrations/claude_code/agents/dr-extractor.md +1 -1
- package/dist/integrations/claude_code/commands/dr-analyzer.md +565 -0
- package/dist/integrations/claude_code/commands/dr-map.md +13 -0
- package/dist/integrations/claude_code/commands/dr-plan.md +40 -0
- package/dist/integrations/claude_code/commands/dr-relate.md +106 -96
- package/dist/integrations/claude_code/commands/dr-verify.md +45 -2
- package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +14 -0
- package/dist/integrations/claude_code/docs/MCP_SERVER.md +79 -0
- package/dist/integrations/claude_code/docs/QUICK_START.md +37 -8
- package/dist/integrations/claude_code/docs/README.md +52 -1
- package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +93 -72
- package/dist/integrations/claude_code/skills/dr_02_business_layer/SKILL.md +163 -126
- package/dist/integrations/claude_code/skills/dr_03_product_layer/SKILL.md +161 -126
- package/dist/integrations/claude_code/skills/dr_04_security_layer/SKILL.md +153 -133
- package/dist/integrations/claude_code/skills/dr_05_application_layer/SKILL.md +129 -100
- package/dist/integrations/claude_code/skills/dr_06_technology_layer/SKILL.md +111 -94
- package/dist/integrations/claude_code/skills/dr_07_api_layer/SKILL.md +143 -157
- package/dist/integrations/claude_code/skills/dr_08_data_model_layer/SKILL.md +117 -33
- package/dist/integrations/claude_code/skills/dr_09_dataset_layer/SKILL.md +74 -25
- package/dist/integrations/claude_code/skills/dr_10_ux_layer/SKILL.md +88 -12
- package/dist/integrations/claude_code/skills/dr_11_navigation_layer/SKILL.md +83 -24
- package/dist/integrations/claude_code/skills/dr_12_apm_layer/SKILL.md +57 -12
- package/dist/integrations/claude_code/skills/dr_13_testing_layer/SKILL.md +92 -15
- package/dist/integrations/claude_code/skills/dr_change_planning/SKILL.md +119 -0
- package/dist/integrations/claude_code/skills/dr_changeset_reviewer/SKILL.md +3 -0
- package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +1 -1
- package/dist/integrations/github_copilot/agents/dr-architect.md +1 -1
- package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +182 -102
- package/dist/integrations/github_copilot/skills/dr_02_business_layer/SKILL.md +266 -148
- package/dist/integrations/github_copilot/skills/dr_03_product_layer/SKILL.md +547 -86
- package/dist/integrations/github_copilot/skills/dr_04_security_layer/SKILL.md +164 -169
- package/dist/integrations/github_copilot/skills/dr_05_application_layer/SKILL.md +420 -150
- package/dist/integrations/github_copilot/skills/dr_06_technology_layer/SKILL.md +331 -138
- package/dist/integrations/github_copilot/skills/dr_07_api_layer/SKILL.md +265 -201
- package/dist/integrations/github_copilot/skills/dr_08_data_model_layer/SKILL.md +181 -58
- package/dist/integrations/github_copilot/skills/dr_09_dataset_layer/SKILL.md +209 -57
- package/dist/integrations/github_copilot/skills/dr_10_ux_layer/SKILL.md +277 -112
- package/dist/integrations/github_copilot/skills/dr_11_navigation_layer/SKILL.md +219 -70
- package/dist/integrations/github_copilot/skills/dr_12_apm_layer/SKILL.md +189 -105
- package/dist/integrations/github_copilot/skills/dr_13_testing_layer/SKILL.md +222 -102
- package/dist/integrations/github_copilot/skills/dr_change_planning/SKILL.md +119 -0
- package/dist/integrations/github_copilot/skills/dr_changeset_reviewer/SKILL.md +3 -0
- package/dist/integrations/hash-utils.js.map +2 -2
- package/dist/mcp/api-key-manager.js +111 -0
- package/dist/mcp/api-key-manager.js.map +7 -0
- package/dist/mcp/changeset-only.js +34 -0
- package/dist/mcp/changeset-only.js.map +7 -0
- package/dist/mcp/http-transport.js +176 -0
- package/dist/mcp/http-transport.js.map +7 -0
- package/dist/mcp/resource-registry.js +97 -0
- package/dist/mcp/resource-registry.js.map +7 -0
- package/dist/mcp/tool-registry.js +60 -0
- package/dist/mcp/tool-registry.js.map +7 -0
- package/dist/mcp/tools/annotation-create.js +39 -0
- package/dist/mcp/tools/annotation-create.js.map +7 -0
- package/dist/mcp/tools/annotation-delete.js +29 -0
- package/dist/mcp/tools/annotation-delete.js.map +7 -0
- package/dist/mcp/tools/annotation-get.js +29 -0
- package/dist/mcp/tools/annotation-get.js.map +7 -0
- package/dist/mcp/tools/annotation-list.js +24 -0
- package/dist/mcp/tools/annotation-list.js.map +7 -0
- package/dist/mcp/tools/annotation-reply.js +34 -0
- package/dist/mcp/tools/annotation-reply.js.map +7 -0
- package/dist/mcp/tools/annotation-shared.js +10 -0
- package/dist/mcp/tools/annotation-shared.js.map +7 -0
- package/dist/mcp/tools/annotation-update.js +39 -0
- package/dist/mcp/tools/annotation-update.js.map +7 -0
- package/dist/mcp/tools/changeset-analysis-tools.js +78 -0
- package/dist/mcp/tools/changeset-analysis-tools.js.map +7 -0
- package/dist/mcp/tools/changeset-editing.js +184 -0
- package/dist/mcp/tools/changeset-editing.js.map +7 -0
- package/dist/mcp/tools/changeset-lifecycle.js +83 -0
- package/dist/mcp/tools/changeset-lifecycle.js.map +7 -0
- package/dist/mcp/tools/changeset-list.js +33 -0
- package/dist/mcp/tools/changeset-list.js.map +7 -0
- package/dist/mcp/tools/changeset-shared.js +31 -0
- package/dist/mcp/tools/changeset-shared.js.map +7 -0
- package/dist/mcp/tools/changeset-show.js +55 -0
- package/dist/mcp/tools/changeset-show.js.map +7 -0
- package/dist/mcp/tools/changeset-verify.js +43 -0
- package/dist/mcp/tools/changeset-verify.js.map +7 -0
- package/dist/mcp/tools/chat-launch.js +50 -0
- package/dist/mcp/tools/chat-launch.js.map +7 -0
- package/dist/mcp/tools/chat-status.js +26 -0
- package/dist/mcp/tools/chat-status.js.map +7 -0
- package/dist/mcp/tools/index.js +65 -0
- package/dist/mcp/tools/index.js.map +7 -0
- package/dist/mcp/tools/model-add.js +107 -0
- package/dist/mcp/tools/model-add.js.map +7 -0
- package/dist/mcp/tools/model-delete.js +99 -0
- package/dist/mcp/tools/model-delete.js.map +7 -0
- package/dist/mcp/tools/model-export.js +72 -0
- package/dist/mcp/tools/model-export.js.map +7 -0
- package/dist/mcp/tools/model-info.js +51 -0
- package/dist/mcp/tools/model-info.js.map +7 -0
- package/dist/mcp/tools/model-list.js +53 -0
- package/dist/mcp/tools/model-list.js.map +7 -0
- package/dist/mcp/tools/model-reload.js +34 -0
- package/dist/mcp/tools/model-reload.js.map +7 -0
- package/dist/mcp/tools/model-search.js +102 -0
- package/dist/mcp/tools/model-search.js.map +7 -0
- package/dist/mcp/tools/model-show.js +68 -0
- package/dist/mcp/tools/model-show.js.map +7 -0
- package/dist/mcp/tools/model-stats.js +22 -0
- package/dist/mcp/tools/model-stats.js.map +7 -0
- package/dist/mcp/tools/model-trace.js +118 -0
- package/dist/mcp/tools/model-trace.js.map +7 -0
- package/dist/mcp/tools/model-update.js +121 -0
- package/dist/mcp/tools/model-update.js.map +7 -0
- package/dist/mcp/tools/model-validate.js +78 -0
- package/dist/mcp/tools/model-validate.js.map +7 -0
- package/dist/mcp/tools/relationship-tools.js +98 -0
- package/dist/mcp/tools/relationship-tools.js.map +7 -0
- package/dist/mcp/tools/shared.js +126 -0
- package/dist/mcp/tools/shared.js.map +7 -0
- package/dist/mcp/tools/spec-type.js +90 -0
- package/dist/mcp/tools/spec-type.js.map +7 -0
- package/dist/reports/model-layer-report-generator.js +5 -3
- package/dist/reports/model-layer-report-generator.js.map +2 -2
- package/dist/reports/model-readme-generator.js +116 -0
- package/dist/reports/model-readme-generator.js.map +7 -0
- package/dist/reports/model-report-data.js +37 -1
- package/dist/reports/model-report-data.js.map +2 -2
- package/dist/reports/model-report-orchestrator.js +29 -6
- package/dist/reports/model-report-orchestrator.js.map +2 -2
- package/dist/reports/model-report-utils.js +9 -0
- package/dist/reports/model-report-utils.js.map +7 -0
- package/dist/schemas/bundled/analyzers/cbm.json +1186 -68
- package/dist/schemas/bundled/analyzers/manifest.json +2 -2
- package/dist/schemas/bundled/api.json +1029 -1658
- package/dist/schemas/bundled/apm.json +499 -734
- package/dist/schemas/bundled/application.json +745 -370
- package/dist/schemas/bundled/base.json +3 -220
- package/dist/schemas/bundled/business.json +452 -366
- package/dist/schemas/bundled/data-model.json +403 -383
- package/dist/schemas/bundled/data-store.json +334 -558
- package/dist/schemas/bundled/manifest.json +18 -18
- package/dist/schemas/bundled/motivation.json +349 -368
- package/dist/schemas/bundled/navigation.json +415 -731
- package/dist/schemas/bundled/product.json +325 -159
- package/dist/schemas/bundled/security.json +864 -1232
- package/dist/schemas/bundled/technology.json +574 -703
- package/dist/schemas/bundled/testing.json +718 -1643
- package/dist/schemas/bundled/ux.json +739 -1352
- package/dist/server/schemas.js +8 -0
- package/dist/server/schemas.js.map +2 -2
- package/dist/server/server.js +234 -31
- package/dist/server/server.js.map +2 -2
- package/dist/server-entry.js +2 -1
- package/dist/server-entry.js.map +2 -2
- package/dist/telemetry/config.js +2 -40
- package/dist/telemetry/config.js.map +2 -2
- package/dist/telemetry/index.js +1 -1
- package/dist/types/index.js.map +2 -2
- package/dist/utils/ansi-suppressor.js +23 -0
- package/dist/utils/ansi-suppressor.js.map +7 -0
- package/dist/utils/attribute-patch.js +41 -0
- package/dist/utils/attribute-patch.js.map +7 -0
- package/dist/utils/color-utils.js +34 -0
- package/dist/utils/color-utils.js.map +7 -0
- package/dist/utils/element-reference-shape.js +15 -1
- package/dist/utils/element-reference-shape.js.map +3 -3
- package/dist/utils/error-hints.js +29 -0
- package/dist/utils/error-hints.js.map +7 -0
- package/dist/utils/errors.js +75 -10
- package/dist/utils/errors.js.map +2 -2
- package/dist/utils/globals.js +17 -1
- package/dist/utils/globals.js.map +2 -2
- package/dist/utils/project-paths.js +50 -3
- package/dist/utils/project-paths.js.map +2 -2
- package/dist/utils/reference-path-parser.js +49 -0
- package/dist/utils/reference-path-parser.js.map +7 -0
- package/dist/utils/source-reference.js +17 -10
- package/dist/utils/source-reference.js.map +2 -2
- package/dist/utils/spec-version.js +10 -2
- package/dist/utils/spec-version.js.map +2 -2
- package/dist/validators/composed-reference-validator.js +240 -0
- package/dist/validators/composed-reference-validator.js.map +7 -0
- package/dist/validators/reference-validator.js +57 -13
- package/dist/validators/reference-validator.js.map +3 -3
- package/dist/validators/relationship-schema-validator.js +33 -5
- package/dist/validators/relationship-schema-validator.js.map +3 -3
- package/dist/validators/schema-validator.js +27 -9
- package/dist/validators/schema-validator.js.map +2 -2
- package/dist/validators/types.js.map +1 -1
- package/dist/viewer/README.md +6 -6
- package/dist/viewer/assets/main-CxzcuU_o.js +84 -0
- package/dist/viewer/assets/main-j-7ULYpm.css +1 -0
- package/dist/viewer/index.html +2 -2
- package/dist/viewer/manifest.json +10 -10
- package/dist/viewer/version.json +1 -1
- package/package.json +7 -3
- package/dist/viewer/assets/main-B7AOQXXX.js +0 -81
- package/dist/viewer/assets/main-vdrFrG7q.css +0 -1
|
@@ -12,13 +12,13 @@ triggers:
|
|
|
12
12
|
"business layer",
|
|
13
13
|
"archimate business"
|
|
14
14
|
]
|
|
15
|
-
version: 0.8.
|
|
15
|
+
version: 0.8.3
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
# Business Layer Skill
|
|
19
19
|
|
|
20
20
|
**Layer Number:** 02
|
|
21
|
-
**Specification:** Metadata Model Spec v0.8.
|
|
21
|
+
**Specification:** Metadata Model Spec v0.8.3
|
|
22
22
|
**Purpose:** Represents business services, processes, actors, and objects that define the organization's operational structure and capabilities.
|
|
23
23
|
|
|
24
24
|
---
|
|
@@ -41,104 +41,202 @@ This layer uses **ArchiMate 3.2 Business Layer** standard without custom extensi
|
|
|
41
41
|
> **CLI Introspection:** Run `dr schema types business` for the authoritative, always-current list of node types.
|
|
42
42
|
> Run `dr schema node <type-id>` for full attribute details on any type.
|
|
43
43
|
|
|
44
|
-
| Entity Type | Description
|
|
45
|
-
| ------------------------- |
|
|
46
|
-
| **BusinessActor** | Organizational entity capable of performing behavior
|
|
47
|
-
| **BusinessRole** | Responsibility for performing specific behavior
|
|
48
|
-
| **BusinessCollaboration** | Aggregate of business roles working together
|
|
49
|
-
| **BusinessInterface** | Point of access where business service is available
|
|
50
|
-
| **BusinessProcess** | Sequence of business behaviors achieving a result
|
|
51
|
-
| **BusinessFunction** | Collection of business behavior based on criteria
|
|
52
|
-
| **BusinessInteraction** | Unit of collective behavior by collaboration
|
|
53
|
-
| **BusinessEvent** | Something that happens and influences behavior
|
|
54
|
-
| **BusinessService** | Service that fulfills a business need
|
|
55
|
-
| **BusinessObject** | Concept used within business domain
|
|
56
|
-
| **Contract** | Formal specification of agreement
|
|
57
|
-
| **Representation** | Perceptible form of business object
|
|
58
|
-
| **Product** | Coherent collection of services with a value
|
|
44
|
+
| Entity Type | Description | Key Attributes |
|
|
45
|
+
| ------------------------- | ------------------------------------------------------ | --------------------------------------------------------------------------- |
|
|
46
|
+
| **BusinessActor** | Organizational entity capable of performing behavior | Examples: Customer, Employee, Partner, Supplier |
|
|
47
|
+
| **BusinessRole** | Responsibility for performing specific behavior | Examples: Sales Representative, Account Manager, System Administrator |
|
|
48
|
+
| **BusinessCollaboration** | Aggregate of business roles working together | Examples: Sales Team, Customer Service Department, Project Team |
|
|
49
|
+
| **BusinessInterface** | Point of access where business service is available | Examples: Customer Portal, Phone Support, Email Support |
|
|
50
|
+
| **BusinessProcess** | Sequence of business behaviors achieving a result | Can include BPMN references, security controls, KPI targets |
|
|
51
|
+
| **BusinessFunction** | Collection of business behavior based on criteria | Examples: Marketing, Sales, Customer Service, Finance |
|
|
52
|
+
| **BusinessInteraction** | Unit of collective behavior by collaboration | Examples: Sales Meeting, Contract Negotiation, Customer Onboarding |
|
|
53
|
+
| **BusinessEvent** | Something that happens and influences behavior | Types: time-driven, state-change, external |
|
|
54
|
+
| **BusinessService** | Service that fulfills a business need | Includes SLA properties, motivation links, APM monitoring |
|
|
55
|
+
| **BusinessObject** | Concept used within business domain | Examples: Order, Invoice, Customer, Opportunity, Support Ticket |
|
|
56
|
+
| **Contract** | Formal specification of agreement | Examples: SLA, Terms of Service, Purchase Agreement |
|
|
57
|
+
| **Representation** | Perceptible form of business object | Required `format`: pdf, html, xml, json, plain-text, binary |
|
|
58
|
+
| **Product** | Coherent collection of services with a value | Aggregates services and contracts, delivers value to customers |
|
|
59
|
+
| **BusinessCapability** | An ability the organization has (ArchiMate Capability) | Examples: Share data with partners, Settle claims; not a SoftwareCapability |
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Type Decision Tree
|
|
64
|
+
|
|
65
|
+
Use this decision tree **before assigning a type** to any observed business concept.
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
IS this an individual person, organization, or system that acts in the business domain?
|
|
69
|
+
→ BusinessActor (e.g., Customer, Supplier, Partner)
|
|
70
|
+
|
|
71
|
+
IS this a named responsibility or hat worn by an actor?
|
|
72
|
+
→ BusinessRole (e.g., Sales Representative, Account Manager)
|
|
73
|
+
|
|
74
|
+
IS this a group of roles working together toward a shared goal?
|
|
75
|
+
→ BusinessCollaboration (e.g., Sales Team, Project Team)
|
|
76
|
+
|
|
77
|
+
IS this a channel or contact point where a business service is accessed?
|
|
78
|
+
→ BusinessInterface (e.g., Customer Portal, Phone Support Line)
|
|
79
|
+
|
|
80
|
+
IS this a structured sequence of steps that produces a business outcome?
|
|
81
|
+
→ BusinessProcess (e.g., Order Fulfillment, Loan Approval)
|
|
82
|
+
|
|
83
|
+
IS this a grouping of related business behaviors (department-level capability)?
|
|
84
|
+
→ BusinessFunction (e.g., Marketing, Finance, Customer Support)
|
|
85
|
+
|
|
86
|
+
IS this a joint behavior performed by two or more roles together?
|
|
87
|
+
→ BusinessInteraction (e.g., Contract Negotiation, Sales Meeting)
|
|
88
|
+
|
|
89
|
+
IS this something that happens and triggers a response in the business?
|
|
90
|
+
→ BusinessEvent (e.g., Order Received, Payment Confirmed)
|
|
91
|
+
|
|
92
|
+
IS this an externally visible capability the business offers to stakeholders?
|
|
93
|
+
→ BusinessService (e.g., Order Management Service, Payment Service)
|
|
94
|
+
|
|
95
|
+
IS this a key domain concept or data entity used in business language?
|
|
96
|
+
→ BusinessObject (e.g., Order, Invoice, Customer)
|
|
97
|
+
|
|
98
|
+
IS this a formal agreement with binding terms between parties?
|
|
99
|
+
→ Contract (e.g., SLA, Purchase Agreement, Terms of Service)
|
|
100
|
+
|
|
101
|
+
IS this a concrete form in which a business object is communicated?
|
|
102
|
+
→ Representation (e.g., Invoice PDF, Order Confirmation Email)
|
|
103
|
+
|
|
104
|
+
IS this a coherent bundle of services with a value proposition for customers?
|
|
105
|
+
→ Product (e.g., E-commerce Platform, Premium Support Package)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Common Misclassifications
|
|
111
|
+
|
|
112
|
+
| Misclassification | Correct Classification | Why |
|
|
113
|
+
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
114
|
+
| A department or team as `BusinessService` | `BusinessFunction` (department) or `BusinessCollaboration` (team) | Services are externally visible capabilities; departments are behavioral groupings |
|
|
115
|
+
| A REST endpoint or UI as `BusinessInterface` | `BusinessInterface` is correct — but link it to the `ApplicationInterface` in the application layer | Business interfaces are the business-facing access point, not the technical one |
|
|
116
|
+
| A business rule or policy as `BusinessProcess` | `BusinessProcess` only for sequences of steps; rules belong in Motivation layer as `Principle` or `Constraint` | Processes produce outcomes through behavior; rules govern behavior |
|
|
117
|
+
| A domain entity (Order, Invoice) as `BusinessProcess` | `BusinessObject` | Objects are concepts; processes are sequences of behavior |
|
|
118
|
+
| A job title (Sales Rep) as `BusinessActor` | `BusinessRole` | Roles are responsibilities; actors are the people/orgs that fill them |
|
|
119
|
+
| An SLA document as `BusinessService` | `Contract` | An SLA is a formal agreement, not the service itself |
|
|
120
|
+
| A product feature as `BusinessFunction` | `Product` if it bundles services with customer value; `BusinessService` if it's a single capability | Products aggregate services; functions are internal behavioral groupings |
|
|
121
|
+
| A software ability ("Save to file") as `BusinessCapability` | `product.softwarecapability` | It is what the software can do; it realizes the business function it carries out, which realizes the business capability |
|
|
59
122
|
|
|
60
123
|
---
|
|
61
124
|
|
|
62
125
|
## Intra-Layer Relationships
|
|
63
126
|
|
|
127
|
+
The business layer's modelling rules (from `spec/layers/02-business.layer.json`):
|
|
128
|
+
|
|
129
|
+
- Actors fill roles. Roles and collaborations are `assigned-to` the processes, functions and interactions they perform; behaviour is never assigned to an actor directly.
|
|
130
|
+
- Internal behaviour `realizes` business services. Interfaces offer services (`assigned-to`), and services `serve` actors, roles and processes.
|
|
131
|
+
- Only behaviour `accesses` business objects and contracts. Actors, roles and interfaces reach information through the behaviour assigned to them.
|
|
132
|
+
- Events `trigger` processes and interactions, and behaviour raises events (`triggers`). A hand-off between behaviours is `flows-to`. A function has no start, so it is reached by `flows-to`, never triggered.
|
|
133
|
+
- A business capability is an ability the organization has: business functions and processes `realize` it, capabilities `aggregate` narrower capabilities, and software capabilities (product layer) contribute by realizing the business functions behind it.
|
|
134
|
+
|
|
64
135
|
### Structural Relationships
|
|
65
136
|
|
|
66
|
-
| Source Type | Predicate
|
|
67
|
-
| --------------------- |
|
|
68
|
-
| Product |
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
|
|
|
73
|
-
|
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
|
|
|
77
|
-
|
|
|
78
|
-
|
|
|
79
|
-
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
137
|
+
| Source Type | Predicate | Target Type | Example |
|
|
138
|
+
| --------------------- | ---------- | ------------------ | ---------------------------------------------------------- |
|
|
139
|
+
| Product | aggregates | BusinessService | "Premium Membership" aggregates "Free Shipping Service" |
|
|
140
|
+
| Product | composes | Contract | "Premium Membership" composes "Membership Terms" |
|
|
141
|
+
| BusinessFunction | composes | BusinessFunction | "Sales" composes "Lead Management" |
|
|
142
|
+
| BusinessRole | composes | BusinessRole | "Store Manager" composes "Cashier Supervisor" |
|
|
143
|
+
| BusinessObject | composes | BusinessObject | "Order" composes "Order Line" |
|
|
144
|
+
| BusinessCollaboration | aggregates | BusinessRole | "Sales Team" aggregates "Sales Representative" |
|
|
145
|
+
| Representation | realizes | BusinessObject | "Invoice PDF" realizes "Invoice" |
|
|
146
|
+
| Representation | realizes | Contract | "Signed MSA Document" realizes "Master Services Agreement" |
|
|
147
|
+
| Contract | governs | BusinessService | "Premium SLA" governs "Support Service" |
|
|
148
|
+
| BusinessCapability | aggregates | BusinessCapability | "Customer Management" aggregates "Customer Onboarding" |
|
|
149
|
+
| BusinessFunction | realizes | BusinessCapability | "Data Exchange" realizes "Share Data with Partners" |
|
|
150
|
+
| BusinessProcess | realizes | BusinessCapability | "Claim Settlement" realizes "Settle Claims" |
|
|
151
|
+
|
|
152
|
+
### Assignment Relationships (who performs what)
|
|
153
|
+
|
|
154
|
+
| Source Type | Predicate | Target Type | Example |
|
|
155
|
+
| --------------------- | ----------- | ------------------- | -------------------------------------------------------- |
|
|
156
|
+
| BusinessActor | assigned-to | BusinessRole | "Jane Smith" assigned to "Account Manager" |
|
|
157
|
+
| BusinessRole | assigned-to | BusinessProcess | "Order Processor" assigned to "Order Fulfillment" |
|
|
158
|
+
| BusinessRole | assigned-to | BusinessFunction | "Support Agent" assigned to "Customer Support" |
|
|
159
|
+
| BusinessRole | assigned-to | BusinessInteraction | "Account Manager" assigned to "Contract Negotiation" |
|
|
160
|
+
| BusinessCollaboration | assigned-to | BusinessInteraction | "Sales Team" assigned to "Sales Meeting" |
|
|
161
|
+
| BusinessInterface | assigned-to | BusinessService | "Customer Portal" assigned to "Order Management Service" |
|
|
162
|
+
|
|
163
|
+
### Service Relationships
|
|
164
|
+
|
|
165
|
+
| Source Type | Predicate | Target Type | Example |
|
|
166
|
+
| ------------------- | --------- | --------------- | ------------------------------------------------------- |
|
|
167
|
+
| BusinessProcess | realizes | BusinessService | "Order Fulfillment" realizes "Order Management Service" |
|
|
168
|
+
| BusinessFunction | realizes | BusinessService | "Customer Support" realizes "Support Service" |
|
|
169
|
+
| BusinessInteraction | realizes | BusinessService | "Contract Negotiation" realizes "Contracting Service" |
|
|
170
|
+
| BusinessService | serves | BusinessActor | "Order Management Service" serves "Customer" |
|
|
171
|
+
| BusinessService | serves | BusinessRole | "Sales Reporting Service" serves "Regional Manager" |
|
|
172
|
+
| BusinessService | serves | BusinessProcess | "Credit Check Service" serves "Loan Approval" |
|
|
173
|
+
| BusinessInterface | serves | BusinessActor | "Mobile App" serves "Customer" |
|
|
174
|
+
| BusinessInterface | serves | BusinessRole | "Admin Console" serves "Administrator" |
|
|
175
|
+
| BusinessService | delivers | BusinessObject | "Policy Issuance Service" delivers "Insurance Policy" |
|
|
87
176
|
|
|
88
177
|
### Behavioral Relationships
|
|
89
178
|
|
|
90
|
-
| Source Type | Predicate
|
|
91
|
-
| ------------------- |
|
|
92
|
-
| BusinessEvent | triggers
|
|
93
|
-
| BusinessEvent | triggers
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
| BusinessInteraction | triggers
|
|
97
|
-
| BusinessProcess | flows-to
|
|
98
|
-
|
|
|
99
|
-
|
|
|
100
|
-
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
179
|
+
| Source Type | Predicate | Target Type | Example |
|
|
180
|
+
| ------------------- | --------- | ------------------- | ----------------------------------------------------- |
|
|
181
|
+
| BusinessEvent | triggers | BusinessProcess | "Order Received" triggers "Order Fulfillment" |
|
|
182
|
+
| BusinessEvent | triggers | BusinessInteraction | "Customer Complaint" triggers "Issue Resolution Call" |
|
|
183
|
+
| BusinessProcess | triggers | BusinessEvent | "Order Shipping" triggers "Order Shipped" |
|
|
184
|
+
| BusinessFunction | triggers | BusinessEvent | "Financial Close" triggers "Month Closed" |
|
|
185
|
+
| BusinessInteraction | triggers | BusinessEvent | "Contract Negotiation" triggers "Deal Agreed" |
|
|
186
|
+
| BusinessProcess | flows-to | BusinessProcess | "Pick Items" flows to "Pack Order" |
|
|
187
|
+
| BusinessProcess | flows-to | BusinessFunction | "Order Fulfillment" flows to "Invoicing" |
|
|
188
|
+
| BusinessFunction | flows-to | BusinessProcess | "Underwriting" flows to "Policy Issuance" |
|
|
189
|
+
| BusinessInteraction | flows-to | BusinessProcess | "Sales Meeting" flows to "Proposal Generation" |
|
|
190
|
+
|
|
191
|
+
### Information Access Relationships
|
|
192
|
+
|
|
193
|
+
| Source Type | Predicate | Target Type | Example |
|
|
194
|
+
| ------------------- | --------- | -------------- | ------------------------------------------------------ |
|
|
195
|
+
| BusinessProcess | accesses | BusinessObject | "Order Fulfillment" accesses "Order" |
|
|
196
|
+
| BusinessFunction | accesses | BusinessObject | "Billing" accesses "Invoice" |
|
|
197
|
+
| BusinessInteraction | accesses | BusinessObject | "Contract Review" accesses "Quote" |
|
|
198
|
+
| BusinessProcess | accesses | Contract | "Renewal Processing" accesses "Subscription Agreement" |
|
|
199
|
+
| BusinessFunction | accesses | Contract | "Contract Management" accesses "Supplier Agreement" |
|
|
200
|
+
| BusinessService | accesses | Contract | "Support Service" accesses "Premium SLA" |
|
|
109
201
|
|
|
110
202
|
---
|
|
111
203
|
|
|
112
204
|
## Cross-Layer References
|
|
113
205
|
|
|
114
|
-
### Outgoing References (Business →
|
|
115
|
-
|
|
116
|
-
|
|
|
117
|
-
|
|
|
118
|
-
|
|
|
119
|
-
|
|
|
120
|
-
|
|
|
121
|
-
|
|
|
122
|
-
|
|
|
123
|
-
|
|
|
124
|
-
|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
206
|
+
### Outgoing References (Business → Other Layers)
|
|
207
|
+
|
|
208
|
+
| Source Type | Predicate | Target Type | Example |
|
|
209
|
+
| ------------------ | -------------- | --------------------------- | -------------------------------------------------------------- |
|
|
210
|
+
| BusinessService | realizes | `motivation.goal` | "Order Management Service" realizes "Improve Order Efficiency" |
|
|
211
|
+
| BusinessCapability | supports | `motivation.goal` | "Settle Claims" supports "Pay Claims Within a Day" |
|
|
212
|
+
| BusinessCapability | realizes | `motivation.outcome` | "Onboard Customers" realizes "Onboarding Time Halved" |
|
|
213
|
+
| BusinessService | realizes | `motivation.outcome` | "Same-Day Delivery" realizes "Delivery Complaints Halved" |
|
|
214
|
+
| BusinessService | delivers | `motivation.value` | "Order Management Service" delivers "Customer Convenience" |
|
|
215
|
+
| BusinessService | satisfies | `motivation.requirement` | "Support Service" satisfies "24/7 Support Availability" |
|
|
216
|
+
| BusinessProcess | realizes | `motivation.outcome` | "Automated Refunds" realizes "Refund Time Under 48h" |
|
|
217
|
+
| BusinessProcess | satisfies | `motivation.requirement` | "KYC Verification" satisfies "Verify Customer Identity" |
|
|
218
|
+
| BusinessActor | references | `motivation.stakeholder` | "Customer" actor references "Retail Customers" stakeholder |
|
|
219
|
+
| BusinessRole | references | `motivation.stakeholder` | "Compliance Officer" references "Regulators" |
|
|
220
|
+
| BusinessObject | references | `application.dataobject` | "Order" references the "OrderRecord" data object |
|
|
221
|
+
| BusinessProcess | constrained-by | `security.separationofduty` | "Payment Approval" constrained by "Maker-Checker Rule" |
|
|
222
|
+
|
|
223
|
+
### Incoming References (Other Layers → Business)
|
|
224
|
+
|
|
225
|
+
| Source Type | Predicate | Target Type | Example |
|
|
226
|
+
| --------------------------------- | ---------- | ---------------- | -------------------------------------------------------- |
|
|
227
|
+
| `application.applicationservice` | realizes | BusinessService | "OrderService API" realizes "Order Management Service" |
|
|
228
|
+
| `application.applicationprocess` | realizes | BusinessProcess | "Checkout Saga" realizes "Order Fulfillment" |
|
|
229
|
+
| `application.applicationfunction` | realizes | BusinessFunction | "Invoice Generator" realizes "Billing" |
|
|
230
|
+
| `application.applicationevent` | triggers | BusinessProcess | "PaymentSucceeded" event triggers "Order Fulfillment" |
|
|
231
|
+
| `application.applicationservice` | accesses | BusinessObject | "OrderService API" accesses "Order" |
|
|
232
|
+
| `product.softwarecapability` | realizes | BusinessFunction | "Save Documents to Files" realizes "Share Data" |
|
|
233
|
+
| `product.userworkflow` | realizes | BusinessProcess | "Checkout Journey" realizes "Order Fulfillment" |
|
|
234
|
+
| `data-model.objectschema` | realizes | BusinessObject | "Order" schema realizes "Order" business object |
|
|
235
|
+
| `data-store.collection` | realizes | BusinessObject | "orders" table realizes "Order" |
|
|
236
|
+
| `security.role` | references | BusinessRole | "admin" security role references "Administrator" |
|
|
237
|
+
| `security.securitypolicy` | governs | BusinessService | "Payment Security Policy" governs "Payment Service" |
|
|
238
|
+
| `apm.metricinstrument` | monitors | BusinessProcess | "orders.fulfilled" metric monitors "Order Fulfillment" |
|
|
239
|
+
| `testing.testcoveragetarget` | covers | BusinessProcess | "Fulfillment Workflow" target covers "Order Fulfillment" |
|
|
142
240
|
|
|
143
241
|
---
|
|
144
242
|
|
|
@@ -254,6 +352,31 @@ services:
|
|
|
254
352
|
|
|
255
353
|
---
|
|
256
354
|
|
|
355
|
+
## Coverage Completeness Checklist
|
|
356
|
+
|
|
357
|
+
Before declaring business layer extraction complete, verify ALL 13 entity types have been considered:
|
|
358
|
+
|
|
359
|
+
```
|
|
360
|
+
□ BusinessActor — people, orgs, or systems that act (Customer, Supplier, Partner)
|
|
361
|
+
□ BusinessRole — named responsibilities assigned to actors (Sales Rep, Admin)
|
|
362
|
+
□ BusinessCollaboration — groups of roles working together (Sales Team, Support Dept)
|
|
363
|
+
□ BusinessInterface — access points where services are available (Portal, API, Phone)
|
|
364
|
+
□ BusinessProcess — step sequences producing a business outcome (Order Fulfillment)
|
|
365
|
+
□ BusinessFunction — department-level behavioral capability (Marketing, Finance)
|
|
366
|
+
□ BusinessInteraction — collective behavior by a collaboration (Contract Negotiation)
|
|
367
|
+
□ BusinessEvent — triggers: time-driven, state-change, external (Order Received)
|
|
368
|
+
□ BusinessService — externally visible capability (Order Management, Payment)
|
|
369
|
+
□ BusinessObject — key domain concepts (Order, Invoice, Customer, Opportunity)
|
|
370
|
+
□ Contract — formal agreements: SLA, Terms of Service, Purchase Agreement
|
|
371
|
+
□ Representation — concrete forms of objects (format: pdf, html, xml, json, plain-text, binary)
|
|
372
|
+
□ Product — bundles of services with customer value proposition
|
|
373
|
+
|
|
374
|
+
If any type has ZERO elements, explicitly decide:
|
|
375
|
+
"This type doesn't apply to this codebase" with reasoning.
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
257
380
|
## Modeling Workflow
|
|
258
381
|
|
|
259
382
|
### Step 1: Identify Business Actors and Roles
|
|
@@ -263,7 +386,7 @@ services:
|
|
|
263
386
|
dr add business actor "Customer" \
|
|
264
387
|
--description "End user purchasing products"
|
|
265
388
|
|
|
266
|
-
dr add business
|
|
389
|
+
dr add business collaboration "Sales Team" \
|
|
267
390
|
--description "Internal sales organization"
|
|
268
391
|
|
|
269
392
|
# Add business roles
|
|
@@ -279,12 +402,11 @@ dr add business role "Account Manager" \
|
|
|
279
402
|
```bash
|
|
280
403
|
# Core business service
|
|
281
404
|
dr add business service "Order Management Service" \
|
|
282
|
-
--properties sla-availability=99.9%,sla-response-time=500ms \
|
|
283
405
|
--description "Manages customer order lifecycle"
|
|
284
406
|
|
|
285
407
|
# Link to motivation layer
|
|
286
|
-
dr relationship add
|
|
287
|
-
|
|
408
|
+
dr relationship add business.businessservice.order-management-service \
|
|
409
|
+
motivation.goal.improve-order-efficiency --predicate realizes
|
|
288
410
|
```
|
|
289
411
|
|
|
290
412
|
### Step 3: Model Business Processes
|
|
@@ -292,7 +414,6 @@ dr relationship add "business/service/order-management" \
|
|
|
292
414
|
```bash
|
|
293
415
|
# Main process
|
|
294
416
|
dr add business process "Order Fulfillment Process" \
|
|
295
|
-
--properties bpmn-file=processes/order-fulfillment.bpmn \
|
|
296
417
|
--description "End-to-end order fulfillment from creation to delivery"
|
|
297
418
|
|
|
298
419
|
# Sub-processes
|
|
@@ -302,16 +423,14 @@ dr add business process "Pick Items Process" \
|
|
|
302
423
|
dr add business process "Pack Order Process" \
|
|
303
424
|
--description "Pack picked items for shipment"
|
|
304
425
|
|
|
305
|
-
#
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
dr relationship add "business/process/order-fulfillment" \
|
|
310
|
-
composes "business/process/pack-order"
|
|
426
|
+
# The catalog has no process-to-process composition; link sub-processes
|
|
427
|
+
# in sequence with flows-to, and tie the main process to the service it realizes
|
|
428
|
+
dr relationship add business.businessprocess.order-fulfillment-process \
|
|
429
|
+
business.businessservice.order-management-service --predicate realizes
|
|
311
430
|
|
|
312
431
|
# Process flows
|
|
313
|
-
dr relationship add
|
|
314
|
-
|
|
432
|
+
dr relationship add business.businessprocess.pick-items-process \
|
|
433
|
+
business.businessprocess.pack-order-process --predicate flows-to
|
|
315
434
|
```
|
|
316
435
|
|
|
317
436
|
### Step 4: Define Business Objects
|
|
@@ -328,8 +447,8 @@ dr add business object "Product" \
|
|
|
328
447
|
--description "Item available for purchase"
|
|
329
448
|
|
|
330
449
|
# Process access to objects
|
|
331
|
-
dr relationship add
|
|
332
|
-
|
|
450
|
+
dr relationship add business.businessprocess.order-fulfillment-process \
|
|
451
|
+
business.businessobject.order --predicate accesses
|
|
333
452
|
```
|
|
334
453
|
|
|
335
454
|
### Step 5: Model Business Events
|
|
@@ -337,39 +456,37 @@ dr relationship add "business/process/order-fulfillment" \
|
|
|
337
456
|
```bash
|
|
338
457
|
# Events that trigger processes
|
|
339
458
|
dr add business event "Order Received" \
|
|
340
|
-
--properties type=state-change,topic=orders.received \
|
|
341
459
|
--description "New order submitted by customer"
|
|
342
460
|
|
|
343
461
|
dr add business event "Payment Confirmed" \
|
|
344
|
-
--properties type=state-change,topic=payments.confirmed \
|
|
345
462
|
--description "Payment successfully processed"
|
|
346
463
|
|
|
347
464
|
# Event triggering
|
|
348
|
-
dr relationship add
|
|
349
|
-
|
|
465
|
+
dr relationship add business.businessevent.order-received \
|
|
466
|
+
business.businessprocess.order-fulfillment-process --predicate triggers
|
|
350
467
|
```
|
|
351
468
|
|
|
352
469
|
### Step 6: Establish Cross-Layer Relationships
|
|
353
470
|
|
|
354
471
|
```bash
|
|
355
|
-
#
|
|
356
|
-
dr relationship add
|
|
357
|
-
|
|
472
|
+
# Application service realizes the business service (source is the realizer)
|
|
473
|
+
dr relationship add application.applicationservice.order-api \
|
|
474
|
+
business.businessservice.order-management-service --predicate realizes
|
|
358
475
|
|
|
359
476
|
# Link to motivation layer
|
|
360
|
-
dr relationship add
|
|
361
|
-
|
|
477
|
+
dr relationship add business.businessservice.order-management-service \
|
|
478
|
+
motivation.value.customer-satisfaction --predicate delivers
|
|
362
479
|
|
|
363
|
-
#
|
|
364
|
-
dr relationship add
|
|
365
|
-
|
|
480
|
+
# Data-model schema realizes the business object
|
|
481
|
+
dr relationship add data-model.objectschema.order \
|
|
482
|
+
business.businessobject.order --predicate realizes
|
|
366
483
|
```
|
|
367
484
|
|
|
368
485
|
### Step 7: Validate
|
|
369
486
|
|
|
370
487
|
```bash
|
|
371
|
-
dr validate --
|
|
372
|
-
dr validate --
|
|
488
|
+
dr validate --layers business
|
|
489
|
+
dr validate --relationships
|
|
373
490
|
```
|
|
374
491
|
|
|
375
492
|
---
|
|
@@ -380,38 +497,38 @@ dr validate --validate-relationships
|
|
|
380
497
|
|
|
381
498
|
```
|
|
382
499
|
Product: "E-commerce Platform"
|
|
383
|
-
├──
|
|
500
|
+
├── aggregates → BusinessService: "Order Service"
|
|
384
501
|
│ ├── realizes ← BusinessProcess: "Order Fulfillment"
|
|
385
502
|
│ │ ├── triggers ← BusinessEvent: "Order Received"
|
|
386
503
|
│ │ ├── accesses → BusinessObject: "Order"
|
|
387
|
-
│ │ └── assigned-to
|
|
388
|
-
│ └──
|
|
389
|
-
├──
|
|
504
|
+
│ │ └── assigned-to ← BusinessRole: "Order Processor"
|
|
505
|
+
│ └── realizes ← ApplicationService: "OrderManagementAPI"
|
|
506
|
+
├── aggregates → BusinessService: "Payment Service"
|
|
390
507
|
│ └── realizes ← BusinessProcess: "Payment Processing"
|
|
391
|
-
└──
|
|
508
|
+
└── composes → Contract: "E-commerce SLA"
|
|
392
509
|
```
|
|
393
510
|
|
|
394
511
|
### Scenario 2: Customer Support System
|
|
395
512
|
|
|
396
513
|
```
|
|
397
514
|
BusinessFunction: "Customer Support"
|
|
398
|
-
├──
|
|
515
|
+
├── flows-to → BusinessProcess: "Ticket Resolution"
|
|
399
516
|
│ ├── triggers ← BusinessEvent: "Support Request Received"
|
|
400
|
-
│ ├── assigned-to
|
|
517
|
+
│ ├── assigned-to ← BusinessRole: "Support Agent"
|
|
401
518
|
│ ├── accesses → BusinessObject: "Support Ticket"
|
|
402
519
|
│ └── flows-to → BusinessProcess: "Follow-up Communication"
|
|
403
520
|
├── realizes → BusinessService: "Support Service"
|
|
404
521
|
│ ├── serves → BusinessActor: "Customer"
|
|
405
522
|
│ └── properties: sla-response-time=2h, sla-resolution-time=24h
|
|
406
|
-
└──
|
|
523
|
+
└── monitors ← apm.MetricInstrument: "First Response Time"
|
|
407
524
|
```
|
|
408
525
|
|
|
409
526
|
### Scenario 3: Sales Pipeline
|
|
410
527
|
|
|
411
528
|
```
|
|
412
529
|
BusinessCollaboration: "Sales Team"
|
|
413
|
-
├──
|
|
414
|
-
├──
|
|
530
|
+
├── aggregates → BusinessRole: "Sales Representative"
|
|
531
|
+
├── aggregates → BusinessRole: "Sales Manager"
|
|
415
532
|
└── assigned-to → BusinessInteraction: "Sales Meeting"
|
|
416
533
|
├── accesses → BusinessObject: "Opportunity"
|
|
417
534
|
├── flows-to → BusinessProcess: "Proposal Generation"
|
|
@@ -426,7 +543,6 @@ When business processes reference BPMN diagrams:
|
|
|
426
543
|
|
|
427
544
|
```bash
|
|
428
545
|
dr add business process "Loan Approval Process" \
|
|
429
|
-
--properties bpmn-file=processes/loan-approval.bpmn,bpmn-version=2.0 \
|
|
430
546
|
--description "End-to-end loan application review and approval"
|
|
431
547
|
```
|
|
432
548
|
|
|
@@ -466,7 +582,7 @@ These SLAs flow down to:
|
|
|
466
582
|
## ArchiMate Export
|
|
467
583
|
|
|
468
584
|
```bash
|
|
469
|
-
dr export archimate --
|
|
585
|
+
dr export archimate --layers business --output business.archimate
|
|
470
586
|
```
|
|
471
587
|
|
|
472
588
|
**Supported ArchiMate Elements:**
|
|
@@ -479,7 +595,7 @@ dr export archimate --layer business --output business.archimate
|
|
|
479
595
|
## Best Practices
|
|
480
596
|
|
|
481
597
|
1. **Start with Services, Not Processes** - Identify WHAT the business provides before HOW it's delivered
|
|
482
|
-
2. **
|
|
598
|
+
2. **Decompose Processes** - Break complex processes into sub-processes linked in sequence with `flows-to`
|
|
483
599
|
3. **Model Events Explicitly** - Event-driven architectures need explicit BusinessEvent entities
|
|
484
600
|
4. **Link to Motivation Early** - Connect services and processes to goals for traceability
|
|
485
601
|
5. **Don't Over-Detail** - Focus on architecturally significant processes, not every task
|
|
@@ -492,14 +608,14 @@ dr export archimate --layer business --output business.archimate
|
|
|
492
608
|
|
|
493
609
|
## Validation Tips
|
|
494
610
|
|
|
495
|
-
| Issue | Cause | Fix
|
|
496
|
-
| ---------------------------- | -------------------------------------------- |
|
|
497
|
-
| Orphaned Process | No event triggers it, no service realizes it | Add triggering event or link to service
|
|
498
|
-
| Unrealized Service | No process/function realizes the service | Add process that implements the service
|
|
499
|
-
| Missing Business Objects | Processes don't access any objects | Identify key domain concepts and add them
|
|
500
|
-
| No Cross-Layer Relationships | Business not linked to application/data | Add
|
|
501
|
-
| Unassigned Roles | Roles not assigned to processes | Assign roles to show responsibility
|
|
502
|
-
| Missing SLA Properties | Services lack performance targets | Add SLA properties for monitoring
|
|
611
|
+
| Issue | Cause | Fix |
|
|
612
|
+
| ---------------------------- | -------------------------------------------- | ------------------------------------------- |
|
|
613
|
+
| Orphaned Process | No event triggers it, no service realizes it | Add triggering event or link to service |
|
|
614
|
+
| Unrealized Service | No process/function realizes the service | Add process that implements the service |
|
|
615
|
+
| Missing Business Objects | Processes don't access any objects | Identify key domain concepts and add them |
|
|
616
|
+
| No Cross-Layer Relationships | Business not linked to application/data | Add realizes from application/data elements |
|
|
617
|
+
| Unassigned Roles | Roles not assigned to processes | Assign roles to show responsibility |
|
|
618
|
+
| Missing SLA Properties | Services lack performance targets | Add SLA properties for monitoring |
|
|
503
619
|
|
|
504
620
|
---
|
|
505
621
|
|
|
@@ -510,10 +626,10 @@ dr export archimate --layer business --output business.archimate
|
|
|
510
626
|
```bash
|
|
511
627
|
dr add business actor <name>
|
|
512
628
|
dr add business role <name>
|
|
513
|
-
dr add business service <name> --
|
|
514
|
-
dr add business process <name> --
|
|
629
|
+
dr add business service <name> --description <description>
|
|
630
|
+
dr add business process <name> --description <description>
|
|
515
631
|
dr add business object <name>
|
|
516
|
-
dr add business event <name> --
|
|
632
|
+
dr add business event <name> --description <description>
|
|
517
633
|
dr add business function <name>
|
|
518
634
|
dr add business collaboration <name>
|
|
519
635
|
```
|
|
@@ -521,19 +637,21 @@ dr add business collaboration <name>
|
|
|
521
637
|
**Relationship Commands:**
|
|
522
638
|
|
|
523
639
|
```bash
|
|
524
|
-
dr relationship add <source>
|
|
525
|
-
dr relationship add <source>
|
|
526
|
-
dr relationship add <source> assigned-to
|
|
527
|
-
dr relationship add <source>
|
|
528
|
-
dr relationship add <source> flows-to
|
|
529
|
-
dr relationship add <source>
|
|
530
|
-
dr relationship add <source>
|
|
640
|
+
dr relationship add <source> <target> --predicate realizes
|
|
641
|
+
dr relationship add <source> <target> --predicate composes
|
|
642
|
+
dr relationship add <source> <target> --predicate assigned-to
|
|
643
|
+
dr relationship add <source> <target> --predicate triggers
|
|
644
|
+
dr relationship add <source> <target> --predicate flows-to
|
|
645
|
+
dr relationship add <source> <target> --predicate accesses
|
|
646
|
+
dr relationship add <source> <target> --predicate serves
|
|
647
|
+
dr relationship add <source> <target> --predicate aggregates
|
|
531
648
|
```
|
|
532
649
|
|
|
533
650
|
**Cross-Layer Relationship Commands:**
|
|
534
651
|
|
|
535
652
|
```bash
|
|
536
|
-
dr relationship add <business-service>
|
|
537
|
-
dr relationship add <business-service>
|
|
538
|
-
dr relationship add <
|
|
653
|
+
dr relationship add <business-service> <motivation-goal> --predicate realizes
|
|
654
|
+
dr relationship add <business-service> <motivation-value> --predicate delivers
|
|
655
|
+
dr relationship add <application-service> <business-service> --predicate realizes
|
|
656
|
+
dr relationship add <data-model-objectschema> <business-object> --predicate realizes
|
|
539
657
|
```
|