ABxM.Core (nuget): The ABxM Framework provides an open platform for experimentation with agent-based, aka individual-based, systems. The aim of the framework is to "standardize" research equipment, in this case the tools for modeling and simulation, in order to increase transparency of agent-based models, and repeatability of research results. Its main application can be seen in the modeling and simulation of dynamic systems that can be conceived of as consisting of locally interacting, discrete entities that have autonomy and goal-orientation. These models and simulations can be explorative (divergent) or goal-oriented (convergent) as, for example, when used for optimization. The framework is composed of a set of class libraries organized around the core agent library ABxM.Core. The main usage scenario for domain-specific applications is to expand the functionality of the framework by building an add-on while using the core as the common infrastructure.  The ABxM.Core consists of the agent core library ABxM.Core and an interoperability library for Rhino 6 and later versions. ABxM.Core implements the functionality specific to agent-based modelling and simulation. The core library can, in principle, be referenced from any application that is compatible with McNeel’s Rhino.Inside technology.  ABxM.Core defines four base classes for behaviors, agents, agent systems, and environments, and the Solver class. In addition to the base classes, the core library provides implementations for Vector-based systems called “Boid” (in reference to Craig Reynolds’ Boids), point-based systems called “Cartesian”, matrix-based systems (2d and 3d), mesh systems, and network systems. The necessary agent, system, environment, and behavior classes are derived from the corresponding base classes.
Keywords: ABxM|Agent|Based|Modelling|ABM|Discrete|Models|Interactive|Simulation|Parallel|Algorithms