Topology Genesis
Overview
The Topology Genesis service (also known as CIMEX service) is responsible for ingesting and managing circuit model data within the OpenDSO platform. This service performs the critical function of converting Common Information Model (CIM) XML files into OpenDSO's internal data model format called CIMEX (CIM-Expanded).
When a CIM XML file is uploaded to the system, Topology Genesis performs a comprehensive circuit traversal and validation process that transforms the raw CIM data into an electrically connected node structure. This "as-designed" model represents the circuit topology as specified in the original engineering design, showing all equipment, their properties, and their electrical connections.
The resulting CIMEX data model is then made available through the API endpoints documented below, allowing other OpenDSO services and applications to access:
- Region data: High-level information about electrical regions and their contained circuits
- Device topology: Detailed equipment models including transformers, switches, lines, DER devices, and loads
- Equipment properties: Technical specifications such as ratings, capacities, and operational parameters
- Topological relationships: How equipment is electrically connected within the circuit
Topology Genesis supports both CIM16 and CIM100 formats and publishes update notifications to the NATS message bus whenever a CIM file completes parsing, enabling real-time synchronization across the OpenDSO platform.
For more information on CIM ingestion, see the Circuit Ingestion documentation.
API commands
| Commands | Type | Response Object | Description |
|---|---|---|---|
| Request | |||
| opendso.backoffice.cimex.request.regions | Request | Array(Region) | Retrieves all regions |
opendso.backoffice.cimex.request.region.REGION_ID | Request | CIMEX | Retrieves a specific region, topology |
opendso.backoffice.cimex.request.device.DEVICE_ID | Request | CIMEX | Retrieves a specific device, topology |
opendso.backoffice.gms.request.region.REGION_ID | Request | GMS | Retrieves a specific region, delivered in gms dtos |
| Subscribe | |||
| opendso.backoffice.cimex.update.region | Subscribe | Published to nats when a cim file finishes parsing |