The rest of the dynamic modelling ecosystem such as DifferentialEquations.jl and DynamicalSystems.jl incorporates the dynamic rule (or equations of motion or stepping functions) into the central type such as ODEProblem or DynamicalSystem. Agents.jl does not do this.
We should do this though. This has several benefits:
It makes a thematic connection to the rest of the modelling ecosystem, hence lowering the learning curve
It will allow us to have more flexibility when attempting to solve #841 etc.
It will allow us to implement #760 , as there it is clear that the current setup of sequentially activating agents once per step is simply not suitable
This is a breaking change, however, we may be able to do this change without breaking anything, and simply deprecating stuff. However, lots of care and testing should be done for this.
Crucially, this should be done before 6.0. Crucially, we should check for performance regressions when doing this.
The rest of the dynamic modelling ecosystem such as DifferentialEquations.jl and DynamicalSystems.jl incorporates the dynamic rule (or equations of motion or stepping functions) into the central type such as
ODEProblem
orDynamicalSystem
. Agents.jl does not do this.We should do this though. This has several benefits:
This is a breaking change, however, we may be able to do this change without breaking anything, and simply deprecating stuff. However, lots of care and testing should be done for this.
Crucially, this should be done before 6.0. Crucially, we should check for performance regressions when doing this.