Saturday, August 2, 2008

Getting Started With HLA

HLA is a framework to integrate distributed software entities running in heterogeneous environment (both hardware and software wise) and communicating with each other over a network to achieve the overall goal ; following certain specifications while doing so.

The High Level Architecture (HLA) is a software architecture for creating computer simulations out of component simulations. It was proposed by US DoD and later standardized by IEEE as an open standard IEEE 1516.

The main aim of HLA is re-usability and interoperability of complex distributed software entities. So, an HLA-compliant Air Traffic Controller simulation can be used by many other HLA-compliant applications, no matter in which computing environment they are developed and running.

This architecture is just a specification and not an implementation. It is essentially a service-oriented architecture. Any HLA-compliant simulation is called a FEDERATE. A federate can provide some service (data) to other federates or it may receive required data from other federates. This data exchange intent is maintained in a repository called FEDERATION OBJECT MODEL (FOM) implemented in accordance with OBJECT MODEL TEMPLATE (OMT).

A federate may be a PRODUCER or a CONSUMER or both. A producer publishes its services and consumer subscribes to these services. The repository acts a service directory and uses standard data exchange format XML. To communicate with each other, federates need a supporting communication software called RUN-TIME INFRASTRUCTURE (RTI) which is an implementation of six groups of services as specified in HLA framework and caters to the requirements of distributed simulations. These six groups of services are Federation Management, Data Management, Object Management, Ownership Management, Distributed Data Management and Time Management. Federates together with RTI constitute a FEDERATION. The RTI allows creation/destruction of federation, join/resign of federates and data exchanges among federates. It optionally provides filtered data delivery and may handle errors in order of receiving data due to network delays and other speed mismatches. These functionalities are according to 10 rules (5 rules for federation & 5 for federates) of HLA standard.

Although HLA was developed for military simulations but it is a general purpose architecture and can be used building simple to complex applications. Some of the simple applications are chat and multi-user games like Tic-Tac-Toe. Complex applications may include distributed war-gaming applications with intense data exchanges among participating entities.

With this brief introduction, its time to develop HLA-compliant applications. You can start simply by downloading RTI software. It comes with sample federates and their source code to start with. Suggested websites and books are mentioned below.

* Suggested Website for HLA specification

US Defense Modeling and Simulation Office official website

* Suggested Book

Frederick Kuhl, Richard Weatherly, Judith Dahmann, Creating Computer Simulation Systems - An Introduction to the High Level Architecture., PHI, 2002.

* Website for RTI software

Free Limited Edition of RTI software, pRTI1516 is available for download from Pitch Inc, Sweden website

Wish you a happy encounter with HLA…

No comments: