Heterogeneity: Although each agent may begin as a member of a limited set of common
templates, develops individuality through autonomous activity in the sense describe previously.
Agents need a stage for their behaviors, and this is taken as the definition of the Environment. Although the environment may itself change dynamically according to the actions of the agents, these changes occur passively, rather than in the active fashion of agent time evolution. That is, the state of the environment evolves dynamically, but only in response to the actions of the agents, rather than as a result of particular goal-seeking or adaptive behavior.
As an example, given an environment populated with resource nodes and a population of agents each looking to maximize intake of resources, the agents alter (consume) the distribution of resources, while the environment passively adjusts resource distribution based upon agent action. Granted, more complex environments are possible which dynamically alter their own resource distribution, but this alteration is typically given by a simple rule, rather than the result of goal-seeking behavior.
(Note that more complex environments can be modeled in turn by the addition of a new group of agents to act as the “resources”).
In sum, agents are active, while the environment is passive.
As a final note, Agent Based Modeling (with particular distinctions) can also be found under the terms Agent-Based Computational Modeling , Agent-Based Social Simulation , Multi-Agent systems  , Distributed Artificial Intelligence  , and Swarm Intelligence  . However, Agent Based Modeling and Swarm Intelligence appear to be the more contemporary of the terms used in the literature.
SECTION II – AGENT BASED MODELING TOOLS
There are good summaries in the literature which compare and contrast the various ABM tools  . However, they are somewhat dated in terms of the versions of the tools that were reviewed. For example, de Smith et. al., though updated in 2008, referred to versions of Repast from 2006.
The rapid pace of software, therefore, warranted a fresh look at the current state of the art.
Given the previous reviews of ABM frameworks and libraries, this paper considers the following software:
Swarm   – Latest stable release is Swarm 2.2 released in February 2005.
MASON  – Latest stable release is MASON Version 12, released in the July 2007 timeframe.
NetLogo  – Latest stable release is NetLogo version 4.0.2, released December 5th, 2007.
RePast  – Latest stable release is Repast Simphony 1.0 released December 3rd, 2007.