SPA Wrapper
> Larger image (PDF Format)
Modular Components Approach
> Larger image (PDF Format)
SPA Model
> Larger image
SPA Implementation
> Larger imageOVERVIEW
The DRL has developed a wrapper to provide a common interface to encapsulate multi-discipline, multi-mission Science Processing Algorithms (SPAs). The wrapper also provides a structured, standardized packaging technique for future algorithm updates that will require minimum effort. (The DRL defines an SPA as an algorithm to which the wrapper has been applied.) Wrappers are implemented in Java. SPAs function in a standalone environment across platforms, to serve the needs of the broad Direct Readout community in the EOS, NPP and JPSS eras. SPAs enable the DRL's Modular Components Approach (MCA) for data processing.
MODEL
The wrapper is a uniform external interface on top of the underlying algorithm code (whatever that underlying code may be) that allows an arbitrary algorithm to be added to a generic processing environment. The wrapper assumes that the algorithm code:
IMPLEMENTATION
Wrappers are implemented in Java. In order to execute an algorithm, a generic Java wrapper core reads in two Extensible Mark-up Language (XML) documents:
After reading in the algorithm description documents, the wrapper core gets values for its input and output files from its environment (i.e., a list of labels and file pathnames on the command line when the wrapper system is running outside the data processing system environment). After validating the filenames (inputs exist and are readable, outputs are writeable), the wrapper interprets the main document—generating temporary files and directories, building command lines, executing them and checking their status, copying and renaming files so inputs and outputs appear where they are supposed to appear, with the naming conventions expected by the algorithm. After all of the executables have completed successfully, the SPA emits a labeled list of output files, suitable for passing on to other SPAs.