A system for recording and displaying events has been developed at the Aerodynamics Laboratory of the National Research Council.
Event generation was added to several of the legacy programs, written in C, that make up the majority of the wind tunnel data acquisition system. Particular attention was paid to the sections responsible for status and error reporting, as well as to the code responsible for maintaining the state of the entire system. Event generation was also added to two LabVIEW based systems: motion control, and infrastructure support, and to the test configuration and data visualization systems written in Perl.
The system has already proven to be of considerable value for testing and debugging. While still under development, it was used to find and eliminate a long-standing bug in the wind tunnel data acquisition software. During one week of wind tunnel testing for an external client, over 8000 events (>600Kb) were saved to disk. Since logging has been implemented on only a small portion of the intended code, as much as an order of magnitude increase in the number of events is anticipated.
Future plans for the system include the expansion of the
MAILTO:
mechanism to allow for other, more
immediate methods of user notification.
The knowledge and understanding gained during the design, coding and commissioning of this system has further reinforced the correctness of the decision by the Software and Instrumentation Group of the Aerodynamics Laboratory to adopt a web-based, device-independent design philosophy.
Although implemented on a Silicon Graphics INDIGO2 workstation, the use of HTTP and CGI allows interactive access from any networked computer with a modern web browser and programmatic access from systems that support Perl, C or LabVIEW. To the user, the system appears to be a simple set of web pages. The internal workings of the code and the UNIX interprocess communications are completely hidden behind the familiar point, click, and fill-in-the-blanks interface of the browser.
The author would like to thank Mr. S. Totolo for his work in implementing the LabVIEW client module.