JuliaDynamics / Agents.jl

Agent-based modeling framework in Julia
https://juliadynamics.github.io/Agents.jl/stable/
MIT License
717 stars 115 forks source link

Declare explicitly ABM Interface and deprecate calling `ABM` in favor of `StandardABM` #899

Closed Datseris closed 10 months ago

Datseris commented 10 months ago

To make the creation of new models seamless we need to think well the Interface ABM should define. This interface should be the minimal set of functions that a subtype of AgentBasedModel should define, so that it satisfies out of the box all of the API functions of Agents.jl (such as move_agent!, etc.).

We have this mostly in place already. I jsut want to go through it a couple of times, while I am designing #759 . So I am assigning this to myself.

While doing this, we shiould also deprecate calling ABM directly in favor of StandardABM.