Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Labinetix

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/&lt;package&gt;-&lt;version&gt;-&lt;arch&gt;" --> 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