Within the 10th International Conference on Informatics in Control, Automation and Robotics - ICINCO 2013
SCOPE
Agent Based Modeling and Simulation (ABM) is a computationally demanding technique having its origins in discrete event simulation, genetic algorithms and cellular automata. It is a powerful technique for simulating dynamic complex systems and observing “emergent” behavior. Common uses of ABMs include applications in social simulation and optimization problems, such as crowd behavior, urban simulation, traffic flow and supply chains.
Recently there is increasing interest in Social Networks and Agent Based Simulation. This approach has been successfully applied to the study of organizational behavior, formation of strategic alliances between firms, diffusion of information, and virtual enterprises. Simulation enables tackling the complexity of social relationships and all the patterns of activity that emerge from agents interaction.
Various software tools and methodologies exist for supporting ABM. Object Orientated Programming (OOP) is widely adopted as the most common paradigm for ABM frameworks. OOP offers a natural and simple technique for modeling which is easily understood by software engineers who are familiar with object orientated design patterns. Agents can be considered to be self directed objects with the capability of choosing actions autonomously based on their environment. There is some discussion that ABMs can be represented as Petri Nets. Most of the commonly used ABM platforms follow the “framework and library” paradigm, providing a framework, a set of standard concepts for designing and describing ABMs, along with a library of software implementing the framework and providing simulation tools.
The synergy of software agents and simulation has two aspects: (1) contribution of simulation to software agents and (2) contribution of software agents to simulation. The first possibility is the simulation of entities represented (modeled) as software agents. This is agent simulation and brings the advantages of using simulation to systems modeled as agents (i.e., agent-based models). The second category of possibilities include simulation enriched by the possibilities offered by agents. These include, agent-supported simulation where agents can be used to have advanced front-end interfaces (for problem specification, for example) and advanced back-end interfaces (for the analysis, interpretation, and selection of model behavior), agent-based simulation, agent-monitored simulation, and agent-triggered simulation. In an agent-monitored simulation, the simulation study is monitored by software agents. These include selection of a model, pairing it with a parameter set and experimental conditions. Agent-monitored simulation may also include dynamic model composition as well as multisimulation. In an agent-triggered simulation study, a simulation study can be started (triggered) by agents.
The term agent-based simulation has two connotations: Mostly, it is used to mean agent simulation. However, when one considers the rich paradigm of full synergies of simulation and agents, that is called agent-directed simulation, agent-based simulation is reserved to the use of agents in the generation of model behavior in a simulation study.