Proceedings of the 2000 Winter Simulation Conference J. A. Joines, R. R. Barton, K. Kang, and P. A. Fishwick, eds. A JAVA-BASED SIMULATION MANAGER FOR WEB-BASED SIMULATION Charles Marr Christopher Storey William E. Biles Department of Industrial Engineering University of Louisville 304 J. B. Speed Building Louisville, KY 40292, U.S.A. Jack P. C. Kleijnen Department of Information Systems / Center for Economic Research Tilburg University P. O. Box 90153 5000 LE Tilburg, THE NETHERLANDS ABSTRACT This paper discusses a Web-based simulation manager program that executes an Application Service Provider (ASP) event for a customer who does not possess the in- house capability to program complex simulations. The utility in using this simulation manager is that the customer needs results in near real-time; that is, approximately the time to run one complete replication of the simulation model plus some overhead time to send the commands necessary to execute the simulation and to process the results. The simulation manager executes simulation studies in a parallel replications format, using either designed experiments or optimization methodologies, by sending the appropriate messages to a set of engine processors to cause the execution of the prescribed simulation trials. It then receives and analyzes the simulation results produced by the simulation engines, and sends a project report to the human customer. 1 INTRODUCTION The approach proposed here is aimed at carrying out a simulation study in a parallel-replications mode (Heidelberger 1988), utilizing a set of P slave processors available to a master processor called SimManager. By available we mean that the processors exist somewhere in the world and that their owners have entered into an agreement to participate in a simulation consortium that we shall call the Alliance. Through the Alliance agreement, these owners maintain their processors in the on state, with the simulation application accessed, so that they are available for use as slave processors (hence-forth referred to as simulation engines, or simply engines). We use the term SimManager here to identify the master processor that is controlling the simulation study and the term engines to refer to the processors that are actually executing the simulation trials. Other terms that are sometimes used to refer to this relationship are master/slave, supervisor/ worker, and client/server. Suppose that the simulation model involved in the project has input variables X i , i= 1,, N and performance measures Y j , j = 1,, M, and that the objective of the simulation study is to establish the best values of X and Y using an optimization scheme such as response surface methodology (RSM). The simulation study involves the execution of R replications at each of S system scenarios, so that the total number of simulation trials to be executed is K = RS. This simulation workload is assigned to P engines by the SimManager processor. SimManager sends a file to each simulation engine detailing that engines work assignment, receives back a file containing the statistical results derived from that engines efforts, and organizes these results into a form that meets the needs of the customer who has purchased the simulation study. This is often an iterative activity that takes place over several cycles. We assume here that a human analyst is available to intervene with SimManager to ensure proper execution, to maintain security, and to deal with those customers who want to interact with a human. This paper focuses mainly on the following interfaces: (a) that between the SimManager and its engine processors, (b) that between SimManager and its customer base, and (c) that between SimManager and its simulation model catalog. It describes methods for allocating workload to the P engine processors so that the simulation study is carried out in minimum time or at minimum cost. The objective is to give the customer the best service possible, which could entail providing personal presentations of the final report by expert simulation consultants. This personal contact could be a face-to-face training session to novice simulation customers, or a combination of telephone conversations and e-mail. 1815