🚧 Disclaimer: This is still a prototype, in development and not officially registered! 🚧
HUDADE.jl is a free-to-use software library for the Julia programming language with two goals:
- It provides a common model interface (that is heavily motivated by the functional mock-up interface) of four functions - the HUDA-(O)DE - that is capable of describing a width variety of different simulation and machine learning models, technically mixed Hybrid, Universal, Discrete, Algebraic and (Ordinary) Differential Equations.
- It allows to combine multiple HUDA-(O)DEs in a very, very flexible way - much more than just parallel or sequential topologies. Even learning of arbitrary connections (gradient-based optimization) is supported.
HUDADE.jl provides the future foundation of FMI.jl and FMIFlux.jl, because any FMU and neural FMU can be expressed as HUDA-ODE.
HUDADE.jl should not be understood as modeling tool, there is ModelingToolkit.jl and Causal.jl for acausal and causal modeling.
HUDADE.jl provides a model interface definition and inference implementation (solve), together with strategies to (learnable) combine multiple models in an interpretable fashion.
Technically, this could be implemented some day as extension for existing modeling frameworks.
A HUDA-ODE is a common model interface of five functions (four non-trivial), that is capable of describing a width variety of different simulation and machine learning models, technically mixed Hybrid, Universal, Discrete, Algebraic and (Ordinary) Differential Equations. The system of equations is defined as follows:
with system continuous state
For now, the current implementation is restricted to ODEs, so PDEs or DAEs are not supported out of the box. But this is planned for the future.
From a software point of view, this package provides a common interface for differentiable simulation and machine learning models and therefore heavily relies, besides many many others, on the packages DifferentialEquations.jl, SciMLSensitivity.jl and DiffEqCallbacks.jl. HUDADE.jl provides a versatile model interface on top of them.
Tobias Thummerer and Lars Mikelsons. 2024. Learnable & Interpretable Model Combination in Dynamic Systems Modeling. ArXiv (Preprint).