Architecture¶
Consystence is a three-tier system where each tier runs its own Orleans cluster, and two rendering systems — the GUI DSL and the scene graph — compose to deliver real-time operator interfaces.
graph TB
subgraph Cloud["Cloud Tier — Azure"]
CA[Multi-Tenant Orleans Cluster]
FM[Fleet ML & AI Training]
MP[Type Marketplace]
end
subgraph Site["Site Server — On-Prem"]
SO[Single-Tenant Orleans Cluster]
PR[PageRenderer — GUI DSL]
SR[SceneRenderer — Scene Graph]
PG[(PostgreSQL)]
end
subgraph Edge["Edge Tier — Nvidia Orin"]
PLC[PLC Gateway — libplctag]
ML[TensorRT Inference]
BUF[(SQLite Buffer)]
end
CA <-->|"gRPC + SignalR"| SO
SO <-->|"gRPC-over-HTTP/3"| PLC
PR --> HTML[HTML + Tailwind]
SR --> SVG[SVG Fragments]
HTML -->|SignalR| Browser[Operator Browser]
SVG -->|SignalR| Browser The GUI DSL handles page layout — grids, tabs, alarm lists, trend charts — and renders full HTML pages server-side. The scene graph handles process visualisation — pumps, pipes, tanks, valves — and renders SVG fragments. Both are delivered to the browser over SignalR as differential updates. The client is a thin TypeScript shell that patches the DOM.
In this section¶
- Three-Tier Overview — cloud, site server, and edge device responsibilities, connectivity, and the fleet learning model.
- Orleans Grains — the distributed actor runtime, grain key conventions, storage, clustering, and streams.
- GUI DSL — server-rendered HTML component system, the component tree, and how pages are composed.
- Scene Graph — the C# object graph that models physical plant, SVG rendering, data binding, and the state flow from PLC to pixel.
- Real-Time Communication — SignalR hubs, differential updates, and connection lifecycle.