Software system aids development of application programs that analyze signals.
Pattern Interpretation and Recognition Application Toolkit Environment (PIRATE) is a block-oriented software system that aids the development of application programs that analyze signals in real time in order to recognize signal patterns that are indicative of conditions or events of interest. PIRATE was originally intended for use in writing application programs to recognize patterns in space-shuttle telemetry signals received at Johnson Space Center’s Mission Control Center: application programs were sought to (1) monitor electric currents on shuttle ac power busses to recognize activations of specific power-consuming devices, (2) monitor various pressures and infer the states of affected systems by applying a Kalman filter to the pressure signals, (3) determine fuel-leak rates from sensor data, (4) detect faults in gyroscopes through analysis of system measurements in the frequency domain, and (5) determine drift rates in inertial measurement units by regressing measurements against time. PIRATE can also be used to develop signal-pattern-recognition software for different purposes — for example, to monitor and control manufacturing processes.
PIRATE was preceded by a custom stripchart-analysis program that took a long time to develop and offered little opportunity for reuse. Also available prior to the development of PIRATE were commercial block-oriented development software systems that were useful for prototyping but exhibited significant limitations: for example, they could not be used to produce real-time application programs, could not be used to develop software compatible with the hardware and the other software of the Mission Control Center, could not be used to develop application programs that could function in the face of the communication difficulties (especially, intermittency and errors) inherent in monitoring remote equipment, and could not provide pattern-recognition capabilities. PIRATE overcomes these deficiencies to a large extent, and goes beyond that by including a C-language interface that provides unprecedented flexibility.