Download Concepts of Object- and Agent-Oriented Simulation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

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

Cognitive model wikipedia , lookup

Agent-based model wikipedia , lookup

Transcript
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