All Classes and Interfaces

Class
Description
Represents an agent in the agent-based model.
Abstract base class for generating agent populations in a simulation.
A concrete results container for a set of agents.
A collection class for managing Agent instances, with support for: Optional deep copying of agents on insertion Fast lookup by agent name Filtering, duplication, and setup routines Randomised iteration
Represents a named attribute associated with a model element such as an agent or environment.
Abstract base class for managing a collection of Attribute instances.
Represents a named collection of attributes, organised into pre-events, properties, and post-events.
Represents a collection of AttributeSet instances associated with a single model element (either an agent or the environment).
Holds the result containers for all AttributeSet instances associated with a single model element (e.g. an agent or the environment).
Stores and manages the recorded results for a single AttributeSet, including properties and events marked for recording.
Abstract base class representing a database for storing and retrieving simulation results related to attribute sets, including properties and event values.
Factory class for creating instances of AttributeSetResultsDatabase.
Abstract base class for handling requests sent to the coordinator thread in a synchronised model.
Provides access to an individual agent by name.
Handles synchronisation for when all workers finish a tick.
Handles synchronisation for when all workers have updated the coordinator.
Provides access to the current environment state.
Provides access to a filtered subset of the global agent set.
Updates the global agent set with new agent states received from workers.
Coordinator thread responsible for managing synchronised access to shared simulation state between multiple worker threads in a parallel simulation.
Utility class providing methods to perform deep copies of objects using either: Java Serialization (forced for Attribute trees and preferred for Serializable objects) Gson-based JSON serialisation (fallback for non-Attribute, non-Serializable types)
 
A basic implementation of AgentGenerator that creates agents with deep-copied base attribute sets and assigns them unique sequential names.
Default generator for creating the simulation environment.
Concrete implementation of AttributeSetResultsDatabase that stores results in a temporary SQLite database file.
Represents the simulation environment in the model.
Abstract base class responsible for generating the simulation Environment.
A concrete results container for the simulation environment.
Represents a boolean-triggered event that is evaluated each tick.
 
 
A concrete collection class for managing Event attributes.
An implementation of AgentGenerator that delegates agent creation logic to a user-defined functional interface.
A functional implementation of EnvironmentGenerator that delegates environment creation to a user-provided function.
An event whose logic is defined via functional interfaces.
A property whose behaviour is defined using functional interfaces.
A functional implementation of Results that allows users to define accumulation logic using functional interfaces.
A scheduler implementation that delegates each simulation tick to a user-defined function.
A scheduler that executes each agent in the order they appear in the agent set.
An in-memory implementation of AttributeSetResultsDatabase.
Main class for executing an agent-based model using multithreaded execution.
 
Abstract base class for all model elements in the simulation.
Provides a model element (either an agent or the environment) with access to relevant simulation resources such as the local environment, other agents, and shared utilities, including communication and caching systems.
 
Container class for storing and accessing results from one or more ModelElements, including agents and the environment.
Interface representing a scheduling policy for running a single tick of the agent-based model.
Encapsulates all configurable settings for a simulation model run.
A concrete collection class for managing Property attributes.
Represents a stateful, typed property attribute.
 
 
 
 
A scheduler that executes agents in a randomised order for each tick.
Utility class for generating random alphanumeric strings.
Represents a request sent from a worker thread to the coordinator thread in a synchronised, multithreaded simulation.
Central controller for managing the request and response queues used in synchronised, multithreaded agent-based simulations.
Provides a per-thread interface for sending requests to and receiving responses from the simulation coordinator in a synchronised agent-based model.
Enum representing the different types of requests that can be sent between worker threads and the coordinator thread during synchronised simulation.
Represents a response from the coordinator thread to a worker thread in a synchronised simulation model.
Enum representing the different types of responses returned by the coordinator to worker threads during synchronised simulation execution.
Abstract base class for storing and manipulating simulation results.
Provides local, thread-specific caching for a simulation worker.
Represents a single worker thread responsible for simulating one subset of agents across the configured number of ticks.