Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Neural modeling fields wikipedia , lookup
Ecological interface design wikipedia , lookup
Mathematical model wikipedia , lookup
Perceptual control theory wikipedia , lookup
Agent (The Matrix) wikipedia , lookup
Incomplete Nature wikipedia , lookup
Embodied cognitive science wikipedia , lookup
Agent-based model in biology wikipedia , lookup
Concepts of Object- and Agent-Oriented Simulation Adelinde M. Uhrmacher Artificial Intelligence Laboratory University of Ulm, D- 89069 Ulm [email protected] Abstract Object-oriented concepts are widely employed in simulation. The increasing activity in developing agent-oriented simulation systems calls for exploring the relationship between object-oriented and agent-oriented modeling and simulation more closely. The paper constitutes one step to that enterprise. Keywords: Object-Oriented Simulation, Agent-Oriented Simulation 1 Introduction Simulation is often defined as the experiment performed on a model [1], as "pars pro toto" the term simulation refers to the entire process, including the design of the model. Following the broader definition, we will explore the role of object- and agent-oriented concepts in software systems, which support the design of models and experiments performed on them. Whereas the model design will be the main focus of interest, two further aspects of simulation shall be addressed as well: how experiments are executed, and how the simulation system itself is implemented. Object-orientation influences model design and execution, and the implementation of current simulation systems, as well. Objects are defined as collections of operations that share a state and determine the messages (calls) to which an object can respond. Objectorientation includes typically the concept of classes, templates to create objects, and the concept of inheritance by which the behavior of classes can be reused in the definition of new classes. As does the term "object", the term "agent" subsumes different concepts. Entities which are deliberative, purely reactive or combining deliberative and reactive capabilities are called agents [2]. Following the interpretation of symbolic interactionism multiagent systems comprise individuals in processes of patterned interactions, embedded in and always (re-)creating perspectives. To coordinate and organize their behavior, agents employ an insight into the capabilities, beliefs of other agents and themselves, taking the role of the other. Agents usually refer to individuals; but also corporate actors, like social groups and institutions, might function as agents. Thus, the notion of agents is not crisp. Just like a system is what is distinguished as a system [3], something becomes an agent by the fact that one has decided to control and analyze its behavior in mental terms, e.g. beliefs, goals and desires, and its interaction with its environment in terms of effectors and sensors. Object-oriented modeling, as one form of object-oriented simulation, has fast grown to a standard in representing knowledge about dynamic systems in a multitude of application areas. In both, systems and objects, the internal state is hidden from the outside world and is accessible only by the object respectively system itself. According to external perturbations (messages), the system (object) changes its internal state. Whereas not all object-oriented modeling approaches include the concepts of classes and class inheritance, and therefore constitute rather object-based than object-oriented approaches, all of them typically support multilevel modeling, i.e. the specific perception of systems being composed out of other systems interacting with their environment [4, 5, 6]. Whereas object-oriented modeling is rooted in systems theory, agent-oriented modeling reflects rather concepts of symbolic interactionism. Just like most object-oriented simulation systems are object-oriented with respect to the model design, most agent-oriented 2 simulation systems are test beds for multiagent systems, i.e. they perceive and define the entities of the model's domain as agents. They provide the environment and mechanisms to conduct controlled experimentation with software components developed in single or distributed Artificial Intelligence [7, 8], serve as a simulation environment for autonomous senso-motoric systems [9], or intend to capture deliberative capabilities in simulating natural societies more adequately [10]. Thereby, the interaction between entities and the interaction with a dynamic environment are of particular interest. "Object-orientation" in simulation refers also to the execution of models, i.e., whether the experimentation with the model happens as message passing between objects. Some object-oriented simulation systems are object-oriented with respect to both dimensions, some, particularly those, that allow also for continuous simulation, support an object-oriented model design but forego an object-oriented execution of the model [11, 12]. Correspondingly, we define agent-oriented simulation as referring to a distributed simulation environment, where simulation takes place as a sending of typed messages between concurrently interacting entities. Thus, multiagent simulation shares many problems as well as solutions with distributed simulation [13]. Concluding our exploration in object- and agent-oriented simulation, we ask which role do objects or agents play in implementing simulation systems. Whereas model design and execution seem closely interrelated, the implementation issue can be discussed independently. An object-oriented implementation of a simulation system tells nothing about the model design nor the execution of the model. Similarly, an agent-oriented implementation does require neither an agent-oriented model design nor an agent-oriented execution of the model. Object-oriented software design aims at modularity and reuse of software components. The objective of an agent-oriented software design is the improvement of interoperability. As the diversity of simulation systems and models has increased, so has the 3 demand for facilitating the exchange and reuse of models and services by interoperable simulation systems [14]. Although the latter aspect seems particularly intriguing, little work has been done in this area yet. So far research has concentrated on agent-oriented model design, which is reflected in the structure of the paper. 2 The Issue of the Model Design Just like concurrent object-oriented programming techniques can be interpreted as a suitable base for the conceptualization of agent-oriented frameworks [16], one role of objectoriented model design might be as a conceptual framework for agent-oriented modeling. Objects with a clear boundary to their environment lend themselves to represent individual actors or agents, i.e. entities of some autonomy. The discrete initiation of events can easily be interpreted as activities, and the exchange of information via messages as the communication between agents [17, 18]. A classical object-oriented approach in discrete event simulation is DEVS [5]. Since many object-oriented discrete event simulation systems base their model design on its underlying theory, DEVS seems particularly suited to illustrate some characteristics of object-oriented modeling. 2.1 Model Design in DEVS - A Discrete Event Simulation System DEVS supports an object-oriented model design distinguishing, as do other object-oriented approaches between atomic and coupled models. An atomic model is described by a set of input ports for receiving external input events, a state set, a set of output ports for sending the generated outputs as external events, an internal, respectively external, transition function dictating state transitions due to internal, respectively external input, events, an output function which generates events as outputs, and a time advance function to determine the time of the next internal event. The communication of each 4 model with the external "world" is determined by its input and output events. Its state is described by a set of variables and parameters and its rules of behavior are those functions that determine the time of internal transitions, its internal reaction to perceived external perturbations, and its action directed to the "world outside" via its output events. Coupled Model CM1 A coupled model is a model Coupled Model CM2 consisting of different comAtomic Model A Atomic Model C ponents and specifying the couAtomic Model B pling of its components. It is defined by a set of external input, respectively output, ports, a set of component models, that may Fig. 1: Coupled and Atomic Models in DEVS be atomic or coupled and the coupling which exists among the components. Coupled models allow modular and hierarchical multilevel modeling (Fig.1). In DEVS, coupled models have no behavior, i.e. transition functions, of their own. Their behavior is determined by the behavior of their basic components only. Thus, DEVS supports a reductionistic view within modeling, where the emergence of phenomena of higher organizational levels can be reduced to the behavior of lower levels. Other object-oriented approaches in modeling and simulation, e.g. EMSY [19], MIMOSE [20], and derivations of DEVS [21], equip coupled models with a behavior of their own. Atomic models can be interpreted as agents, perceiving and effecting their environment through their input and output ports, respectively. They react to external perturbations by changing their own internal state. Triggered by the passing of time, they act proactively changing their state and effecting their environment through their output ports. 5 Their state represented as a set of variables which might be quantitatively or qualitatively scaled can be structured to capture notions of beliefs, desires and intention. However, since object-oriented discrete event simulation systems have been designed to describe the dynamic of systems composed of entities of lesser autonomy and deliberation, they might prove as a Procrustean test bed for multiagent systems. 2.2 Model design in Agent-Oriented Test Beds Test beds for multiagent systems provide the environment and mechanisms to conduct controlled experimentation which are aimed at investigating distributed artificial intelligence research issues, such as global structures that emerge as a result of the interaction, cooperation and coordination of multiple agents [22]. Some are simulation environments for autonomous senso-motoric systems [23, 9]. Again others have been developed to simulate societies of natural rather than artificial agents [24, 10, 15]. Developing and applying the latter intends to capture and explain deliberative capabilities of social actors more adequately. To describe deliberative (natural or artificial) individuals in processes of patterned interactions, they employ specific mechanisms. 2.2.1 Deliberation According to Hanks and his colleagues [25], deliberation is a matter of predicting the future state of the world. Decision and activities are grounded on an agent's explicit knowledge about the characteristics and the causal forces of the world around it. The creation of plans based on and directed to an explicit internal model of the world, or the rehearsal of scenarios based on an internal model, distinguish deliberative from reactive agents [26]. The mechanisms by which deliberation is embodied within agents vary drastically between multiagent test beds, though. MICE [27] is only concerned with those parts of an 6 agent which are responsible for an agent's interaction with other agents. An agent's internal structure has to be implemented from scratch. Other multiagent test beds, e.g. MAGES [28], DASEDIS [29], EOS [24], PHOENIX [7] or RATMAN [30, 31], support the structuring of an agent's innards as well. In those approaches, agents are characterized by cognitive modules which are responsible for a goal-oriented rational behavior of the agent. Intentions play a crucial role in determining the agents' activities, as do beliefs, desires, and plans. Commonly, intentions are interpreted as the decisions the agent has made at a previous time, and goals and desires are used synonymously. Beliefs and desires constitute the information state and evaluative state of the agent, respectively. For updating beliefs, desires, and intentions agents comprise a variety of reasoning processes. Some agent architectures, in addition, embody learning modules and employ blackboards for problem solving [32]. The development of agent-oriented test beds starts often with a particular problem solving method or application of such a method, whose functionality shall be experimentally tested within an environment as realistic as possible. E.g., PHOENIX originated from a fire fighting scenario [7], and EOS has co-evolutionary grown with a model about the growth of social complexity in the upper Paleolithic period in southwestern France [24]. The experimental test bed TILEWORLD has been developed to evaluate the agent architecture IRMA within dynamic environments [8]. Figure 2 shows the interior of an IRMA agent which comprises a plan library, explicit representations about beliefs, desires, and intentions. Together with the perception of the environment they are evaluated by different reasoning processes: which include updating beliefs, selecting plans to achieve the intentions, monitoring the environment to determine additional activity options, filtering the courses of action that are consistent with the agent's current intention, and deliber- 7 ating between alternative competing activities [33]. The rich internal structure of an IRMA agent is representative for many deliberative agent architectures. Action Intentions Structured Into Plans Plan Library Opportunity Analyser Means-End Reasoner Filtering Process Beliefs Desires Deliberation Process Reasoner Perception Fig 2: IRMA Agent in TILEWORLD [33] In object-oriented simulation systems, objects are composed of states and transition functions which are intended for capturing reactive rather than deliberative capabilities. Only few approaches with an object-oriented discrete simulation background discuss endomorphism, i.e. (internal) models about models, and its role in realizing introspection and reflection in systems modeling [5]. Praehofer and his colleagues [34] use internal models for an event-based control of combined continuous/discrete systems. The internal 8 model of the controller represents a discrete abstraction of a combined continuous/discrete process which is automatically derived by observing. Another approach to put endomorphy into use is AgedDEVS [35]. An explicit internal model reflects the characteristics and structure of the outside world. It is employed to initiate structural changes in organizational hierarchies and as a means for reflection and introspection. In AgedDEVS, internal models about models are static, though. They do not possess a dynamic of their own and rely on transition functions for manipulation. To capture the notion of belief more adequately the internal model has to be enriched by axioms that encode the causal forces of the world. Transition and output functions employed in object-oriented simulation systems appear reactive in nature. They encode for every given state and perceived input the resulting response of an agent, either in terms of an internal state transition or reactions to the world around. Uncertainty in decisions is captured by randomizing the response. Assessing a situation deliberately and choosing among different possible activities by anticipating the effects of these activities are obviously not foreseen in object-oriented modeling concepts, but could they be integrated? To install deliberative capabilities within objects, the state space of an object splits into a "physical" and a "mental" state, i.e. an internal model. The latter includes the information state, in terms of beliefs, the evaluative state in terms of desires, and intentions which are the activities which the agent is apt to execute. The plan and goal library might be interpreted as exogenous attributes of an agent, or might be subject to change themselves. Accordingly, the transition functions have to invoke processes for updating beliefs, goals, and intentions, respectively. In this scenario, the role of the output function will be to mediate between intentional activities, and reactive responses to the world outside. The 9 output is no longer described explicitly but implicitly by an agent's goals, beliefs and plans. 2.2.2 Variable Structure Models The appearance and disappearance of agents, the variation of communication structure are typical of a society of autonomous agents [36]. A dynamic pattern of interaction and a dynamic composition of society are captured by variable structure models which entail in their description the possibility to change their own structure [37]. Structural changes denote typically transitions between different nodes of behavior or different structural compositions of a system requiring means for reflection and introspection [38]. Multiagent test beds provide facilities to create and delete agents, to include or exclude agents within groups and alter the structure of interaction, i.e. the coupling of agents. The consistency during structural changes is maintained by employing specific mechanisms, e.g. in MAGES structures called blackholes help to inform other agents that addressees have disappeared in the meanwhile. Often, the deletion of agents takes place as suicide. Some approaches put no restriction on the deletion of agents, if only the name of the agent which shall be deleted is known [27]. One agent creates another agent from scratch or by instantiating an agent class. The creating agent is responsible for embedding the agent correctly within the environment, e.g. making the new agent known in the society of agents. Thereby, their local information about the environment plays a crucial role. Each agent has usually access to the interaction, e.g. communication channels, it is involved in. Although corporate actors are central in symbolic interactionism which is interpreted as one of the sources of multiagent systems, only few agent-oriented simulation systems support multilevel modeling, where agents are composed of other agents. Groups are formed rather implicitly by interaction. Structural changes affect single agents and their interactions, only. 10 Whereas the consideration of variable structure modeling seems an intrinsic part of agentoriented simulation methodologies, variable structure models do not belong to the standards in object-oriented simulation. However, in the last years particularly motivated by ecological and sociological applications, the role of variable structure modeling in objectoriented simulation has gained a broader attention [39, 35]. Object-oriented simulation systems emphasize a multilevel perspective in describing systems. Systems are composed of other systems, which themselves might comprise other systems as well. Thus, structural changes affect and are restrained by coupling and composition. In many approaches structural changes are initiated top down througout the compositional hierarchy [39, 19, 21], coupled models are responsible for creating their components, sometimes also for deleting components and changing the interaction among them. Thus, structural changes are kept local to the coupled model facilitating the maintenance of consistency. Some approaches restrict the creation of new objects to the copying of existing ones and the deletion takes place as suicide [40]. Thereby, the creation occurs on one level of the compositional hierarchy between objects of the same kind. This approach is particularly convenient in simulating populations. Again others, e.g. AgedDEVS, pinpoint the available knowledge about the environment and themselves as crucial in initiating structural changes. If the name of an object is known and its embedding within its environment, it can be deleted. Since objects are created as components of other entities, the creation necessitates some basic information about the compositional parent in spe. Knowledgeable agents are distinguished from other objects of minor autonomy which can be manipulated freely. Usually, objects in object-oriented simulation lack an internal model which allows for insights into their environment and their own embedding. This ignorance is difficult to overcome, as it is considered not only as specific to object-oriented system modeling but 11 as a guarantee for modular modeling as well. Yet, in some object-oriented approaches models "know" the entities of their environment at least by name [20, 19] which establishes a certain degree of autonomy, e.g. to change their own structure of interaction. Autonomy is the property most often used in relation to agents, yet the meaning of autonomy is not precise. An agent whose activities do not need continuous human guidance or intervention is autonomous as defined by Shoham [41]. This definition helps us in recognizing agents as autonomous, but it does not answer what ensures an autonomous behavior. According to Heylighen [42] autonomy requires the capability of an entity to maintain its boundary, the distinction between itself and its environment. Following this line of argumentation, to maintain its boundary within dynamic worlds an agent has to have beliefs about itself and its environment, i.e., some means for reflection and self introspection. The role of the internal model is recognized as crucial in realizing agents that interact autonomously within their environment. 2.2.3 Environment According to system theoretic considerations, object-oriented simulation systems define typically those other objects that influence the object, or that are influenced by it but do not belong to its composition, as its environment [43]. Thus, environments might entail other objects having a behavior of their own. Spatial environments, e.g., landscapes, are described as a certain class of objects with a specific functionality. A spatial environment might be represented as one unique dynamic object or a set of topological arranged and structured dynamic objects, depending on its homogeneity [44]. MAGES, an agent-oriented test bed, adapts this view. Emphasizing the spatial dimension of the environment however, most agent-oriented simulation systems provide a two dimensional grid world as the environment in which agents act, interact, and are able to move around. Compared to object-oriented approaches, they offer less flexibility and ex- 12 pressiveness in modeling dynamic complex environments [8, 27] (Fig. 3). Object-oriented simulation systems strive for the uniform perception of the modeled entities, including the environment, as systems. This perception allows for a flexible simulation of spatial and non spatial environments and implies a uniform operating mechanisms for the entire model. Resources, regions, same as agents are perceived as systems, whose dynamics depend on external perturbations, their internal state, Fig. 3: Two dimensional grid world, PENGI [26] and the passing of time. In contrast, the world of agent-oriented test beds is inhabited with entities of varying functionality and autonomy. Typically not all dynamic entities are interpreted as full scaled agents. Agent-oriented simulation systems provide different mechanisms to describe the entities that dwell in the environment of agents, e.g. EOS describes resources as entities of less autonomy, that are continuously increasing or decreasing. Agents are able to influence and manipulate the amount, quality and structure of these resources, directly. An agent's environment shows no or only simplistic behavior; e.g. TILEWORLD supports the definition of a two dimensional grid world with tiles, which can be moved, with holes, which should be filled with tiles, and with obstacles, which hamper the movement of the agent. Tiles, holes and obstacles appear and disappear at a certain rate according to the global parameter settings. 13 AGENT X Sensors Intention Cognition Actuators Communication Communication Actuators Cognition Sensors Intention AGENT Y ENVIRONMENT Fig. 4: 2.2.4 Communication with other agents and the environment in DASEDIS [29] Interaction Whereas in object-oriented simulation systems the environment is represented by a certain class of objects and does not necessitate specific interaction strategies, multiagent systems employ usually different mechanisms to perceive and affect the environment and to communicate with other agents, respectively (Fig. 4). A suitable representation of sensors and effectors is one requirement of multiagent simulation systems, motivated by application areas such as the simulation of autonomous senso-motoric systems. Depending on the application area multiagent simulation systems provide a range of more or less realistic sensor models [23]. Particularly, in simulation systems that belong to concrete au- 14 tonomous senso-motoric systems, realistic sensor models become the main focus of interest [9]. The interaction between an agent and its spatial environment is crucial in supporting the modeling of robots, whereas in modeling softbots the interaction between agents becomes the central issue [45]. Communication channels constitute first class objects, which need time in transferring messages and possibly distort the content of messages. Communication strategies aim at supporting the exchange of information between agents only; thus, they show a high degree of specialization and differentiation. While the communication between objects seems largely unconstrained, the communication between agents is structured typically according to its illocutionary content, e.g. agents request activities from other agents, inform other agents, or argue with them. Thus, agent architectures provide special modules, which handle communications and negotiation with other agents, in order to perform a given task. Agent-oriented approaches are inspired by an argumentation line in individualistic sociology, which pinpoints the role of contracts and cooperation in societies [46]. The contract net protocol, where tasks are announced, bids are uttered, and finally agents commit themselves to contracts is widely employed in multiagent systems [47]. In contrast, object-oriented simulation systems pinpoint perspectives where contracts are substituted by emergence and cooperation by adaptation. The desired behavior is achieved by the "unintended" interaction of multiple entities rather than by a small group of entities which deliberately cooperate or fail to cooperate. Strategies to survive arguments or to dissolve misunderstandings - of minor importance to object-oriented simulation systems - become more important in modeling multiagent systems. Multiagent systems are conceptualized as open systems, dealing with agents of different origins, sometimes conflicting attitudes, and perhaps different languages. In objectoriented simulation systems, more complex tasks are solved as divide and conquer in- 15 stalling a master/slave relationship between objects. The modeled entities are usually assumed to stem from a unique context obeying a certain generally known and accepted convention of well behaving. When agents are constructed independently for different purposes in different contexts, they must be equipped with mechanisms which help them to pursue successfully their goals in a world of autonomous agents. Agents must take the other agents' goals, intentions and previous behavior into consideration. Thus, a test bed for multiagent systems has to provide mechanisms to experiment with conflicting attitudes and strategies to resolve conflicts. The possibilities to realize interaction and communication modules in an object-oriented framework are obvious, e.g. an agent in DASEDIS can be interpreted as a coupled model in DEVS, consisting of five different atomic models, of which three are responsible for interacting with the environment and other agents. All objects act concurrently. The modular composition allows a flexible handling of different sensors, actuators and patterns of communication on condition that corresponding model libraries are available. 2.3 Modeling: Objects or Agents? The model design of agent-oriented test beds, like that of object-oriented approaches, is coined by the domain of application. Single entities in agent-oriented test beds might constitute expert systems, planning systems or software systems that employ a variety of Artificial Intelligence methods to solve problems. It is not the objective of agent-oriented test beds to duplicate the work already done in the community of "Distributed" and "Single" Artificial Intelligence, but to provide a framework where those methods can easily be integrated and evaluated. The coordination and communication between agents, the interaction with the environment, a realistic, only partly acessible dynamic environment, and the organization of simulation experiments become the focus of interest in agentoriented test beds. 16 Agent-oriented model design seems to constrain states and messages far more than object-oriented approaches, encouraging the view of agents as specific objects [41]. Exploring how agents integrate into an objects' world, we found that the differences between object-oriented and agent-oriented model design go beyond subsumption, as they require the integration of new concepts which do not fit well into the prototypical systems' view of object-oriented simulation systems. Examples are variable structures, internal models, and the direct manipulation of the environment. Most aspects of agent-oriented simulation systems can easily be embedded within object-oriented discrete event simulation approaches, though. E.g. by defining corresponding libraries for sensors, effectors, and communication channels, and by structuring the state space accordingly, using the transition functions to update beliefs, to invoke planning and filtering mechanisms, and employing the output function to interact with the environment and with other agents through communication, sensor, and effector objects. By embedding agents within object-oriented modeling, we forego the restrictions in modeling dynamic environments often enforced by multiagent test beds. Also, already existing models of dynamic systems can be reused as components in producing a more realistic environment. The perspective of the environment slightly changes from an environment as a collection of rather passive entities which are easy to manipulate, e.g. resources, to an environment as a system which comprises heterogeneous dynamic entities. To evaluate an agent's performance in a dynamic environment, its temporal behavior has to be assessed, e.g., the agent's thinking time has to be taken into consideration [7]. Object-oriented simulation systems offer typically explicit and flexible representation of time, e.g. in terms of time based events, together with an execution of the model that dissolves time constraints in a consistent and coherent way. Thus, the simulation of agents, i.e. their coordination and execution, and the dissolving of time dependencies are put on a firmer ground. 17 3 The Issue of Model Execution "Object-orientation" in simulation refers also to the execution of the model, i.e., whether the model is executed by message passing between objects. Correspondingly, we could define an agent-oriented simulation as referring to a distributed simulation environment, where simulation takes place as a sending of typed messages between concurrently interacting deliberative entities. Not all object-oriented simulation systems that support an object-oriented model design support an object-oriented execution as well. Similarly, not all agent-oriented simulation systems execute their models in an agent-oriented manner. Since the kind of execution is not as relevant, as long as the execution of a model is correct and efficient, presuming the former, the question how agent-oriented models are executed is hardly touched in literature. MAGES belongs to the few agent-oriented test beds that stresses the distributed execution explicitly. Other agent-oriented test beds, e.g. MICE, PHOENIX, TILEWORLD, and RATMAN are currently content with maintaining the illusion of simultaneity on a serial machine. The interest in agent-oriented test beds focuses on the expressiveness of the model design, whether the simulation takes place distributed seems of minor interest. The execution of several deliberative agents with planing, learning and other deliberative features, seems particularly suited to a distributed execution, though. Most of the expensive calculation is used updating an agent's internal mental state, the more deliberative agents are the more meaningful becomes a distributed calculation. A reason why many agent-oriented simulation systems have not felt the necessity to distribute the calculation yet might be that in most applications either the agents are not burdened with too extensive deliberative capabilities (cp. MICE), or there is only one agent which reasons deliberately, e.g. is responsible for generating plans (cp. TILEWORLD, PHOENIX). 18 In object-oriented simulation systems, that execute models in an object-oriented fashion, a tendency can be observed to strive for distribution and parallelism, which is motivated by the increasing complexity and number of objects which are involved in simulation [48]. Variations of DEVS, that support distributed and parallel simulation, are employed to simulate ecological systems as concurrently acting and interacting individuals in a distributed environment [49]. Therefore, DEVS employs simulator objects, each associated with a model object, whose communications are restrained by certain message types, e.g., "inform time of next event" and "request internal event". It seems hardly possible, to distinguish between those distributed object-oriented simulation mechanisms and agent-oriented ones. Most problems agent-oriented simulation faces equal those of distributed simulation, e.g., to define a distribution of agents among processes that increases the efficiency of the execution and a synchronization that ensures the avoidance of causality errors. Some problems, e.g., to maintain the model's consistency in the light of possible structural changes, require additional strategies to synchronize agents within a distributed environment [28, 13]. Currently, the difference between agents and concurrent objects in executing models seems reduced to a question of naming, though. 4 The Issue of Implementation The issue of object-oriented and agent-oriented implementation shall conclude our exploration into the relation between object-oriented and agent-oriented simulation. Whereas the question of model design and execution are tightly connected, the question how the simulation system is implemented can be discussed separately; even if examples like MAGES which is written in ACTALK, an agent-oriented extension of SMALLTALK, demonstrate that simulation systems can be agent-oriented with respect to model design, simulation, and implementation, just like some simulation systems are object-oriented with respect to model design, simulation, and implementation [21]. 19 Simulation systems are usually implemented in an object-oriented language to employ mechanisms of reuse and modularity. Whereas the use of object-oriented software design is widely demonstrated, the use of agent-oriented software design is still a field of wide speculations and wishful thinking. As Genesereth and Ketchpel point out [45], software agents shall address the increasing demand of programs that interoperate with other programs in an open environment. Thus, the first applications of software agents have emerged in the context of internet applications [50]. Due to the increasing diversity of simulation systems and simulation models, the need for standardization and an improved interoperability between simulation systems has been recognized as one of the pressing problems in the area of simulation. Recent research efforts are directed to develop a neutral model representation at simulator level and a communication protocol which defines the interaction between simulators in a tool independent manner. The objective is to facilitate the exchange of models and services, equally. In their paper about the future directions of simulation in Europe Vansteenkiste and Vangheluwe [14] emphasize protocols for networked simulator operation to be of particular interest in this context. The current activities in the simulation society are reminiscent of the DARPA knowledge sharing effort, resulting in a knowledge interchange format (KIF) as part of the agent communication language ACL [51, 45]. In both efforts, standardisation is intended to facilitate the creation of interoperable software by decoupling implementation from interfaces. Obviously, an agent-oriented software design of a simulation framework is closely related to these efforts and represents a topic which is deemed crucial for a "simulation for the future". Currently, first approaches emerge which use agent-oriented technologies in supporting certain tasks in the process of modeling and simulation. E.g. Villaverde and Burkhard use agent-oriented techniques to tackle the problem of fitting a model to a set of 20 data. Therefore, a community of cooperating agents executes coordinated parallel experiments [52]. 5 Conclusion So far, the work in the area of agent-oriented simulation concentrates on the question of model design which reflects requirements of the application domains. Most objectoriented simulation systems have been developed to simulate industrial closed world systems with entities of less autonomy, deliberation, and capabilities to manipulate their environment. To capture phenomena in natural, i.e. ecological and social, systems, the rigidity of object-oriented simulation systems has already been softened, e.g. by internal models and variable structures. This prepared the ground for the integration of agents within an objects' world. Existing model libraries, the ease in describing complex, dynamic environments as multilevel modular models, the support in designing and interpreting simulation experiments, and a coherent handling of time should be persuasive reasons to pursue this idea from the perspective of agent-oriented simulation. From the perspective of object-oriented simulation it seems wise to expand the domain of applicability by enhancing expressiveness and openness. Agent-oriented execution of models presents itself, at least currently, rather similar to distributed object-oriented execution enabling and implying the reuse of already existing concepts. Since work on agent-oriented implementation of simulation systems has just started, it seems premature for an extensive assessment. However, it is to be expected, that in the close future, the issue of agent-oriented software design for modeling and simulation will be spawning a plethora of research activities. Acknowledgment 21 The author would like to thank Jim Doran, Herbert Praehofer, and Helena Sczcerbicka for their comments on an earlier draft of this paper. References [1] Cellier F.E., 1992: Continuous System Modeling. Springer, New York. [2] Wooldridge M., Jennings N.R., 1995: Intelligent Agents: Theory and Practice. Knowledge Engineering Review 10(2), 115-152. [3] Gaines B., 1979: General Systems Research: Quo Vadis? General Systems Yearbook, 24, 1-9. [4] Kreutzer W., 1986: A Modellers Workbench: Experiments in Object-Oriented Simulation Programming. Proc. of European Conference on Object-Oriented Programming. Springer, Heidelberg, 203-212. [5] Zeigler B.P., 1990: Object-Oriented Simulation with Hierarchical, Modular Models - Intelligent Agents and Endomorphic Systems. Academic Press, San Diego. [6] Eschenbacher P., 1992: The State Oriented Viewpoint for Discrete Event Simulation; Foundation of the Model Description Language SIMPLEX-MDL. In: Proc. of the European Simulation Multiconference, Dresden, SCS International, Ghent, Belgium. [7] Cohen P.R., Greenberg M.L., Hart D.M., Howe A. E., 1989: Trial by Fire: Understanding the Design Requirements for Agents in Complex Environments. AIMagazine, 10(3), 32-48. [8] Pollack M.E., Ringuette M., 1990: Introducing the Tileworld: Experimentally Evaluating Agent Architectures. In Proc. AAAI-90, Boston, MA, 183-189. [9] Saphira Software Manual, 1997, Saphira Version 5.2. International SRI. [10] Gilbert N., Conte R. (eds.), 1995: Artificial Societies. UCL Press, London. 22 [11] Elmquist H., 1995: DYMOLA - Dynamic Modeling Language. User's Manual. Dynasim AB, Lund, Sweden. [12] Praehofer H., Auernig F., Reisinger G., 1994: STIMS - Modeling and Simulation Environment. Technical Report, STIMS-94-2, Institute of Systems Science, Johannes Kepler University Linz, Austria. [13] Senteni A., 1997: Steps to an Ecology of Actor Simulation. In: G. Zobrist J. Leonhard (eds.): Object-Oriented Simulation,. IEEE Press, 269-318. [14] Vansteenkiste G.C., Vangheluwe H.L., 1996: Simulation in Europe - A Forum for Basic Research in Modeling and Simulation. Working Paper of the ESPRIT Working Group 8467, Department of Applied Mathematics, University of Gent, Belgium. [15] Drougoul A., Ferber J., 1992: Multiagent Simulation as a Tool for Modeling societies: Application to Social Differentiation in Ant Colonies. In: Castelfranchi C., Werner E., (eds.): Artificial Social Systems. LNAI 830, Springer, Berlin, 3-23. [16] Gasser L., Briot J.-P., 1992: Object-Based Concurrent Programming and DAI. In: Avouris N.M., Gasser L., (eds.): Distributed Artificial Intelligence: Theory and Praxis. Kluwer Academic Press, Dordrecht, 81-108. [17] Savatsky K. and Reynolds R.G., 1989: A Hierarchical Model of the Evolution of Cooperation in Cultural Systems. Biosystems, 23, No.2,3, 261-281. [18] Hiebeler D., 1994: The SWARM Simulation System and Individual-Based Modeling. In Proc. of Decision Support 2001: Advanced Technology for Natural Resource Management, Toronto, Sept. [19] Uhrmacher A.M., 1995: Reasoning about Changing Structure: A Modeling Concept for Ecological Systems. International Journal on Applied Artificial Intelligence, 9(2), 157-180. 23 [20] Möhring M., 1992: MIMOSE - A Functional Language for Modeling and Simulation of Individual Behavior in Interacting Populations. In: F.Faulbaum (ed.): StoftStat'91. Advances in Statistical Software 3. Stuttgart: Fischer, p.327-334. [21] Thomas C., 1996: Ein objektorientiertes Konzept zur Modellierung und Simulation komplexer Systeme. Fortschrittsberichte VDI, No. 20, Düsseldorf. [22] Byrne C., Edwards P., 1994: Building Agent-Based Systems. Technical Report, Department of Computing Science University of Aberdeen, Scotland, AUCS/TR9405. [23] Sukthankar R., Pomerleau D., Thorpe C., 1995: SHIVA : Simulated Highways for intelligent Vehicle Algorithms. In Proc. of IEEE Intelligent Vehicles. [24] Doran J., Palmer M., Gilbert N., Mellars P., 1994: The EOS Project: Modeling Upper Paleolithic Social Change. In: Gilbert N., Doran J. (eds.): Simulating Societies. UCL Press, London, 195-223. [25] Hanks S., Pollack M.E., Cohen P.R., 1993: Benchmarks, Test Beds, controlled Experimentation and the Design of Agent Architectures. AAAI-Magazine, Winter, 17-42. [26] Agre P.E., Chapman D., 1990: What are Plans for? Robotics and Autonomous Systems 6, 17-34. [27] Montgomery T.A., Less J., Musliner D.J., Durfee E.H., 1992: MICE Users Guide. University of Michigan Distributed Intelligent Agents Group, Department of Electrical Engineering and Computer Science, University of Michigan. [28] Bouron T., Ferber J., Samuel F., 1991: MAGES - A Multi-Agent Testbed for Heterogenous Agents. Demazeau J.P. /Müller J.P., (eds.): Decentralized Artificial Intelligence 2. Proc. MAAMAW, North Holland, 195-214. 24 [29] Burmeister B., 1993: DASEDIS - Eine Entwicklungsumgebung zum agentenorientierten Programmieren. In: Müller J. (ed.): Verteilte Künstliche Intelligenz. BI Wissenschaftsverlag, Mannheim. 257-266. [30] Bürckert H.J., J. Müller, 1991: RATMAN. Rational Agents Testbed for MultiAgent Networks. In Decentralized AI 2. Proc. of MAAMAW'90, 243-257. [31] Müller J.P., 1996: The Design of Intelligent Agents. LNAI 1177, Springer, Berlin. [32] Durfee E.H., 1988: Coordination of Distributed Problem Solvers, Kluwer Academic Publishers, Boston. [33] Bratman M.E., Isarael D.J., Pollack M.E., 1988: Plans and Resource-Bounded Practical Reasoning. Computational Intelligence, 4, 349-355. [34] Praehofer H., Bichler P., Zeigler B.P., 1993: Synthesis of Endomorphic Models for Event-Based Intelligent Control Employing Combined Discrete/Continuous Simulation. In: Proc. on the Fourth Annual Conference on Artificial Intelligence, Simulation, and Planning in High Autonomy Systems. IEEE, San Diego, 120-127. [35] Uhrmacher A.M., Zeigler B.P., 1996: Variable Structure Models in Object-Oriented Simulation. International Journal on General Systems. 24(4), 359-375. [36] Charon J., 1979: Symbolic Interactionism: An Interpretation, Execution, and Critique. Prentice Hall, NY. [37] Zeigler B.P. and Praehofer H., 1989: Systems Theory Challenges in the Simulation of Variable Structure and Intelligent Systems. In: Computer Aided Systems Theory - Lecture Notes. Springer, Berlin, 41-51. [38] Klir G., 1985: ..Architecture of Systems Problem Solving. Plenum Press, New York. [39] Barros F.J., 1996: The Dynamic Structure Discrete Event System Specification Formalism. Transactions of the Society for Computer Simulation International. Vol. 13., No. 1, 35-46. 25 [40] Klee A., Möhring M., Strotmann V., 1994: The Modeling and Simulation of the Dynamic Change of Structure in Birth/Death Processes. In: F. Faulbaum (ed.): Advances in Statistical Software 4. Gustav Fischer, Stuttgart-Jena-New York, 171-178. [41] Shoham Y., 1993: "Agent-oriented Programming." Artificial Intelligence 60, 51-92. [42] Heylighen F., 1990: Autonomy and cognition as the Maintenance and Processing of Distinctions. In: Heylighen F., Rosseel E., Demeyere F., (eds.): Self Steering and Cognition in Complex Systems. Gordon and Breach Science Publishers, New York. 89-107. [43] Bunge M., 1979. Treatise of Basic Philosophy, Volume 4: Ontology II: A World of Systems. Reidel, Dordrecht. [44] Moon Y., Zeigler B.P., Ball G., Guertin D.P., 1996: DEVS Representation of Spatially Distributed Systems: Validity, Complexity Reduction. In: Proc. of the 6th. Annual Conference on Artificial Intelligence, Simulation and Planning in High Autonomy Systems. San Diego, 288-296. [45] Genesereth M.R., Ketchpel S.P, 1994: Software Agents. Communications of the ACM, Vol 37. No. 7, 48-53. [46] Olson M., 1965: The Logic of Collective Action. Public Goods and the Theory of Groups. Harward University Press, Cambridge, Mass. [47] Davis R., Smith R.G., 1983: Negotiation as A Metaphor for Distributed Problem Solving. Arficial Intelligence, 20, 63-109. [48] Fujimoto R.J., 1990: Parallel Discrete Event Simulation. Communications of the ACM. Vol. 33., No. 10., 31-53. [49] Chow A.C., 1996: Parallel DEVS: A Parallel Hierarchical, Modular Modeling Formalism. SCS Transactions on Simulation. 13(2), 55-67. 26 [50] Etzioni O, Weld D., 1994: A Softbot-Based Interface to the Internet. Communications to the ACM, Vol. 37, No. 7., 72-76. [51] Patil R.S., Fikes R.E., Patel-Schneider P.F., McKay D., Finin T. Gruber T. and Neches R., 1992: DARPA Knowledge Sharing Effort: Progress Report. In: Rich C., Swartout W. and Nebel B. (eds.): Proc. of Knowledge Representation and Reasoning (KR&R-92), 777-788. [52] Villaverde A.S., Burkhard H.D., 1996: Applying Multi-Agent Techniques to Mathematical Modeling. In: ASIM - Mitteilungen. No. 53. 27