EMLab-AgentSpring

What is AgentSpring?

AgentSpring is an Agent Based Modeling and simulation framework based on Spring and Neo4j - a powerful graph database. It is the framework under which EMLab-Generation was developed.

There are around 60 ABM frameworks/libraries/packages available already. Why another ABM framework? To achieve our goals we create plans, that are composed of scripts. The reasons are that scripts are modular, reusable, rather simple set of actions that allow us to "get things done".

For example, a plan to have a fancy dinner with your spouse would be composed out myriad of scipts, such as: "book a restaurant", "dress up", "get a cab", etc. Models are made by composing scripts enabling the modeler to define complex agent behavior. This makes AgentSpring particularly suited to modeling social systems. AgentSpring puts software first. It is as much about the ideology of ABM as it is about using great open-source libraries and development frameworks. The Spring framework provides a consistent way to build modular, configurable and scalable enterprise applications. Neo4j provides the persistence layer needed to store the complex object graph that is the simulated world. AgentSpring, with the help of Spring Framework, decouples agents, their behaviors and their environments making the pieces reusable and easy to manage. Experience has shown that modular models are the only kind of models that can accommodate changing scope and new research questions.

User interface

AgentSpring provides a feature rich web-based user interface and has interfaces to make it easy to integrate with other tools and packages (R, web, visualisation, custom GUIs) AgentSpring is committed to open-source. Using open-source libraries also allows to participate in active developer communities and do more together. This has been proven by a successful collaboration with Neo4j developers. Anyone is welcome to use, learn and contribute: https://github.com/alfredas/AgentSpring

More information:

See this book chapter that described AgentSpring: Chmieliauskas, A., E. Chappin, C. Davis, I. Nikolic, and G. Dijkema. New methods in analysis and design of policy instruments. In Gheorghe, A. V., editor, System of Systems. Intech, 2012..

An overview article of EMLab-Generation modelling that adopts the framework: Chappin, E. J. L., L. J. de Vries, J. Richstein, P. Bhaghwat, K. Iychettira, and S. Khan. Simulating climate and energy policy with agent-based modelling: the energy modelling laboratory (EMNMLab). Environmental Modelling & Software, 96:421-431, 2017. doi: 10.1016/j.envsoft.2017.07.009..