Skip to content
samatstarion edited this page Aug 7, 2026 · 2 revisions

Auriga wiki

Background and design documentation for Auriga, the .NET library suite for reading, manipulating and serializing Eclipse Capella™ models. For installation, usage examples and the package overview, see the repository README — this wiki holds the deeper design and validation record behind it.

Project background

  • Project Context — the original design conversation: scope, prior art (py-capellambse, the Capella sources), and the phased plan the project followed

Metamodel & design

  • Metamodel Inventory — the Capella .ecore/.genmodel files, the inter-package dependency graph, and the v1 code-generation scope
  • Sirius Metamodel Inventory — the same inventory for the Sirius/GMF diagramming .ecore files behind the .aird representation model
  • Arcadia Notes — the layer, allocation, realization, and containment conventions the public API must respect
  • ECoreNetto Validation — proof that ECoreNetto loads the full Capella metamodel with fully resolved references
  • Sirius ECoreNetto Validation — the same proof for the Sirius/GMF metamodel

Code generation

  • Codegen Design — how the vendored .ecore files become the committed C# object model: the pipeline, the Handlebars templates, and the naming rules
  • Metamodel Report — building and hosting the browsable metamodel HTML report (Auriga.CodeGenerator, with Docker build scripts)
  • model-inspection.txt — the full ECoreNetto model-inspector report referenced from Codegen Design

Reading & writing models

  • Fragment Loading — how a model split across .capellafragment files is loaded and its cross-fragment hrefs resolved
  • Xmi Writer — serializing the object graph back to Capella-faithful XMI (Auriga.Xmi), fragment layout, and the fidelity model
  • Validation — the round-trip validation harness, per-model results, and exactly how out-of-scope content (other versions, add-on viewpoints, diagrams) is handled

Diagrams

  • Aird — the two parallel trees an .aird carries, how they pair into the intermediate diagram model, and what the rendering does and does not promise

API

  • Query Extensions — the Auriga.Extensions LINQ query set for functions, components, ports, exchanges, and cross-layer allocation/realization
  • Containment List — the non-bypassable Collection<T>-based containment collection and its exclusive-ownership (reject-not-steal) semantics

Clone this wiki locally