Introduction

GizmoDistribution is a toolkit for creating distributed software systems in C++. It has emerged from the demands for efficient and reliable real-time data exchange in the military simulation and training systems developed at SAAB.

The toolkit offers an efficient, reliable and easy to use platform for systems and applications that need real-time network distribution of data, e.g. distributed simulation, command and control (C4I), network gaming, industrial automation and sensor networks.

The distribution mechanism implements a data-centric publish/subscribe design pattern that decouples publishers from subscribers to enhance flexibility and scalability. It distributes events and object states rather than providing a general purpose RPC mechanism, to make efficient use of available computer resources. Data can be shared in a uniform manner between workstations on a network as well as between threads in a single process application.