Agent Modeling Platform

The AMP project provides extensible frameworks and exemplary tools for representing, editing, generating, executing and visualizing agent-based models (ABMs) and any other domain requiring spatial, behavioral and functional features. AMP has two main themes that complement but don't depend on one another:

Modeling

Agent Modeling Framework (AMF)

AMF provides an ABM meta-model representation, editor, generator and development environment. The AMF Acore meta-model is similar to EMF Ecore and defined in Ecore, but provides high-level support for complex agents.

AMF generates complete executable models for Escape, Ascape and Repast Simphony, as well as Java Skeletons and Interfaces, JUnit test cases and documentation and is easily extensible to support additional targets.

AMF window

Platform

Agent Execution Framework (AXF)

The execution framework provides services and UI for model management, execution, and views. Arbitrary toolkits can easily integrate with Eclipse and AXF by implementing pluggable providers like engines, agents and view parts. AXF is not just for ABM -- anyone who needs support for executing, managing and visualizing collections of objects may find it useful.

Agent Graphics Framework (AGF)

The graphics framework extends GEF, GEF3D, Zest, and the BIRT charting engine to support real-time visualization of and interaction with agent models. AGF currently provides support for 2D, 2 1/2 D. and graph structures, and will be extended to 3-D, GIS and others. As with other AMP components, the AGF design focus is to provide an extensible infrastructure so that platform adopters can easily create their own view and editor parts.

Escape

Escape is an exemplar ABM toolset. It's based on Ascape, which has been in use for more than 10 years. The core API is very stable, and that should give users a way to explore the features of AMP without concerns about keeping in synch with the rapidly evolving AXF /AGF API. It allows modelers to code in Java and/or generate models with AMF and then execute those models within the same development environment.

AMF window

AMP is in the
Incubation Phase.

Current Status

We've had our first official Release! Check out all of the improvements and new features in 0.8.0. The new Modeling Discovery site makes installation a breeze. And we have new committers joining the project soon. Please see our updated Project Plan for more details.

Screencasts
Find out more about ABM and AMP in these presentations.. (Externally hosted.)
Get Started Overview

Architecture

Part II

Why ABM?

Part II

ABM How?

Part II
"What's an Agent-Based Model?"
The primary focus of AMP is "Agent-Based Modeling". ABMs share characteristics with object models, but are:
  • Spatial: Models have explicit environment(s) in which agents interact. (An environment need not be a physical landscape; other examples of spatial relationships include social networks or positions within a logic system.)
  • Temporal: Models change over discrete units of time.
  • Autonomous: Agent behaviors are activated independently from other object requests.
  • Heterogenous: Agents may share behavior definitions but have apparent and distinct states and behaviors.
  • Collective: Models contain large communities of agents which exhibit collaborative and competitive behaviors.
  • Emergent: Agents have collective macro-behaviors that are non-obvious from agent micro-specifications.
Other Resources
Please note that these are not Eclipse hosted and Eclipse is not responsible for their content.
Websites
Papers
Acknowledgments

The AMP project is a realization of the efforts and ideas of many organizations and people in the Agent-Based Modeling community. In particular:

  • The AMP logo was inspired by the Swarm logo.
  • Metascape, LLC contributed the initial code-base and supports on-going development.
  • ANL contributed the original code-base for the AMF meta-modeling components.