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 ores physical-space graph nodes 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:

  1. The TS→Part→Facet→Archetype dimension (codegen structure) — documented in this file and its per-TS companions.
  2. 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

Facet/archetype counts below are read directly off the ores physical-space graph node docs (ores.cpp.org, ores.sql.org, ores.cmake.org, ores.doc.org) — the generated ground truth — not hand-counted; re-derive them the same way if this table ever needs re-verifying.

Technical Space Codegen Facets Archetypes Detail
C++ 15* 58* Component, domain, enum, field-group, generator, 4× NATS, presentation, protocol, Qt, repository, service, service-app
SQL 3 20 Schema DDL, service users, reference data population
CMake 2 7 Component build targets (root/src/tests/modeling), service variant
Doc 4 28 Agile, knowledge, modeling (entity docs), template scaffolds
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

*=ores.cpp.presentation= (2 archetypes) is functionally real — confirmed generating <entity>_history_field_mapper.hpp/cpp — but is not listed in ores.cpp.org's own Facets table, so it is unreachable by the graph traversal that node doc says codegen uses (root → TS → facet → archetype). This is a gap in the generated physical-space graph itself, not just documentation; flagged here rather than silently omitted or silently included in the un-starred total. Needs a fix in ores.cpp.org (or whatever regenerates it) to add the missing row.

Assets is retired as a standalone TS — its former templates were absorbed into ores.cpp.qt, ores.plantuml, and ores.shell; see Other Technical Spaces § "Assets Technical Space (retired)" for where each one now lives. Removed from this table rather than left as a row with stale counts.

Physical Metamodel in ORE Studio

The PMM is instantiated by two complementary artefacts:

  • The ores physical-space graph — each facet node's Archetypes table maps a profile name to the Mustache templates that belong to it; read directly by codegen/core.py (no intermediate JSON; see ORE Studio Variability Model § "The test" for the src/generator.pycodegen/*.py file split).
  • projects/ores.codegen/library/templates/ — the archetype catalogue, where each .mustache file 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 — the ores physical-space graph, 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.

Emacs 29.3 (Org mode 9.6.15)