the role of reflection in simulating and testing agents: an exploration based on the simulation...
Post on 01-Mar-2017
Embed Size (px)
This article was downloaded by: [Tufts University]On: 27 October 2014, At: 07:33Publisher: Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registeredoffice: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK
Applied Artificial Intelligence: AnInternational JournalPublication details, including instructions for authors andsubscription information:http://www.tandfonline.com/loi/uaai20
The Role Of Reflection In Simulating AndTesting Agents: An Exploration Based OnThe Simulation System JamesA. M. Uhrmacher a , M. Rhl a & B. Kullick ba Department of Computer Science , University of Rostock , Rostock,Germanyb Microsoft Services Custom Development , Unterschleissheim,GermanyPublished online: 09 Jun 2010.
To cite this article: A. M. Uhrmacher , M. Rhl & B. Kullick (2002) The Role Of Reflection InSimulating And Testing Agents: An Exploration Based On The Simulation System James, AppliedArtificial Intelligence: An International Journal, 16:9-10, 795-811, DOI: 10.1080/08839510290030499
To link to this article: http://dx.doi.org/10.1080/08839510290030499
PLEASE SCROLL DOWN FOR ARTICLE
Taylor & Francis makes every effort to ensure the accuracy of all the information (theContent) contained in the publications on our platform. However, Taylor & Francis,our agents, and our licensors make no representations or warranties whatsoever as tothe accuracy, completeness, or suitability for any purpose of the Content. Any opinionsand views expressed in this publication are the opinions and views of the authors,and are not the views of or endorsed by Taylor & Francis. The accuracy of the Contentshould not be relied upon and should be independently verified with primary sourcesof information. Taylor and Francis shall not be liable for any losses, actions, claims,proceedings, demands, costs, expenses, damages, and other liabilities whatsoever orhowsoever caused arising directly or indirectly in connection with, in relation to or arisingout of the use of the Content.
This article may be used for research, teaching, and private study purposes. Anysubstantial or systematic reproduction, redistribution, reselling, loan, sub-licensing,systematic supply, or distribution in any form to anyone is expressly forbidden. Terms &Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions
u THE ROLE OF REFLECTIONIN SIMULATING AND TESTINGAGENTS: AN EXPLORATIONBASED ON THE SIMULATIONSYSTEM JAMES
A.M. UHRMACHERandM. RO HLDepartment of Computer Science, University of Rostock,Rostock, Germany
B. KULLICKMicrosoft Services CustomDevelopment,Unterschleissheim, Germany
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.
Address correspondence to A.M. Uhrmacher, Department of Computer Science, University of
Rostock, Albert-Einstein-Strasse 21, Rostock, D-18051, Germany. E-mail: firstname.lastname@example.org
Applied Artificial Intelligence, 16:795811, 2002
Copyright # 2002 Taylor & Francis0883-9514/02 $12.00 +.00
The more complex agent applications become in terms of number ofagents, network nodes to be visited, or deliberation capabilities, the more theeffort will pay to thoroughly analyze their behavior and performance.Simulation forms an experimental method to analyze the behavior of agentsin virtual dynamic environments and has been widely employed to testthe interplay between reactivity and deliberation (Schut and Wooldridge2000; Excelente-Toledo, Bourne, and Jennings 2001); cooperation strategies(Asada, Kitano, Noda, and Velosa 1999); mobile agents in networks(Dikaiakos and Samaras 2000); the relationship between individual utilityfunctions; and common goods (Wolpert and Lawson 2002).
In the following, we explore the role of reflection in simulating agents. Inthe context of programming, reflection is defined as an entitys integralability to represent, operate on, and otherwise deal with itself in the same waythat it represents, operates on, and deals with its primary subject matter(Ibrahim 1991). The ability of reflection is closely related to the self-awareness of programs and their ability of self-adaption. Consequently, theability of reflection is considered a salient feature of software agents (Ferberand Carle 1992; Jennings et al. 1998).
In system theory, George Klir was one of the first to address the problemof reflection by introducing meta systems in his General Systems ProblemSolver, which supports specifying different levels of system-analytical pro-blems (Klir 1985). Meta systems contain the knowledge about how beha-vioral or structural systems are interrelated over time. Whereas thecomposition of systems helps to integrate several compatible systems into alarger one, meta systems integrate systems by replacement, i.e., they areonly temporarily part of the overall system. Zeigler and Oren developedvariable structure models to describe meta systems: models that are able torepresent, control, and modify their own behavior (Zeigler and Oren 1986).Thus, from the point of system theory, multi-agent systems are reflective,dynamic systems. To support the simulation of multi-agent systems, thesimulation and its underlying formalism have to support reflection, i.e.,models which access their own structure and behavior.
The implementation and application of dynamic test scenarios for multi-agent systems requires considerable modeling effort. Typically, the agent isnot modeled in its entirety. Early simulation systems for agents alreadyallowed to plug code fragments, or single modules into the skeleton of anagent model (Montgomery and Durfee 1990). To further reduce the modelingeffort, agents are sometimes treated as external source and drain of events(Pollack 1996; Anderson 1997). The loose coupling of simulation and agentssaves the user the extra effort to specify the agent in the modeling language ofthe simulation system. However, typically, more effort is required to analyze
796 A. M. Uhrmacher et al.
the interaction and actions of agents in the virtual world. The agent is onlyperceivable by the effects its activities have on the environment. If its stateand activities shall be mirrored in the simulation, specific mechanisms arerequired.
What do you see when you look at your face in the mirror? The obviousanswer is that you see your face looking in the mirror. But this obviousanswer fails to acknowledge the fact that a face looking in the mirror isactually doing two thingstrying to see itself and presenting itself to be seen.Sometimes these two activities are visibly distinct . . . Yet even when your facejust stares out at you, flat-footed, it bears the same two aspects: It is botheyeing you, in order to see you, and facing you, in order to be seen.(Velleman 1989, 3)
A MODELING FORMALISM FOR SIMULATINGMULTI-AGENT SYSTEMS
Most modeling and specification formalisms presuppose static structuresof composition and interaction, which reduces their usability for multi-agentsystems (Jung and Fischer 1998) and nurtures the development of extensions.For example, Asperti and Busi developed Dynamic Nets when they foundPetri Nets too static to be directly used to express processes with changingstructure (Asperti and Busi 1996). Dynamic Nets are a reflective extension ofPetri Nets whose transitions produce new Petri Nets (Asperti and Busi 1996).They suggested to extend colored Petri Nets to allow an explicit transmissionof processes. Petri Nets can be defined as token colors, and thus support themodeling of mobility. Reference Nets are an implementa