Skip to content. | Skip to navigation

Personal tools

Adelinde M Uhrmacher, Matthias Röhl, and Bernd Kullick (2002)

The Role of Reflection in Simulating and Testing Agents: An Exploration Based on the Simulation System James

Applied Artificial Intelligence, 16(9-10):795-811.

Simulation methods offer an experimental approach for analyzing the dynamic behavior of multi-agent systems. Multi-agent systems are able to access their own behavior. If agents are specified in the modeling language and become part of the simulation, the simulation system has to support reflection, i.e., models which access their own structure and behavior. The system theoretic formalism DYNDEVS allows to specify reflective dynamic models and their behavior and forms a sound base to implement systems for simulating and testing agents. Within a simulation system, the behavior of agents can be analyzed, based on conceptual models, or by coupling software agents and simulation system. To support the latter, in JAMES, models are equipped with peripheral ports to enable them to communicate with externally running processes, e.g., agents. Thereby, models form an interface between simulation and agents and can easily be used to reflect "online" the state and activities of the externally running agent. To intertwine simulation and agent execution, method calls of the agents have to be redirected from the normal runtime environment to the simulation. In the opposite direction, events of the simulation have to be transformed into concrete method calls. Higher-order programming mechanisms, such as the reflection mechanisms in Java, are useful for implementing this type of interaction between simulation and agents. Thus, from theory to implementing, reflection in its many facets plays a crucial role in developing simulation systems for agents.

Document Actions