Special issue on agents in modeling and simulation - IEEE Xplore

0 downloads 0 Views 20KB Size Report
Special Issue on Agents in Modeling and Simulation: Exploiting the Metaphor. Metaphor plays a key role in computer science and engineering. New ideas and ...
Scanning the Issue Special Issue on Agents in Modeling and Simulation: Exploiting the Metaphor Metaphor plays a key role in computer science and engineering. New ideas and methods are infused into existing areas creating fresh material and methodologies in the process. A real “agent” is someone who performs a service on our behalf. The achievement of the underlying goal may require varying degrees of autonomy. For example, a travel agent who is familiar with our predilections may make many decisions without consulting us. If we take the everyday meaning of “agent” and marry it with software development, we derive the metaphorical “software agent.” The relationship between software agents and simulation environments goes two ways. On the one hand, software agents address the need for programs that collaborate to solve problems in open and dynamic environments. As the number and complexity of agent-oriented programs increases, so does the demand for software engineering tools and simulation systems that can help with the design and testing of such programs. On the other hand, using the agent as programming metaphor, agent-oriented techniques may open up solution possibilities for some urgent problems in the development of modeling and simulation environments themselves. These problems include how to facilitate reuse and exchange of models and services between systems, how to bring models and data together from widely dispersed sources, and others. So this special issue addresses both the simulation of multiagent systems as well as the application of such systems to the modeling and simulation process itself. I. SIMULATION OF MULTIAGENT SYSTEMS Agent-based systems, like other complex software systems, must be tested and evaluated before being deployed. Agents are embedded systems, and their dynamic behavior determines their efficiency and effectiveness. Therefore, simulation of agent operation is an inherent requirement in all phases of the development process. Modeling and simulation help developers learn more about agents’ interactive behavior and investigate the implications of alternative architectures and coordination strategies.

Publisher Item Identifier S 0018-9219(01)01741-8.

Unfortunately, agent research to date has not fully incorporated recent work in simulation methodology that has provided concepts and environments for effective model development and reuse. Instead, many software agent developers tend to employ various ad hoc approaches to simulation. Moreover, the model of the environment in which the agent is to be tested and the simulation mechanisms are typically developed and implemented from scratch. In setting up the test environment, the model and its execution code are not strongly distinguished. This limits the reuse of test scenarios and makes it more difficult to reproduce experimental results and compare results achieved through experimentation. In order to be attractive to professionals who design agents, a simulation environment has to meet a variety of requirements. Simulation techniques are required that combine a flexible model design with efficient execution. The computational requirements of simulations of agent-based systems exceed the capabilities of single platforms. Each agent typically requires considerable computational resources, and many agents may be required to investigate the behavior of the system as a whole. These heavy workloads demand high-performance computation environments that support loosely coupled, distributed, concurrent simulation executions, a challenge for current research in parallel, distributed simulation techniques. Simulation systems for multiagent systems should also be able to interact with other simulation systems. This leads us to the second focus in combining agents and simulation, i.e., employing agents to execute models, and to implement flexible state-of-the-art simulation systems. II. SOFTWARE AGENTS FOR DISTRIBUTED MODELING AND SIMULATION Distributed modeling and simulation imply a geographically distributed set of models and their components, as well as concurrent execution of model-derived code. In distributing model components, we must design model and component repositories that should be accessible from a convenient source such as the World Wide Web (WWW). It should be possible to search these repositories for reusable objects. Although mechanisms do not yet exist for distributed model repositories, certain technologies such as

0018–9219/01$10.00 © 2001 IEEE

PROCEEDINGS OF THE IEEE, VOL. 89, NO. 2, FEBRUARY 2001

127

