CHAPTER 1
INTRODUCTION
Simulation analysis in Web-Based simulation involves greater degrees of freedom than in traditional simulation. The number of simulation models available and the amount simulation data are likely to be much greater. In order to assure the quality of data, the execution of models should be managed. Since the user community will also be larger, quality assurance should be delegated to agents responsible for defining scenarios and executing models. Agent technology built on top of Java beans has been added to the JSIM Web-based simulation environment for this purpose. In JSIM, model agents and scenario agents, which are encapsulated as JavaBeans, have been implemented to control the simulation automatically based on statistical criteria set by the user.
1.1 Background of Web-based Simulation
Web-based simulation is an important new direction for simulation research and development. In its ideal form, Web-based simulation should allow the simulation models as well as simulation results to be as readily distributable and composable as today's Web documents [Miller et al., 98]. Clearly, this is easier to say than do. It is easy to hyperlink documents even if authored by different people. Hyperlinking simulation models is not so easy. Easier than hyperlinking models is making models widely and easily accessible over the Web. Executable content (e.g., Java applets) facilitates this type of client side execution. Expensive or long-running
simulation can still be executed on powerful severs. This can be done by having a thin client running on a browser communicate with a server where the models run as, for example, Java servlets or applications. Because of the larger scope and scale of Web-based simulation, provision for an appropriate simulation environment takes on a higher level of importance. With the potential of having models executing all over the world producing simulation results, it would be wasteful not to store these results. Java Database Connectivity (JDBC) makes it easy to store simulation results in an organized fashion in relational or object-relational databases. Although JDBC takes care of low level database connectivity issues, many higher level issues remain. Java also facilitates the construction of friendly Graphical User Interfaces (GUIs) to present results from databases. Consequently, users need not know detailed formatting specifications in order to access simulation results stored in databases all over the Web. For rapid model development, the environment should provide visual tools for designing simulation models [Fishwich, 96, 98a, 98b].
1.2 Agent-Based Execution
As is apparent from the previous discussion, the execution environment for Web-based simulation may be anywhere from straightforward to enormously complex. If it is not straightforward, then users (e.g., simulation analysts or business decision-makers) require help to execute the models. Rather than having a fixed way to execute models, it would be better to have a dialog with the user to determine what s/he wants done. Once this is known, resources should be enlisted to accomplish what the user wants. Agent technology facilitates flexible solutions to such complex problems making it particularly useful for Web-based simulation [Campos, 98]. One agent may interact with the user, and then based upon profiles of other specialized agents, contract with them to perform the work. The agents collaborate to solve the overall problem [Miller et al., 99].
1.3 Overview of JSIM
Just like other fast growing areas in Web-based simulation, JSIM, a research in Web-based simulation systems and environments implemented in Java [Nair et al., 96, Miller et al., 97], has evolved to incorporate the newest approach to software development, component-based technology [Miller et al., 98]. The brief overview of JSIM can be seen in figure 1. More detail about the JSIM will be discussed in chapter 4 and later chapters.

Figure 1: Layers of Packages in JSIM
The bottom layer consists of the queue, statistics and variate packages. These packages are generally useful in simulation as well as in other related application domains. The middle layer supports the two most popular simulation world views or paradigms. The event package supports the construction of event-scheduling type models while the process package supports the construction of process-interaction type models. The top layer provides a flexible environment for Web-based simulation, which is the main task of this thesis. This thesis not only created the runAgency package but also made the major modification for the jquery package.
1.4 Output Analysis for Web-based Simulation
From an application point of view, simulation analysts or business decision-makers use simulation model to help them make decisions. These decisions may rely on the results of outputs. Output analysis is the analysis of data generated by a simulation. The purpose is to predict the performance of a system, or to compare the performance of two or more alternative system designs. Statistical analysis methods are widely used to estimate system parameters from simulation data. For example, the mean value of simulation data can be used to predict performance of the system, and the standard deviation can be utilized to describe the precision of the simulation data. By this approach, the number of observations required to achieve a desired precision can be determined by statistical methods. Basically two types of statistical analytical methods can be used for output data analysis in JSIM Web-based simulations. One is the independent replications method; the other is the batch means method. In first method, several independent simulations are executed, and data for each simulation is collected. In the second method, a long simulation is executed. The data is separated into contiguous batches. The algorithm used for batch means method makes use of part of the algorithm described in a paper written by George S. Fishman [Fishman, 97]. It asks the user to input the initial batch size and the number of batches, and then it can collect data, check the correlation among batches and relative precision. If the goals of these statistical criteria have not been met, it either increases number of batches or doubles the size of batch until all these goals are reached.
Chapters 2 to 4 will discuss the technological infrastructure of software components, background on intelligent agents, the techniques of simulation output data analysis, an overview of JSIM, and other issues related to Web based simulation. The remaining chapters will focus on the work done for this thesis. This work includes software agents. The details of three intelligent agents, ScenarioAgent, BatchMeansAgent, and ReplicationAgent will be presented. These agents are built on top of software components, i.e., they are JavaBeans too. Other software components related to simulation output analysis such as DbUpdate bean, DbQuery bean, and DbBrowser bean are discussed as well. Several important classes, which are directly related to these components and agents, such as VirtualScheduler, and ModelBean are also covered. The design issues related to implementation of these agents and beans are discussed at the same time.