-
Notifications
You must be signed in to change notification settings - Fork 18
Home
If we could see into the future maybe we could understand the present.
-- Al'fredas 235 BC
AgentSpring is an Agent Based Modeling and simulation framework based on Spring and Neo4j - a powerful graph database.
There are around 60 ABM frameworks/libraries/packages available already. Why another ABM framework?
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. 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. We have found that a native graph DB is particularly well suited for ABM development, compared to any other persistence method.
AgentSpring is inspired and based on the AI classic Scripts, Plans, Goals, and Understanding: An Inquiry Into Human Knowledge Structures by Roger C. Schank and Robert P. Abelson. Models are made by combining agents and scripts that define their behavior in the context of social situations. This makes AgentSpring particularly suited to modeling social systems.
AgentSpring 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.
Many of the popular ABM libraries and packages mold model logic and user interface together, which is a known ...sin. AgentSpring builds on well known software architecture patterns to make models more understandable and reusable.
AgentSpring provides a feature rich web-based user interface. See screenshot
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.