object oriented databases and extensible markup language (XML) will help in creating appropriate vehicles for model and component representations. The execution of a model can be realized by a community of distributed, concurrently interacting, and moving entities. Their interaction, composition, and location structure adapts itself to improve the efficiency of the simulation run. Different parts of the model can be executed by different agents specialized in different formalisms, e.g., continuous and discrete models. To balance the workload, processes must migrate from one site to another during simulation. The flexibility of these approaches promise scalability properties that are necessary to deal with heterogeneous, large-scale applications. Inspired by the agent metaphor, modeling and simulation environments can be thought of as a community of heterogeneous knowledge-based agents. These approaches can be traced back to research of the late 1980s, when there were attempts to employ expert systems and other knowledgebased techniques to facilitate many aspects of modeling and simulation. While some success was achieved in the past, the new multiagent designs may prove more adequate to the challenge with their emphasis on modularity, flexibility, concurrency, and collaboration. Particularly, access to data and models available from a multitude of sources on the WWW would significantly increase the available knowledge base for any one application. In many such applications, we may also be able to exploit the mobility of agents to significantly reduce the time it takes to get the needed knowledge and information back to the requesting application. To facilitate such exchange of models and data between different applications, agent-oriented techniques would seem to be needed. For example, we may need to apply knowledge interchange languages and protocols for interaction and negotiating that have been developed by agent-system researchers.

III. OVERVIEW OF THE SPECIAL ISSUE Many of the different issues raised by bringing together multiagent systems and simulation are reflected in the contributions to this special issue. The spectrum stretches from a general exploration of the role a metaphor might play when concretized by a visual modeling and simulation system, to example applications for the simulation and testing of multiagent systems. Problems in efficiently and effectively executing multiagent simulation are elaborated and answered by employing communities of processes with the ability to dynamically adapt their structure, interaction pattern, and their locations to the current simulation needs. Thus, the agent metaphor is used to design flexible and adaptive distributed simulation mechanisms. Distributed simulation systems can be built by using heterogeneous sources, where single simulation systems serve as stationary agents and communicate with other systems by launching mobile agents into the net. Agents are employed to develop large-scale distributed simulation systems. 128

“A Three-Dimensional Human Agent Metaphor for Modeling and Simulation,” by Hopkins and Fishwick, explores the role that visual and music elements play within agentbased simulation. While the field of agent-based computing takes a cue from the application of the agent metaphor, the metaphor is strengthened by surfacing agents as three-dimensional (3-D) people, and their resources as 3-D entities. Hopkins and Fishwick create a prototype operating system with agents and resources modeled in VRML, and the underlying behavior specified in JavaScript. The agent metaphor is also at the core of another paper, “Simulation with Learning Agents.” Gelenbe et al. describe how a dynamic system can be modeled more realistically by using the agent metaphor. If autonomous actors are involved in the modeling domain, the agent metaphor comes in handy to capture phenomena like learning by experience and individual decisions based on preferences. To adapt their behavior to their experiences, agents employ different decision strategies. The strategies imply not only a different performance, but also differ with respect to the required knowledge about the environment and the frequency at which learning has to occur. In paying attention to performance issues, we raise questions that are usually not well addressed in conventional agent-oriented research. Namely, an important feature of real (and artificial) agents is their consumption of, and dependence on, environmental resources. For example, the resource-boundedness of software agents that do planning is one of the important issues that simulation studies can throw light on. In the paper, “Planning Agents in JAMES,” by Schattenberg and Uhrmacher, software agents are not used to model existing real actors but to test alternative software designs where the elements to be tested are planning agents. In dynamic environments, planning agents are faced with the problem of reacting to changes in the environment while continuing to deliberate in pursuit of their goals. Different strategies of commitment and of opportunism are explored based on a general planning algorithm. The longer the agent needs for deliberation, the more likely the environment will change while the agent is deliberating, rendering the attained intentions meaningless. Testing of agents requires major efforts in modeling and execution. Therefore, the simulation system JAMES, a Java-based agent modeling environment for simulation, combines a hierarchical, modular model design with a distributed, parallel execution. Problems and promises of the simulation system are discussed. Difficulties in efficiently simulating multiple agents are explored by Logan and Theodoropolous in “The Distributed Simulation of Multiagent Systems.” They develop an optimistic strategy that allows agents to move ahead independently in time on the expectation that they will not suffer too much rollback to earlier states. This is combined with a dynamic approach to balancing the workloads on network nodes. Therefore, concurrent processes are organized in a tree-like manner, reorganizing themselves, creating new processes, deleting processes, and changing their roles depending on the current requirements of the simulation. A PROCEEDINGS OF THE IEEE, VOL. 89, NO. 2, FEBRUARY 2001

