Research
Research: the fourth generation
A 3D model shows structure. A 4D model shows change through time. A fourth-generation twin connects observation, state, cause, intervention and predicted futures — and can explain the connection.
Framework
Four generations of digital twins
Each generation answers a harder question about the physical system. Projects are placed by the hardest question they can actually answer, not by how they look.
Digital Model
“What does it look like, and where is everything?”
- Faithful 3D structure from authoritative data
- Facts and physics are known and fixed
- No live state, no time axis
Digital Shadow
“Where is the system right now, given what the sensors see?”
- Observations flow one way into the model
- State is estimated from imperfect measurements, with error bounds
- Monitoring, not intervention
Digital Twin
“What happens if we run it this way?”
- A process simulation runs in step with the system
- Scenarios, dispatch decisions and control loops feed back
- Savings measured against a baseline twin
4D Causal Twin
“What changed, when, why — and how does it propagate into every possible future?”
- Immutable observed history, estimated present, predicted futures with uncertainty
- Counterfactual futures branch from any moment and share one past
- Causality derived from trajectory differences, not scripted
Capability matrix
Which questions can the state machine answer?
Use it as a checklist when evaluating any twin — ours included.
| Capability | Gen 1 · Model | Gen 2 · Shadow | Gen 3 · Twin | Gen 4 · Causal twin |
|---|---|---|---|---|
| 3D structure from authoritative data | ● | ● | ● | ● |
| State estimated from observations | — | ● | ◐ | ● |
| Process simulation in step with the system | — | — | ● | ● |
| Scenarios and control decisions fed back | — | — | ● | ● |
| Savings measured against a baseline twin | — | — | ● | ● |
| Observed history immutable; prediction recomputed from “now” | — | — | — | ● |
| Branching counterfactual futures from any moment | — | — | ◐ | ● |
| Causality derived from the data: what, when, why | — | — | — | ● |
| Uncertainty that widens with the horizon | — | ◐ | — | ● |
● present · ◐ partial · — absent
The twin runtime kernel
The generational jump is a small kernel, not a bigger framework
Studying the plant and factory twins side by side showed that generation 4 needs a small, domain-free runtime: a pure step function over a plain state, driven by a piecewise input schedule, cached as a trajectory whose past is immutable and whose future is recomputable, branched by structural sharing, with causality read off trajectory differences. The midstream twin validated it in a third domain.
KERNEL · ~500 LINES
- Pure stepper ·
S × Inputs × dt → S - Input schedule: piecewise inputs by time; change from day D, keep everything before
- Trajectory: recompute from t, clone with shared history
- Variable registry + divergence detection → events, time-to-effect, explanation chains
- Deterministic RNG + invariant checks: same seed, same future
Reports and data
Every claim, with the data it came from
Reports are generated from the project repositories at build time; each states what was computed and what is illustrative.
4D Midstream Digital Twin
The twin runtime inside Plant and Factory
Fieldwork — visual localization
Factory performance profile
The original open lab, where these experiments started, remains at octopusgames.org.
Have a system you want to see, question or rehearse?
Tell us about the site, the process and the decision. We will come back with what a twin could answer, which data it needs, and how fast a prototype can be in front of your team.