What ThunderGraph Model Is¶
ThunderGraph Model is a Python library for executable systems modeling.
Most architecture tools stop at diagrams. This library is for when you want the model to run:
define structure (
System,Part, ports)define value semantics (parameters, attributes, constraints)
define requirement semantics (
Requirementcomposable packages, requirement acceptance)define behavior (states, events, decisions, sequences, item flow)
evaluate the whole thing with real quantities and get pass/fail evidence
What It Is Not¶
Not a replacement for all MBSE tools.
Not a visual modeling suite.
Not a giant framework that hides execution.
It is intentionally small and explicit: declarations are Python, compile artifacts are inspectable, and evaluation happens through a clear pipeline.
Core Promise¶
A single model can carry:
Architecture (parts and interfaces)
Physics / math (unit-aware expressions)
Requirements (allocation + executable acceptance)
Behavior (discrete transitions and control flow)
Provenance (citations and references)
And you can execute all of that against one configured topology.
Reader Mental Model¶
There are three layers:
Type time: class definitions +
define(cls, model)declarations.Configuration time: instantiate one frozen topology (
ConfiguredModel).Run time: evaluate with a fresh
RunContextper run.
If you keep those three layers separate in your head, the API feels straightforward.
Primary Entry Points¶
Authoring:
tg_model.modeland top-leveltg_modelexportsExecution:
tg_model.executionExternal integration:
tg_model.integrationsMulti-run studies:
tg_model.analysis
Why This Matters¶
Executable models close the gap between “we wrote requirements” and “we can prove this configuration satisfies them.”
The library is designed so engineers can start small and grow model depth incrementally, without throwing away earlier work.