novel factor not studied in conventional studies is that, due to the mobility of agents, their spheres of interest change as do their interaction partners. Keeping track of all this and ensuring that the right messages are exchanged among agents in a reasonably efficient manner is the focus of the paper. Retrieving sensor data plays a central role in the system presented by Wilson et al. in “A Framework for Linking Distributed Simulations Using Software Agents.” Monitoring systems that collect data and distributed simulation systems are interpreted as agents that exchange information. Thus, software agents serve as a programming platform. By using a mobile agent system, the simulation and data systems become stationary agents that welcome mobile agents. The latter are responsible for transporting the required information from one stationary agent to the other. Using mobile agents allows the programmer to optimize between the requirements of a low-bandwidth, high-latency, or unreliable network connection, and, as illustrated in the paper, supports the design of flexible and effective distributed simulation systems. The requirements for modeling and simulation support of agent software design are explored in the last paper in this special issue, “A Layered Modeling and Simulation Architecture for Agent-Based System Development,” by Sarjoughian and Zeigler. One of the most important requirements is that the simulator (which performs the execution of the model of an agent in its real or simulated environment) should be clearly separated from the specification of the model itself. Many ad hoc simulation tools do not make this clear separation and so make it difficult or impossible to reuse the model code in other simulations or applications. The paper offers a framework for modeling and simulation of multiagent systems, which emphasizes such features as: • partitioning of services into layers that support “plug and play” interchange of equivalent implementation technologies; • use of component-based hierarchical model design based on the DEVS (discrete event) formalism; • easy migration of model code, first developed and tested in virtual simulation, to execution in real environments; • support of dynamic changes in the model’s composition and communication structures; • hybrid interoperation of discrete event and continuous models of the logic and physical elements, respectively.

PROCEEDINGS OF THE IEEE, VOL. 89, NO. 2, FEBRUARY 2001

IV. AGENTS AS METAPHORS The contributions of the special issue point out that the agent metaphor very nicely supports the development of state-of-the-art simulation systems, since it complements the mainstream of current simulation research. However, as metaphorical entities, agents do not solve problems by themselves. Using this metaphor to build simulation environments still requires developers to define and negotiate interfaces, semantic frames, and collaboration strategies that will provide the needed simulation services. Using agents as a metaphor in modeling real actors implies often a more fine-grained decision model that necessitates support and validation by theories and data. On the other hand, modern modeling and simulation techniques, including modular model design and distributed model execution techniques, are prerequisites for the systematic design and testing of multiagent systems. More research however, is needed before such techniques offer an effective toolset for developing reliable and efficient agent-based software. V. BACKGROUND OF THE SPECIAL ISSUE The idea for the special issue arose from the Dagstuhl Seminar on Agent-Oriented Software Approaches and Distributed Simulation, which took place in July 1999 at Dagstuhl, Germany (http://www.dagstuhl.de). These contributions summarize many of the discussions and work presented at the meeting that we felt worthwhile to bring to a broader audience. We thank all the authors for the pertinacity with which they supported our efforts, and the many referees from areas as varied as distributed artificial intelligence, neural networks, software visualization, distributed simulation, distributed computing, and software engineering. The referees provided detailed, constructive, and concise reviews. ADELINDE M. UHRMACHER, Guest Editor University of Rostock D-18051 Rostock, Germany PAUL A. FISHWICK, Guest Editor University of Florida Gainesville, FL 32611 USA BERNARD P. ZEIGLER, Guest Editor University of Arizona Tucson, AZ 85721-0104 USA

129

Suggest Documents