MRC-CSO-SPHSU / UKSEABMLib.jl

MIT License
1 stars 1 forks source link

Re-organizing help functions within Simulate module #50

Open AtiyahElsheikh opened 1 year ago

AtiyahElsheikh commented 1 year ago

It is not clear for many help functions within the Simulate interface why they are placed there, see e.g. function setDead V0.3. The corresponding rules could consider:

There is a need to have clearer rules when a function belong to simulate interface and when would it belong to XAgents module.

  1. How simple or complex the help function is
  2. the number and type of arguments it has, e.g. model, parameters, etc.
  3. Whether it combines several (types of) agents (e.g. moving a person to a house)
  4. Whether it is decomposable into several level of details #32

An extra sub-module, e.g. Operations (on agents), for such function could be placed.

AtiyahElsheikh commented 1 year ago

A new Module API.ModelOp is established for this purpose. The included functions, foo(model,...) are used across the library. Moreover, any client-model with arbitrary data-structure can also make use of them.