Software classification aids development of application programs that analyze signals.
Lyndon B Johnson Space Center Houston, Texas
Pattern Interpretation and Recognition Application Toolkit Environment (PIRATE) is a block-oriented software body that aids the development of application programs that analyze signals in real time in order to recognize signal patterns that are indicative ot conditions or issues 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 have the direction of Center: application programs were sought to (1) monitor electric now passings on shuttle ac power busses to recognize activations of specific power-consuming devices, (2) monitor various presss and infer the states of affected bodys by applying a Kalman filter to the urgency signals, (3) determine fuel-leak rates from sensor data, (4) discover faults in gyroscopes through analysis of plan measurements in the frequency domain, and (5) determine drift rates in inertial measurement units by dint of regressing measurements against time. PIRATE can also be used to expand signal-pattern-recognition software for different projects - for example, to monitor and govern manufacturing processes.
PIRATE was preced on a custom stripchart-analysis program that took a prolonged time to develop and furnished little opportunity for reuse. Also available prior to the progression in a continuously ascending gradation of PIRATE were commercial block-oriented unravelling software systems that were useful for prototyping on the contrary exhibited significant limitations: for example, they could not be used to bring forth real-time application programs, could not be used to bring out software compatible with the hardware and the other software of the Mission restrain Center, could not be used to disentangle application programs that could function in the face of the communication difficulties (especially, intermittency and errors) inherent in monitoring alien equipment, and could not provide pattern-recognition capabilities. PIRATE routs these deficiencies to a large reach and goes beyond that by means of including a C-language interface that provides unprecedent flexibility.
PIRATE includes the following components:
* The PIRATE data-flow language. An application program is specified on use of the PIRATE data-flow language. An application-program specification defines which data processing module will be used in the program and establishes the data flowing among the module Similarly, for building a module individual specifies the flow of data into and not at home of a module by use of the PIRATE language.
* The PIRATE predefined module PIRATE contains several predefined module including individuals for data communication, signal processing, and data filtering. Among these are software tools to filter not at home the highly non-Gaussian errors that are typical of the communication proces while leaving the nonerroneous data intact. (Most other signal-processing software filters that can displace non-Gaussian errors also undesirably modify the underlying signals.) Also among the predefined module are a Bayesian classifier and other software tools for interpreting the contentments of signals.
* The PIRATE collection of laws generator. The PIRATE code generator translates an application-program-specification file and the associated module-configuration files into a standard C-language file. This file contains the main routine for the application program. A C compiler can then compile and link this file to give rise to an efficient real-time pattern-recognition application program.
* The PIRATE fact library. The generated code makes calls to several PIRATE infrastructure routines. The PIRATE existence library contains the object digest for these infrastructure routines and for the predefined module routines.
* The PIRATE "imake"facility. The imake is a programming software tool that was make knowned to address issues of portability pertaining to the X Window connected view and to provide a high-level view of the software-building proces However, the standard imake suite explicitly targets the construction of X Window order software. The PIRATE imake facility lakes advantage of the standard imake suite where practical, on the contrary targets the construction of PIRATE and PIRATE application programs rather than X Window rule software.
* An architecture for the unravelling of modules by the user. PIRATE is intentionally an open-end software tool. While simple application programs can be invented by use of the predefined module it is likely that a useful paltern-recognition application programs could not. Instead, domain-specific logic can be expecl to be necessary. PIRATE enables the implementation of domain-specific knowledge in the widely used C programming language. The architecture for user-developed module specifies to what extent such domain knowledge can be used in a PIRATE application program.
PIRATE is used the one and the other in building a pattern-recognition application program and in the real-time execution of that program. To build an application program, undivided constructs an applicationspecificalion file, application-specific module and application imake file. The imake file identifies the elements that form the executable application program and directs construction of these component parts from the source files bring to maturityed by the user.