Core Concepts
Architecture concepts
How Modeller preserves domain meaning through explicit module seams.
Architecture concepts
Modeller separates durable domain meaning from source formats, generated code, editors, and external systems. The canonical model is the authority shared by every workflow.
Core boundaries
| Boundary | Responsibility | Current reference |
|---|---|---|
| Model | Stable identities, definitions, references, and typed operations | Canonical model |
| Contexts | Canonical persistence, package identity, imports, and federation | Context packages |
| Parsing | Compile source and preserve source provenance | Readable Modelling Language, SAF |
| Validation | Ordered structural, reference, type, lifecycle, and policy checks | Semantic validation |
| Rules | Bind and evaluate rules and decision tables with explanations | Rules runtime |
| Projections | Derive behavioural, lifecycle, causality, context, structural, and rule views | Diagram projections |
| Generation | Create deterministic proposed artifacts | Generation plans |
| Rendering | Render planned artifacts through bounded adapters | Template rendering |
| Output | Preview or atomically apply manifest-owned changes | Output application |
| Integrations | Present the same contracts through CLI and editor workflows | CLI, editor |
Architectural rules
- Source syntax compiles to the canonical model; it is not another domain model.
- Validation and evaluation are explicit, deterministic operations.
- Diagrams are projections of model meaning, never an independent authority.
- Generation planning is pure; rendering and filesystem effects sit behind adapters.
- Generated files require manifest-proven ownership before Modeller may replace them.
- Integrations orchestrate modules without redefining their semantics.
See Architecture 101 for the full flow and the decision records for design rationale.