We converted the repo from a specific Genealogy simulation to a generic simulation library, that can be imported to run a simulation against any schema and dataset.
What are the changes implemented in this PR?
We took out all the genealogy-specific code, leaving behind a generic Runner, Simulation and Agent.
TypeDBClient and Neo4jClient packages also remain, to aid implementations in conforming to a generic initialisation model (connect server -> create DB -> define schema -> insert data).
The overall simulation Config remains as well, but implementations can optionally define their own ModelParams to further configure model-specific simulation parameters.
The genealogy-specific Region was renamed to Partition, which accurately represents its purpose: to partition the data (and enable reproducible parallelised runs.) A constraint of the resulting system is that each implementation is expected to provide some partitioning entity type.
What is the goal of this PR?
We converted the repo from a specific Genealogy simulation to a generic simulation library, that can be imported to run a simulation against any schema and dataset.
What are the changes implemented in this PR?
We took out all the genealogy-specific code, leaving behind a generic
Runner
,Simulation
andAgent
.TypeDBClient
andNeo4jClient
packages also remain, to aid implementations in conforming to a generic initialisation model (connect server -> create DB -> define schema -> insert data).The overall simulation
Config
remains as well, but implementations can optionally define their ownModelParams
to further configure model-specific simulation parameters.The genealogy-specific
Region
was renamed toPartition
, which accurately represents its purpose: to partition the data (and enable reproducible parallelised runs.) A constraint of the resulting system is that each implementation is expected to provide some partitioning entity type.