In 2003 I (along with 4 other 3rd year Software Engineering students at the University of Melbourne) were involved in a year-long project with the Defence Science and Technology Organisation (DSTO). As well as learning how to produce quality software as a 5-person team, a large emphasis of the project was on producing professional-quality documentation (requirements specifications, design, etc…). All of the official documentation is available here for download. Unfortunately the executable is unavailable.

Click on image for full-size version
Introduction
Our project was to build an Event-Driven Distributed Interactive Simulation (DIS) Protocol Data Unit (PDU) data logger (the EDDIS System). The software was developed as a replacement for the DSTO’s existing DIS PDU logger. The DSTO’s old system captured simulation data during mission reharsals and played back data during After Action Reviews (AARs). It was capable of playing back logged data but did not display the contents of the data file or allow the user to begin playback from any position other than the beginning.
The purpose of the proposed system was to give the user greater control over data playback. That is, allow them to playback, pause and skip forwards or backwards from any position in the data file, specifying the time by clicking on a graphical representation of the data (a time-line of events from the simulation). The proposed system captures and plays back PDU data, and was designed so that extensions to the system allow the user to view event information. The main emphasis of the system was to add a level of interactivity to the data playback process. That is, allow the user to playback, pause and skip forwards or backwards from any position in the data file, and to play back the data at variable speeds. The design made it easy for a future modification to give the user the ability to specify a playback interval by clicking on a graphical representation of the data file’s contents (a time-line of events from the simulation). For example, if a missile is fired, then the user could identify that event on the display and jump to the “missile fired” event during playback. The system also allowed the user to play back the simulation at a speed which is specified in the configuration file.
Official Documentation