Labinetix
Models, compiler, analysis and estimation for process models: define → analyze → build.
Labinetix turns a model written down once, as data in a hashed store, into taktwerk model
packages (a C library with its header and descriptor; an FMI 3 FMU through taktwerk fmu-wrap), and reads taktwerk run records back. It never runs on a plant: taktwerk does.
flowchart LR
subgraph labinetix["labinetix (host)"]
define["define<br/>models/ store, sync, check"] --> analyze["analyze<br/>simulate, estimate, replay"]
define --> build["build<br/>raw-package per target"]
end
build -- "dist/<package>-<version>-<arch>" --> taktwerk["taktwerk<br/>engine, connectors, devices"]
taktwerk -- "run records" --> analyze
Kernels (crates/kernels/) and packages (crates/packages/, models/*/generated/raw) never
depend on the host crates (crates/studio/); a lint enforces it.
Getting started
cargo build -p labinetix && export PATH="$PWD/target/debug:$PATH"
labinetix define list
labinetix analyze simulate models/chemostat/scenarios/feed-step.toml | cmp - models/chemostat/scenarios/feed-step.prediction.json
labinetix build raw-package host-linux # needs zig and cargo-zigbuild
Documentation
- Getting started: the three stages on the host
- From a model to a released package: one model end to end, and back from a taktwerk record
- Modeling tutorials: your first model, composition and balances, estimation and identifiability
- CLI reference