Use of Components and Agents in Web-Based Simulation

Perakath Benjamin

Knowledge Based Systems, Inc.
1408 University Dr. East
College Station, TX 77840

This panel talk will discuss the role of software components and software agents in web-based simulation modeling and analysis.

1.0 Motivations

The increasing complexity of systems has enhanced the use of simulation as a decision-support tool. Often, simulation is the only scientific methodology available to practitioners for the analysis of complex systems. However, only a small fraction of the potential practical benefits of simulation modeling and analysis have reached the potentially large user community because of the relatively high requirement of time, effort, and cost needed to build and successfully use simulation models. Recent advances in information technology provide an opportunity to improve the productivity of simulation model development and deployment activities. In particular, two emerging technology areas offer the potential to enhance the effectiveness of web-based simulation: (i) the component-based approach to software development and (ii) software agents.

2.0 Web Based Simulation

Web-based simulation efforts seek to exploit the Internet and the worldwide web to help improve simulation modeling and analysis. The Internet can be used to impact two different aspects of simulation modeling

3.0 Component Based Software Development

The component based approach to software development is an area of intense research and development in the information technology community. This approach seeks to provide the mechanisms that will allow developers to assemble software systems from collections of re-usable parts or building blocks. This approach has been very successful in the hardware world as evidenced by the "plug and play" hardware peripherals for computers. The path to success has been considerably slower in the software arena owing to inherent complexity of software. The convergence to a relatively robust set of "standard" languages and protocols in the past few years augurs well for increasing plug compatibility in the software domain. Prominent technologies that facilitate component-based software development include COM, DCOM, ActiveX, IIOP, RMI, Java Beans, and Corba. Related techniques are design patterns, analysis patterns, and object oriented design and analysis methods. Another important body of work is ongoing Department of Defense (DoD) work on distributed simulation and the High Level Architecture (HLA). HLA is a technical architecture that specifies how military simulationists will build and deploy simulations. HLA is designed to promote re-use and inter-operability among disparate developers and end users that are distributed in space and time.

Role of Components in Web Based Simulation

Software components and the component based approach can be used to facilitate both distributed simulation model development and simulation model application on the Internet. The approach suggested by MOOSE [Fishwick 97] discusses elements of the former. The use of components for deploying simulations to enable distributed analysis has been the focus of many recent initiatives including JSIM [Miller et. al 99] and IDES [Nicol et. al 97]. Moreover, we see the potential to leverage and adapt the HLA concepts, methods, and designs for distributed web based simulation development and analysis.

The panel talk will discuss leverage-able technology areas, discuss their relative merits and outline areas that need more research and development efforts. We will also share our own experience in developing component based simulation environments.

4.0 Software Agents

Software agent technology is an emerging area that appears to offer significant benefits to the simulation community [Jennings et. al. 96]. The concept of an agent was first introduced by Carl Hewitt in his concurrent actor model. Shoham defines an agent as "a software entity which functions continuously and autonomously in a particular environment, often inhabited by other agents and processes" [Shoham 93]. Key characteristics that agents should exhibit include: (i) Autonomy: where agents have internal states and goals, and they behave in a manner that enables accomplishment of goals on behalf of its user, (ii) Cooperation: where agents must be able to cooperate with other agents or human users, and (iii) Learning: where agents must improve their performance over time. Agents that exhibit the learning characteristics can be termed "intelligent" agents.

Role of Software Agents in Web Based Simulation

Agent technology can be adapted and used to benefit web based simulation model development and application.

The panel talk will outline potential application areas for using agents with simulation. We will also share our own experience in integrating intelligent agents with simulation-based applications.