Skip to content

Implement full BaseModelicaLibraryTesting pipeline#2

Merged
AnHeuermann merged 1 commit intomainfrom
testing-pipeline
Feb 24, 2026
Merged

Implement full BaseModelicaLibraryTesting pipeline#2
AnHeuermann merged 1 commit intomainfrom
testing-pipeline

Conversation

@AnHeuermann
Copy link
Copy Markdown
Member

Add a complete four-phase pipeline for testing Modelica libraries via Base Modelica and Julia:

  1. Export – instantiate models to .bmo via OMJulia (src/export.jl)
  2. Parse – create ODEProblem via BaseModelica.jl (src/parse_bm.jl)
  3. Simulate – solve with Rodas5P from DifferentialEquations.jl (src/simulate.jl)
  4. Compare – validate against MAP-LIB reference CSVs with configurable rel/abs tolerances; generate interactive Dygraph diff pages (src/compare.jl)

Top-level main() and test_model() orchestrate the full pipeline and produce an HTML summary report (src/pipeline.jl, src/report.jl).

Also includes:

  • CI workflow: add OpenModelica setup, omc-version matrix, sanity check step against MSL ChuaCircuit, and artifact upload
  • Project.toml: add dependencies (BaseModelica, DifferentialEquations, ModelingToolkit, OMJulia, ZMQ, etc.)
  • assets/: bundle Dygraph JS/CSS and an HTML diff template
  • README: add usage docs and MSL v4.1.0 example
  • .gitignore: exclude generated logs, CSVs, HTMLs, and result directories

Add a complete four-phase pipeline for testing Modelica libraries via
Base Modelica and Julia:

1. Export – instantiate models to .bmo via OMJulia (src/export.jl)
2. Parse  – create ODEProblem via BaseModelica.jl (src/parse_bm.jl)
3. Simulate – solve with Rodas5P from DifferentialEquations.jl (src/simulate.jl)
4. Compare – validate against MAP-LIB reference CSVs with configurable
             rel/abs tolerances; generate interactive Dygraph diff pages (src/compare.jl)

Top-level `main()` and `test_model()` orchestrate the full pipeline and
produce an HTML summary report (src/pipeline.jl, src/report.jl).

Also includes:
- CI workflow: add OpenModelica setup, omc-version matrix, sanity check
  step against MSL ChuaCircuit, and artifact upload
- Project.toml: add dependencies (BaseModelica, DifferentialEquations,
  ModelingToolkit, OMJulia, ZMQ, etc.)
- assets/: bundle Dygraph JS/CSS and an HTML diff template
- README: add usage docs and MSL v4.1.0 example
- .gitignore: exclude generated logs, CSVs, HTMLs, and result directories

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@AnHeuermann AnHeuermann self-assigned this Feb 24, 2026
@AnHeuermann AnHeuermann merged commit de49d10 into main Feb 24, 2026
1 of 2 checks passed
@AnHeuermann AnHeuermann deleted the testing-pipeline branch February 24, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant