(by ABxM)
The Core Libraries of the ABxM Framework
Support Email

The ABxM Framework provides an open platform for experimentation with agent-based, aka individual-based, systems. Its aim 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.

The main application of the ABxM Framework is 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 application-specific class libraries that are organized around the ABxM.Core libraries, which constitute the core of the framework. They consist of the agent library ABxM.Core.dll and an interoperability library for Grasshopper ABxM.Grasshopper.gha.

ABxM.Core.dll implements the functionality specific to agent-based modelling and simulation. This 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, from which new system constructs can be derived, and the Solver class. In addition to the base classes, the core library provides implementations for force-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.

We provide here for download:

  • The binaries ABxM.Core.dll and ABxM.Grasshopper.gha
  • Example Grasshopper definitions of "canonical" agent systems
  • The MIT license file

The ABxM.Core source code has been published on the University of Stuttgart's research data repository

The framework targets Rhino 6 and later versions. The main usage scenario for domain-specific applications is to expand the functionality of the core libraries by building application-specific add-ons while referencing the ABxM.Core.dll as the common infrastructure. In order to get started with agent-based modelling and simulation, we provide a set of example files that showcase simple use cases of the pre-implemented agent systems. In order to get started with your own add-own development, you can refer to the following resource on Youtube by our former colleague and co-author of the ABxM Framework Long Nguyen.

Development of ABxM Framework was started in 2016 by Long, Tobias, and Abel as part of TRR 141 and HOLZ R^3 research projects and it has since been further developed by Mathias, Max, David, Lasath, and Fabian as part of different research projects, such as BUGA Wood, SFB 1244, SPP 2187, EXC IntCDC.

How to cite:

Nguyen, L., Schwinn, T., Groenewolt, A., Maierhofer, M., Zorn, M. B., Stieler, D., Siriwardena, L., Kannenberg, F., & Menges, A. (2022). ABxM.Core: The Core Libraries of the ABxM Framework. DaRUS. https://doi.org/10.18419/darus-2994