Design and implementation of shared memory and hybrid communication models for portico RTI

Özen, Serkan
As distributed simulations became a new trend in the simulation world by the end of 1990s, a need for standards that provide rules for intercommunication of complex simulation systems has appeared. High Level Architecture (HLA) has been proposed by the United States Department of Defense (DOD) and has become a widely-used standard for the intercommunication of distributed simulations. The software that implements the HLA standard is called run-time infrastructure (RTI). Various closed and open source RTIs exist for public and commercial use. Well-known and widely-used closed source RTIs use various types of communication models like TCP, UDP and shared memory in their implementation. Currently, Portico RTI has two main communication models which are Jgroups and Java Virtual Machine (JVM) models. JVM model provides federates with a shared-memory like environment whereas Jgroups provides a network based communication services to federates. JVM model does not provide a real shared-memory environment where federates run as separate processes. Federates have to be invoked as separate threads in JVM model. If one of federates crashes, then whole federation might crash as well. Moreover a separate wrapper class has to be written in order to invoke federates as separate threads. All of these reasons motivated us to develop a real shared-memory communication model for Portico RTI. In this thesis we also aim to make shared-memory model work in a hybrid manner with another communication model, Jgroups. We present the new model, and compare evaluation results with the Portico implementation.