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
INTERNET-BASED SIMULATION USING OFF-THE-SHELF SIMULATION TOOLS AND HLA
Steffen Straßburger, Thomas Schulze, Ulrich Klein Department of Computer Science
Otto-von-Guericke University Magdeburg
Universitätsplatz 2
D-39106 Magdeburg
James O. Henriksen Wolverine Software Corporation 7617 Little River Turnpike, Suite 900 Annandale, VA 22003-2603, U.S.A.
ABSTRACT
The United States Department of Defense’s High Level Architecture for Modeling and Simulation (HLA) 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 high-level languages (primarily C++). This paper presents approaches by which HLA can be used to interconnect distributed model components which are developed using commercially available, off-the-shelf simulation software. The requirements imposed on such simulation software by HLA are discussed, and four approaches for adapting such software for use with HLA are presented.
A generalized, model-independent approach which was developed for SLX is presented.
1 INTRODUCTION / MOTIVATION
In the past several years, the Internet and its multimedia front-end, the WWW, have undergone rapid expansion and achieved world-wide acceptance. Exploiting the Internet and WWW for use in modeling and simulation holds great promise, but provides significant technical challenges (Dorwarth et al. 1997).
The development of distributed simulations requires two types of functionality, (1) a simulation language or package in which model components are constructed, and (2) tools which implement a protocol by which model components can be interconnected. In an ideal world, both types of functionality would be integrated into a single simulation package which one could purchase “off the shelf.”In the absence of an integrated package, one can consider two approaches. One could start with an existing language, such as Java, which fulfills many of the requirements for communication over a network, and add simulation capabilities. Alternatively,one could start with a simulation language and add the tools necessary to accomplish interoperability over a network. Silk (Healy 1997) is an example of the former approach. The work described in this paper is an example of the latter approach.
We chose SLX (Henriksen 1996, 1997) as an off-the-shelf simulation tool, because it provides both excellent simulation capabilities and mechanisms for communicating with packages written in languages other than SLX.
There are a number of protocols which have been developed for constructing distributed, interoperable simulations (e.g. Aggregate Level Simulation Protocol ALSP, Distributed Interactive Simulation DIS). We chose the High Level Architecture (HLA) as the protocol for adding distributed interoperability to SLX. Still under construction, DoD’s HLA protocol surpasses its predecessors while maintaining a degree of upward compatibility.
Most of the sample applications using HLA released by DoD to date have been written in conventional high-level programming languages such as C++, ADA95, Java or even FORTRAN.
Constructing simulations in conventional languages has a number of disadvantages which have been well-known since the 1960s. Many factors influence the choice of a language. Often, language choice is almost a matter of religion. Notwithstanding the burgeoning use of C++ as a tool for developing simulations, we feel that it is particularly ill-suited for such use, for the following reasons:
1.It is difficult to learn.
2.It is too easy to make mistakes which have
disastrous consequences, but are difficult to find,
e.g., faulty use of pointers.
3.It lacks an inherent mechanism for describing
parallelism.
4.Its debugging tools are simulation unaware, i.e., they
operate at a level far below that which would be convenient for most simulationists.
HLA was designed to be usable with a wide variety of