GUI for bifurcation analysis (BifurcationTool)

Dear all,

I just come across the very cool BifurcationTool which is a GUI windows desktop application for bifurcation analysis of biochemical / ODE models. The bifurcation code behind is based on BifurcationKit.jl.

There are probably ideas about interfacing julia with other languages to be looked at.

Best regards

PS: the author has been contacted

A GUI “Windows desktop application” right (likely because of Delphi), so I can’t use it (but neither di I need to use this tool; or want to use proprietary Delphi). Maybe this helps for others that want to:

EDIT: I didn’t know of FireMonkey, but the X in FMX apparently stands for cross-platform (so Linux might be easily supported, just not yet any build option for?):

It’s not clear this code was written with AI (at least it’s not credited, and this one author, the Pascal/Delphi code may be been preexisting for a long time until the first git commit). Though I see it has a CLAUDE.md file:

A Delphi FMX desktop app for bifurcation analysis of biochemical/ODE models. ..

Build

Delphi 13 = RAD Studio / BDS 37.0 (C:\Program Files (x86)\Embarcadero\Studio\37.0\). Source rsvars.bat before msbuild, ..

  • The running app locks the exe; always stop it before building.

Deployment (Windows zip, no installer)

See DEPLOYMENT.md (developer: what to ship + prune list + pre-release checklist) and README.md (end-user: juliaup install + one-time Pkg.instantiate()). Key facts:

  • Ship the exe + a pruned julia\ (drop .rsm/.dcu/old exes, the .dylib/.so in RoadRunner\src, and the build scripts; keep bifsys.dll ~414 MB, the tomls, BifWorkerCore\, RoadRunner\). libjulia.dll is NOT bundled — the user installs Julia.
  • Version lock: bifsys.dll is a sysimage baked against one exact Julia version (Manifest.toml julia_version, currently 1.12.6). A mismatched Julia can abort the process.

I was intrigued to see 28% of the source code in Pascal, meaning Delphi here. It’s the first such project I see, at least on larger side. Delphi is quite old, but not completely dead yet. One possibility if Linux (or macOS) not yet as well supported, convert to other GUI toolkit, maybe with AI and EvoX Genesis?