AN ANALYSIS OF INTERNAL/EXTERNAL EVENT ORDERING STRATEGIES FOR COTS DISTRIBUTED SIMULATION Simon J. E. Taylor Navonil Mustafee Centre for Applied Simulation Modelling Department of Information Systems and Computing Brunel University UB8 3PH, Uxbridge, England E-mail: simon.taylor@brunel.ac.uk KEYWORDS COTS Simulation Packages, Distributed Simulation, Discrete Event Simulation. ABSTRACT Distributed simulation is a technique that is used to link together several models so that they can work together (or interoperate) as a single model. The High Level Architecture (HLA) (IEEE 1516.2000) is the de facto standard that defines the technology for this interoperation. The creation of a distributed simulation of models developed in COTS Simulation Packages (CSPs) is of interest. The motivation is to attempt to reduce lead times of simulation projects by reusing models that have already been developed. This paper discusses one of the issues involved in distributed simulation with CSPs. This is the issue of synchronising data sent between models with the simulation of a model by a CSP, the so-called external/internal event ordering problem. The motivation is that the particular algorithm employed can represent a significant overhead on performance. INTRODUCTION Distributed simulation is a technique that is used to link together several models so that they can work together (or interoperate) as a single model. The High Level Architecture (HLA) (IEEE 1516.2000) is the de facto standard that defines the technology for this interoperation. Models, or federates, interoperate together to form a federation. Interoperation takes the form of organised communication of data specified in a Federate Object Model, using tables derived from the Object Model Template (IEEE 2000b), via supporting communication technology called a Runtime Infrastructure (RTI) (as defined by IEEE 2000a). Currently the HLA is most widely used in real-time simulation of defence related training problems. In many areas of industry, COTS Simulation Packages (CSPs) are used to model systems in diverse domains such as commerce, defence, health and manufacturing. A CSP is a generic term that refers to a computer simulation package that is a visual interactive modelling environment that helps simulationists to build models, perform experiments, visualise and report during simulation projects. Although not exclusively, they are typically based on some variant of the discrete event simulation paradigm, i.e. models change state at discrete points in time by scheduled or conditional events and typically represent entities or objects (documents, patients, parts, trains, etc.) in some form that pass through networks of queues and workstations (work queuing at a desk in an office, patients waiting to see a doctor, parts buffered for machining, trains waiting at a station, etc.) Generally, each package has a range of basic model elements (queue, workstation, resource, source, sink, etc.) and advanced model element (conveyor, shift worker, warehouse, etc.) that are used to build a model via a drag and drop visual interface. Each model element can be modified as is required, either by a menu system or by a package programming language, to better represent the system being studied (for example the queuing logic of a queue or the behaviour of a resource). Entities or objects can be represented and differentiated by attributes. Terminology between packages differs as there is no generally recognized naming convention. The creation of a distributed simulation of models developed in CSPs is of interest. The motivation is to attempt to reduce lead times of simulation projects by reusing models that have already been developed. For example Boer, et al. (2002) discuss the use of distributed simulation to simulate container handling at a port, while Sudra, et al. (2000) and Taylor, et al. (2002) discuss how distributed simulation can facilitate the modelling of supply chains and problems in the automotive industry. A factor that distinguishes this work from other research in distributed simulation is that interoperation must not only take place between models but also the CSPs in which the models reside. This paper discusses one of the issues involved in distributed simulation with CSPs. This is the issue of synchronising data sent between models with the simulation of a model by a CSP, the so-called external/internal event ordering problem. This is of interest as the particular algorithm employed can represent a significant overhead on performance. The paper is structured as follows in section 2 we describe the external/internal event ordering problem in more Proceedings 15th European Simulation Symposium Alexander Verbraeck, Vlatka Hlupic (Eds.) (c) SCS European Council / SCS Europe BVBA, 2003 ISBN 3-936150-28-1 (book) / 3-936150-29-X (CD)