CHAPTER 9

CONCLUSION AND FUTURE WORK

Based on the previously developed component-based and Web-based simulation system, agent technology has been introduced to enhance the simulation environment even further. The main improvements are described below.

Combining the strengths of component and agent technologies, two model agents, BatchMeansAgent and ReplicationAgent, are implemented. These model agents can use batch means or independent replications methods, which are widely used for simulation data output analysis, to analyze different model bean’s simulation output. A user can select model beans and model agents dynamically to build simulation applications. This not only frees the simulationists from the detail of statistical analysis, but also enhances the quality simulation output data.

In the JSIM simulation environment, all the components involved in simulation are loosely coupled. The number of components involved may be large. Their properties are isolated from each other. This increases the complexity for simulationists to control the simulation. The scenario agent in JSIM unifies the important properties, related to output data analysis, from these components, and provides a graphical user interface. The scenario agent, which has the domain knowledge in simulation output data analysis, assists the simulationist in property modification and guides the user in the entire simulation process.

In the model bean development area, the new design of a class ModelBean, which is the super class of every model bean, completely isolates the bean aspects of the model from the simulation content aspects of the model. This simplifies the model content part and makes it possible to create new models using code generation. This also makes it easy to extend the current functionality of model beans without any effects on the model content part. JSIM supports the dynamic assembly of model federations. By utilizing component-based technology, in this case Java Beans, the environment is built up from reusable software components that can be dynamically assembled using visual development tools. Model beans can be linked to form model federations and may be linked to environment beans to control their execution and save their results in databases.

JSIM supports simulation inputs and outputs to be dynamically linked to database systems, making storage of simulation results easy and flexible. The use of JDBC in database access makes it easy to switch between several database management systems.

As a result, combining the strengths of agent technology, software component technology, code generation, and simulation output analysis technique, the JSIM Web-based simulation will supply a powerful, flexible, integrated, and reliable environment for building of new simulation applications and analyses of their output data.

Future work on JSIM will include adding the capabilities for code generation of model beans and utilizing new Java APIs, in order to enrich the visual appearance, the distributed capabilities, and the interoperability of the system.

A quick project could enhance the current jmodel package to create model beans by code generation. With the strength of the design of ModelBean class, this process is straightforward. If this is done any simulationists, who may not know Java at all, might be able to create simulation models visually.

The Enterprise Java Beans (EJB) API [Thomas, 98] will allow interacting models to be run on multiple machines just as easily as they are now run on a single machine. Furthermore, complete JSIM simulation environments will be run as distributed systems on heterogeneous platforms. In addition to EJB, Remote Method Invocation (RMI), Java IDL (CORBA) and Servlet technology will be explored.