ORE Studio Technical Spaces
Table of Contents
This document is the index of ORE Studio's physical space — the concrete instantiation of the MASD technical space hierarchy across every language ecosystem the product touches. It provides the linkage between MASD's abstract concepts (TS, Part, Facet, Archetype, Profile) and the actual components, directories, templates, and facet_catalogue.org entries that implement them.
A logical entity (a value such as currency) projects simultaneously
into every enabled technical space — C++ domain + repository + Qt,
SQL DDL + trigger, CMake build target — each producing its own
physical artefacts via the facet transformation.
For the meta-model concepts behind this structure (meta-layer, meta-component, PMM, SRPP) see MASD.
Layer and component topology (system dimension)
The physical space has two orthogonal views:
- The TS→Part→Facet→Archetype dimension (codegen structure) — documented in this file and its per-TS companions.
- The Layer→Component dimension (system architecture) — documented in System Model and its sub-docs.
In MASD terms, the layers (foundation / infrastructure / domain /
application) and components (ores.refdata.api, ores.qt.refdata, etc.)
are physical-space instances of the meta-layer and meta-component concepts
from the logical space. The two views are complementary: the system model
shows who owns what; the TS model shows how it is generated.
ORE Studio technical spaces
| Technical Space | Codegen | Facets | Archetypes | Detail |
|---|---|---|---|---|
| C++ | ✓ | 9 | 57 | Domain, generator, repository, messaging, service, Qt, component, model types, table |
| SQL | ✓ | 3 | ~26 | Schema DDL, service users, reference data population |
| CMake | ✓ | 1 | 8 | Component build targets (root, src variants, tests, modeling) |
| Assets | ✓ | 1 | 4 | Qt Designer forms, PlantUML ER diagram, shell service vars |
| Doc | ✓ | 1 | 20 | Agile docs, knowledge docs, skills, recipes, runbooks, entity models |
| Emacs Lisp | — | — | — | ores.lisp, ores.compass — manually authored |
| Python | — | — | — | ores.codegen — the generator itself |
| JavaScript | — | — | — | ores.org-js — agile dashboard |
| XML / FPML | — | — | — | ores.fpml — FPML financial product data |
Physical Metamodel in ORE Studio
The PMM is instantiated by two complementary artefacts:
- facet_catalogue.org — the profile catalogue, mapping every profile name
to the facets it activates and the Mustache templates that belong to each;
read directly by
generator.py(no intermediate JSON). projects/ores.codegen/library/templates/— the archetype catalogue, where each.mustachefile is one archetype within a facet. The directory layout mirrors the TS→Part→Facet hierarchy.
The literate template org files (cpp_domain.org, sql_schema.org, etc.)
are the authored sources from which the .mustache artefacts are tangled.
They document each archetype's SRPP inline, alongside the template code.
The template library overview describes the three-level literate hierarchy
(archetype ← facet doc ← group doc ← overview).
See also
- MASD — the methodology that defines TS, Part, Facet, Archetype.
- Physical Space — the MASD concept this document instantiates.
- Technical Space — the concept behind each row in the table above.
- Facet — the MASD facet concept this document instantiates.
- Variability — the MASD variability concept (features, profiles, VMM).
- Applied MASD — the applied overview, including the full ORE Studio facet catalogue with archetype counts.
- ORE Studio Variability Model — facet_catalogue.org, model types, and profile activation in ORE Studio.
- System Model — the layer/component dimension of the physical model.
- ores.codegen — the code generator that performs the M2T transformations.