Modeller
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

BoundaryResponsibilityCurrent reference
ModelStable identities, definitions, references, and typed operationsCanonical model
ContextsCanonical persistence, package identity, imports, and federationContext packages
ParsingCompile source and preserve source provenanceReadable Modelling Language, SAF
ValidationOrdered structural, reference, type, lifecycle, and policy checksSemantic validation
RulesBind and evaluate rules and decision tables with explanationsRules runtime
ProjectionsDerive behavioural, lifecycle, causality, context, structural, and rule viewsDiagram projections
GenerationCreate deterministic proposed artifactsGeneration plans
RenderingRender planned artifacts through bounded adaptersTemplate rendering
OutputPreview or atomically apply manifest-owned changesOutput application
IntegrationsPresent the same contracts through CLI and editor workflowsCLI, 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.

On this page