Modelarium 2.0.0 API
Modelarium API
Modelarium is a modular, extensible, and multithreaded agent-based modelling framework for Java 21. Models are assembled from agents, one environment, and composable property, event, and routine attributes.
Starting a model
- Create agent and environment attributes and group them into named attribute sets.
- Provide agent and environment generators.
- Build a
Configand pass it toModel. - Call
Model.run(). - Inspect or export the
ReadOnlyResultsreturned byModel.getResults().
Main extension points
modelarium.entities.attributesand its subpackages define properties, events, routines, and their functional variants.modelarium.entities.generatorscontrols population and environment construction.modelarium.schedulercontrols local agent execution order.modelarium.entities.logging.databases.factoriesselects memory- or disk-backed log storage.
Concurrency
Synchronised runs advance worker threads in lockstep, support cross-worker population access, and run environment
behaviour at tick boundaries. Unsynchronised runs avoid co-ordination but do not support cross-worker lookups and
do not run environment attributes. Configure this behaviour through Config.ConfigBuilder; the
multithreading implementation packages are not application extension points.
API status
Packages annotated with PublicApi form the supported API unless a type or member is marked
@Internal. Internal elements may remain Java-public for framework integration but are not covered by
semantic-versioning compatibility guarantees.