provides a standardized interface for distributed simulations. The recent advent of HLA has greatly increased interest in the use of distributed, interoperable simulation model components. To date, most models using HLA have been developed in conventional
tools. This generality prompted us to consider its use in conjunction with classical, discrete event simulation tools which have no built-in distributed simulation capabilities.
Section 2 of this paper presents a short introduction into HLA. Section 3 discusses the requirements that HLA imposes on commercially available, off-the-shelf simulations tools. Section 4 presents several general solutions for adapting a simulation tool for use with HLA. Section 5 presents a detailed description of a solution we developed for SLX.
2 HIGH LEVEL ARCHITECTURE
HLA is a simulation interoperability standard currently being developed by the US Department of Defense (DMSO 1997).
The architecture is defined by :
1.rules which govern the behavior of a distributed
simulation, called a federation, and the individual distributed components, called federates, which comprise the federation. (DoD 1996).
2.an interface specification which defines the interface
between each federate and the Runtime Infrastructure (RTI). The RTI is responsible for providing communication services and coordination among federates. All communication among federates is conducted using RTI services. Federates cannot communicate with one another directly.
Communication is based on the use of ambassadors: A federate calls methods of an RTI ambassador object to communicate with the RTI.
Conversely, the RTI calls methods of a federate ambassador object to communicate with it. The RTI’s ambassadors are built into the RTI. Federate ambassadors must be provided for each federate. 3.an Object Model Template (OMT) which provides
the framework for defining federations and federates. The OMT is the foundation of the object-oriented world view embraced by HLA. A Simulation Object Model (SOM) must be supplied for each federate in accordance with the OMT. A federation can be viewed as a contract between federates on how a common federation execution is intended to be run (DoD 1997a).
The RTI provides several services which support interoperability. One of the most important services for event-driven simulation tools is the coordination of their simulation clocks. The time management services provided by HLA allow the transparent running of federates under different time regimes including real-time, time-stepped, and event-driven simulations (DMSO 1997a).
3 REQUIREMENTS
The requirements imposed on simulation and animation tools by the HLA are considerable. They can be separated into two categories: (1) requirements derived from the HLA Interface Specification and the resulting programming paradigm, and (2) requirements derived from being part of a distributed simulation in general. Both categories will be discussed in the following sections, and some general solutions will be discussed.
3.1 Requirements derived from the HLA programming paradigm
One of the major building blocks of HLA is the Interface Specification. HLA defines a two-part interface which federates are required to use for communicating with the Runtime Infrastructure (RTI). This interface is based on an ambassador paradigm. A federate communicates with the RTI using its RTI ambassador. Conversely, the RTI communicates with a federate via the federate’s ambassador. From the federate programmer’s point of view these ambassadors are objects and the communication between the participants is performed by calling methods of these objects. (Figure 1)
Figure 1: The ambassador paradigm
In versions of the RTI provided by DMSO, the RTI ambassador object is provided in a software library which is used by a federate. This library can be dynamically connected to the federate during model execution; i.e., federates do not have to be bound to the RTI in advance of execution. The Windows NT version of the RTI uses Microsoft dynamic link libraries (DLLs). RTI implementations for other operating systems use similar facilities.
A federate is responsible for constructing proper calls