The Role Of Reflection In Simulating And Testing Agents: An Exploration Based On The Simulation System James

Download The Role Of Reflection In Simulating And Testing Agents: An Exploration Based On The Simulation System James

Post on 01-Mar-2017




0 download

Embed Size (px)


<ul><li><p>This article was downloaded by: [Tufts University]On: 27 October 2014, At: 07:33Publisher: Taylor &amp; FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registeredoffice: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK</p><p>Applied Artificial Intelligence: AnInternational JournalPublication details, including instructions for authors andsubscription information:</p><p>The Role Of Reflection In Simulating AndTesting Agents: An Exploration Based OnThe Simulation System JamesA. M. Uhrmacher a , M. Rhl a &amp; B. Kullick ba Department of Computer Science , University of Rostock , Rostock,Germanyb Microsoft Services Custom Development , Unterschleissheim,GermanyPublished online: 09 Jun 2010.</p><p>To cite this article: A. M. Uhrmacher , M. Rhl &amp; 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</p><p>To link to this article:</p><p>PLEASE SCROLL DOWN FOR ARTICLE</p><p>Taylor &amp; Francis makes every effort to ensure the accuracy of all the information (theContent) contained in the publications on our platform. However, Taylor &amp; 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 &amp; 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.</p><p>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 &amp;Conditions of access and use can be found at</p><p></p></li><li><p>u THE ROLE OF REFLECTIONIN SIMULATING AND TESTINGAGENTS: AN EXPLORATIONBASED ON THE SIMULATIONSYSTEM JAMES</p><p>A.M. UHRMACHERandM. RO HLDepartment of Computer Science, University of Rostock,Rostock, Germany</p><p>B. KULLICKMicrosoft Services CustomDevelopment,Unterschleissheim, Germany</p><p>Simulation methods offer an experimental approach for analyzing the dynamic behavior of</p><p>multi-agent systems. Multi-agent systems are able to access their own behavior. If agents</p><p>are specified in the modeling language and become part of the simulation, the simulation</p><p>system has to support reflection, i.e., models which access their own structure and</p><p>behavior. The system theoretic formalism DYNDEVS allows to specify reflective dynamic</p><p>models and their behavior and forms a sound base to implement systems for simulating and</p><p>testing agents. Within a simulation system, the behavior of agents can be analyzed, based</p><p>on conceptual models, or by coupling software agents and simulation system. To support</p><p>the latter, in JAMES, models are equipped with peripheral ports to enable them to</p><p>communicate with externally running processes, e.g., agents. Thereby, models form an</p><p>interface between simulation and agents and can easily be used to reflect online the</p><p>state and activities of the externally running agent. To intertwine simulation and agent</p><p>execution, method calls of the agents have to be redirected from the normal runtime</p><p>environment to the simulation. In the opposite direction, events of the simulation have to be</p><p>transformed into concrete method calls. Higher-order programming mechanisms, such as</p><p>the reflection mechanisms in Java, are useful for implementing this type of interaction</p><p>between simulation and agents. Thus, from theory to implementing, reflection in its many</p><p>facets plays a crucial role in developing simulation systems for agents.</p><p>Address correspondence to A.M. Uhrmacher, Department of Computer Science, University of</p><p>Rostock, Albert-Einstein-Strasse 21, Rostock, D-18051, Germany. E-mail:</p><p>795</p><p>Applied Artificial Intelligence, 16:795811, 2002</p><p>Copyright # 2002 Taylor &amp; Francis0883-9514/02 $12.00 +.00</p><p>DOI: 10.1080/08839510290030499</p><p>Dow</p><p>nloa</p><p>ded </p><p>by [</p><p>Tuf</p><p>ts U</p><p>nive</p><p>rsity</p><p>] at</p><p> 07:</p><p>33 2</p><p>7 O</p><p>ctob</p><p>er 2</p><p>014 </p></li><li><p>INTRODUCTION</p><p>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).</p><p>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).</p><p>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.</p><p>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</p><p>796 A. M. Uhrmacher et al.</p><p>Dow</p><p>nloa</p><p>ded </p><p>by [</p><p>Tuf</p><p>ts U</p><p>nive</p><p>rsity</p><p>] at</p><p> 07:</p><p>33 2</p><p>7 O</p><p>ctob</p><p>er 2</p><p>014 </p></li><li><p>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.</p><p>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)</p><p>A MODELING FORMALISM FOR SIMULATINGMULTI-AGENT SYSTEMS</p><p>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 implementation of this idea(Kohler et al. 2001). As do Dynamic Nets, the formalism DYNDEVS addsreflection to the DEVS formalism to capture the notion of self-aware and self-manipulating agents (Uhrmacher 2001).</p><p>The Basis: DEVS</p><p>DEVS belongs to the formal and general approaches to discrete eventsimulation. The model design supports a hierarchical, compositional con-struction of models. It distinguishes between atomic and coupled models.Atomic models are equipped with input and output ports (X;Y ) by whichthey communicate with their environment. Their behavior is defined bytransition functions, an output function (l), and a time advance function (ta),which determines how long a state persists per se. An internal transitionfunction (dint) dictates state transitions due to internal events, the time ofwhich is determined by ta. At the time an internal event is due, the outputfunction (l) produces an output, which is sent via the output ports. Theexternal transition function (dext) is triggered by the arrival of external events</p><p>Reflection in Simulating Agents 797</p><p>Dow</p><p>nloa</p><p>ded </p><p>by [</p><p>Tuf</p><p>ts U</p><p>nive</p><p>rsity</p><p>] at</p><p> 07:</p><p>33 2</p><p>7 O</p><p>ctob</p><p>er 2</p><p>014 </p></li><li><p>via the input ports. A coupled model is a model consisting of differentcomponents and specifying the coupling between its components. Same asatomic models, coupled models are equipped with input and output ports. Acoupled model is described by a set of component models, which may beatomic or coupled, and by the couplings that exist among the componentsand between the components and its own input and output ports. Coupledmodels do not add functionality to atomic models since each coupled modelcan be expressed as an atomic model, i.e., DEVS models are closed undercoupling. By a hierarchy of atomic and coupled models, DEVS supports thedescription of agents and their environment as time-triggered compositeautomata. An abstract simulator equips the DEVS formalism with a clearexecution semantic.</p><p>A Reflective Extension: DYNDEVS</p><p>DEVS is based on static model structures and does not provide means forreflection. However, those are crucial in modeling and simulating agents. Tosupport variable structures in DEVS, several approaches have been developedsince the eighties. Most of them distinguish between controlling andcontrolled units. A model can not change itself and its adaptation depends on</p><p>A Dynamic DEVS is a structure</p><p>dynDevs df hX;Y;Zi;Zo;minit;Mminiti withX;Y sets of model inputs, model outputs,</p><p>Zi;Zo inputs and outputs from and to external processes</p><p>minit 2 Mminit the initial modelMminit is the least set having the structure</p><p>fhS; sinit; dext; dint; ra;l; taijS set of states</p><p>sinit 2 S the initial statedext : Q X ! S Zo the external transition function is triggered by the arrival of events</p><p>which have been produced by other models (its influencers) with</p><p>Q fs; z; e : s 2 S; z 2 Zi; 0 e tasgdint : S Zi ! S Zo the internal transition function is triggered by the flow of timera : S Zi ! Mminit the model transition function determines the next incarnation of</p><p>the model in terms of state space and behavior pattern</p><p>l : S Zi ! Y the output function fills the output port and triggersexternal transitions within influenced components</p><p>ta : S Zi ! R0 [ f1g the time advance function determines how long a state persists gand satisfying the property</p><p>8n 2 Mminit:9m 2 Mminit: n rasm with sm 2 Sm _ n minit</p><p>FIGURE 1. The formalism DYNDEVS: Please note that compared to the specification of the original</p><p>formalism, peripheral ports have been introduced in addition.</p><p>798 A. M. Uhrmacher et al.</p><p>Dow</p><p>nloa</p><p>ded </p><p>by [</p><p>Tuf</p><p>ts U</p><p>nive</p><p>rsity</p><p>] at</p><p> 07:</p><p>33 2</p><p>7 O</p><p>ctob</p><p>er 2</p><p>014 </p></li><li><p>another model. Thereby, a hierarchy of controllers is installed (Zeigler et al.1991; Barros 1997).</p><p>To support models that are able to access their composition, interaction,and behavior structure from an agents perspective, the DYNDEVS formalismhas been developed, which expresses agents as reflective, time-triggeredcomposite automata (Uhrmacher 2001). Figure 1 shows the definition of anatomic model in DYNDEVS. An atomic model in DYNDEVS is defined as a set ofmodels that inherit state set, transition, output, and time advance functionsfrom DEVS atomic models. The reflectivity is introduced by the model tran-sition (ra), which maps the current state of a model into a set of models towhich the model belongs. Thereby, sequences of models are produced. Amodel can change its own state and its behavior pattern, i.e., its transition,output, and time advance function during simulation. The model transition(ra) does not interfere with other transitions, it preserves the values ofvariables which are common to two successive models and assigns initialvalues to the new variables (for a more detailed discussion of the form-alism see [Uhrmacher 2001]).</p><p>As the coupled model holds the information about composition andinteraction between components, a change of composition or interaction,even though induced by an atomic model, takes effect at the level of thecoupled model. Therefore, coupled DYNDEVS models are introduced. Coupledmodels are formed by sets of models as well. A so-called network transitionmaps the current state of the coupled model in terms of the states of itscomponents into a possibly new network with new components, new cou-plings, new domains of these components, and a new network transitionfunction. It is triggered by changes in its components states, which have beeninduced by external or internal transitions, and interprets those looking forpossible implied structural...</p></li></ul>


View more >