ores.synthetic.api

Table of Contents

1. Diagram

ores.synthetic.api component diagram

Figure 1: ores.synthetic.api

2. Summary

ores.synthetic.api defines the types and the NATS protocol of the synthetic data component. All nine entities (folder, fx_spot_generation_config, gmm_component, ir_curve_generation_config, ir_curve_generation_config_process_parameter_value, ir_curve_template_entry, market_data_generation_config, yield_curve_process_parameter_definition, yield_curve_process_type) are code-generated from the entity models in modeling/. The facet also carries the feed classes that generate synthetic market data (fx_spot_feed, ir_curve_feed), the feed factory, and the IR curve template resolver.

3. Inputs

  • Entity models: modeling/ores.synthetic.{entity}.org, each bound to a variability profile. Codegen generates the domain types, table and JSON I/O, the per-entity test data generators, the changed-event types, and the NATS protocol headers from them.
  • Hand-written code: the feed classes, the template resolver, and the organisation and catalog generation types from the component's original purpose (generated_organisation.hpp, synthetic_catalog.hpp and kin).

4. Outputs

  • Domain headers for the nine entities, plus the scope and binding_mode enums, with JSON and table I/O.
  • Per-entity data generators used by tests and seeds.
  • NATS protocol headers for entity CRUD and history, feed configuration and control, simulation, and preview requests.
  • Feed classes that produce synthetic FX spot rates and IR curves.

5. Entry points

  • include/ores.synthetic.api/domain/ — entity, enum, and validation headers.
  • include/ores.synthetic.api/messaging/ — NATS protocol message headers.
  • include/ores.synthetic.api/eventing/ — per-entity changed-event types.
  • include/ores.synthetic.api/feeds/ — feed classes and the template resolver.
  • include/ores.synthetic.api/generators/ — per-entity data generators.

6. Dependencies

  • rfl — JSON serialisation via reflection.
  • ores.eventing.api — entity change event types.
  • ores.utility — UUID and timestamp helpers.

7. See also

Emacs 29.3 (Org mode 9.6.15)