Expert System
What this is
An ExpertSystem is a live system that combines a DataStore with an Engine.
The DataStore holds structured content — accumulated knowledge, state, constraints. The Engine applies operations to that content — inference rules, normalization, derivation — and produces output. Together they constitute a system that reasons: it takes accumulated knowledge and derives conclusions from it.
The term comes from classical AI (1970s–1990s), where an expert system consisted of a knowledge base and an inference engine. This pattern strips the domain-specific connotations and makes it available as a structural concept.
The RelationalMachineRuntime is an ExpertSystem
A RelationalMachineRuntime is an ExpertSystem:
| ExpertSystem component | RelationalMachineRuntime component | Mathematical object |
|---|---|---|
| Knowledge base (DataStore) | DataStore | H_t — fiber Heyting algebra at history t |
| Inference engine (Engine) | Engine | π_t = σ_t ∘ Δ_t — composite nucleus retraction |
| Output / explanation layer | Observation Layer | Γ — global sections functor |
The RelationalMachineRuntime is not merely analogous to an expert system. It IS a formal instantiation of the ExpertSystem pattern — the DataStore + Engine architecture given a precise mathematical substrate.
A RelationsSystem is not an ExpertSystem
A RelationsSystem has no Engine. Agents drive closure through skill invocations, not through a continuously-running Engine. The absence of an Engine is not a gap — it is what makes a System static and a Runtime live. A static ExpertSystem is not an ExpertSystem; it is a System.
What the pattern predicts
Any live, running cognitive system that accumulates knowledge and derives conclusions from it will have both a DataStore and an Engine. A system with a DataStore but no Engine is an archive. A system with an Engine but no DataStore restarts from nothing on every invocation. Finding one without the other in a designed live system indicates either an incomplete architecture or a system that is not actually running.
An ExpertSystem MUST have a DataStore that persists structured content and an Engine that applies operations to that content. It MUST be live — an ExpertSystem whose Engine cannot run is not an ExpertSystem; it is a System.
Open questions
- Whether the ExpertSystem pattern requires the Engine to be autonomous (running without external triggers) or whether event-driven Engines (triggered by steps received at the RelationalMachineInterface) qualify. The RelationalMachineRuntime uses event-driven Engine invocations (Dapr actors invoked by NATS messages), not a continuously polling Engine.