A visual toolkit for modeling systems as flows of energy, material, and information across boundaries. Built on the systems science framework of George Mobus.
Web: Open bert.systems in any modern browser.
Desktop: Grab the latest build from Releases (macOS, Windows, Linux).
From source:
git clone https://github.com/halcyonic-systems/bert.git && cd bert
npm install && cargo tauri devModel systems visually. Drag subsystems and interfaces from the palette, connect them with typed flows, and navigate the hierarchy by double-clicking into any subsystem.
Generate models from natural language. Describe a system in plain English and BERT compiles it into a validated model through a deterministic pipeline. Also available as a CLI:
cargo run -p bert-tauri --bin bert-generate < spec.json > model.jsonValidate models at load time. Four validation layers check structural integrity, reference consistency, required fields, and processor boundary tracing. Warnings let you continue; errors block loading with clear suggestions.
Query models as typed graphs. The TypeDB transpiler projects any BERT model into a queryable database for cross-model structural comparison.
Simulate system dynamics. The Mesa bridge converts BERT models into Python agent-based simulations (active development).
BERT models are structured around the Mobus 8-tuple: a system is defined by its components, boundary, interfaces, flows, sources, sinks, internal processes, and history. Every model is a JSON file that conforms to the System Language spec.
For the formal schema, see the Schema Reference.
| Layer | Stack |
|---|---|
| Rendering | Bevy (ECS) |
| UI | Leptos (reactive Rust) |
| Desktop | Tauri |
| Web | WASM (same codebase) |
| Persistence | JSON files, TypeDB projection |
| Generation | Rust deterministic compiler, Ollama extraction |
| Resource | What it covers |
|---|---|
| User Guide | Getting started, tutorials |
| Schema Reference | JSON format, validation layers, ID conventions |
| System Language Spec | Formal system modeling language |
| TypeDB Schema | Graph projection and query patterns |
| Build Guide | Development setup, WASM builds |
| Contributing | How to contribute |
MIT
