During the development of scientific space experiments, sophisticated test equipment is needed to operate the instrument and its various operational modes and to format the data received from the instrument to an easily interpretable extract.
The software package, known as Ground Support Equipment Operating System (GSEOS) was designed to support all stages of experiment development, from bench checking and spacecraft integration up to “quick-look” during flight operation. Using the same test system for the whole lifetime of the instrument including the total instrument software development cycle avoids fragmentation and duplication of efforts, which would result in higher costs, more schedule and technical risk, and reduced capability.
The GSEOS V is highly configurable. Most of the configuration can be developed interactively on the running system, assisted by a graphic editor. All modules of the program use the same configuration language. So, it is guaranteed that all of the functionality built in the GSEOS V is usable in every module. E.g., it is possible to command the GSEOS V via network or a serial communication port in the same way as the user is doing it by clicking a command button.
The main advance of GSEOS V is the new quality of configuration capability because of the built in compiler. This compiler uses a special configuration language based on C as input. All data definitions, the whole data processing and command functions are contained in G-language applications. This high flexibility provides new operation options of the EGSE S/W system. In addition to abilities to bench test, S/C integration and flight operation, GSEOS V provides endurance tests and operational simulations with G-language applications.
The GSEOS V runs under the operating systems Windows NT/2000/XP on INTEL PCs. The INTEL platform is extremely cost effective and widespread. For highest data rates the system fully supports multiprocessing. Currently more than 40 different space instruments are using GSEOS.
The GSEOS V contains the following tools:
At any time it is possible to send experiment commands and simulator commands directly to the H/W or via network. The commands are activated by touching a button on the Data Display or are executed time tagged or event driven. It is possible to define a command database. All commands may have parameters. Mathematical expressions as parameter are fully supported.
Experiment data is grouped into blocks (e.g. Science Data, Housekeeping Data). Blocks are user-defined structures on bit level. The data blocks and the elements inside the block can be accessed by symbolic names. There are no restrictions for the nesting depth of elements within the block structure.
Data processing in the GSEOS V is data driven. After arrival of a data block the Decoder module calls a user defined decoder function for this special block type. Inside this decoder function all data processing takes place. The data may be rearranged as new blocks (e.g. sub-/ super-commutation) or commands are sent (e.g. simulation of sensor response).
Data Monitoring can be done by Data Decoder. Exceeding of a data block element limit activates user defined actions (e.g. switch power supply off, generate error log). Monitoring is applicable to all data known by the GSEOS V.
Both experiment and simulator data can be displayed as QLook Items on the Data Display in selectable formats (hex, decimal, text, bitmap, histogram, plot y(t), plot y(x), etc.). The QLook Items are displayed in different Data Displays organized as tree. The count of Data Display is practically unlimited.
Storage of command, data, and status protocols on the disk or network drive is supported.
All incoming and outgoing data can be stored to and played back from disk drive. There are several modes for data replay (backward, forward, single step, continuous, real-time, time scaled, seek on date/time, seek on expression). A Recorder Database Manager shows information about the recorded data (e.g. recorder session name, recorded block names, start/end time). Any file oriented mass storage device is supported (e.g. hard disk, magneto-optical disk, network drive).
Command Batch Files
The GSEOS V supports command batch files. Batches are useful for automatic test procedures. Commands can be activated either time-triggered or event-driven. The GSEOS is able to run several batches simultaneously and independently. This feature is useful to generate sequences of test data independent of and asynchronous to the operation of the unit under test. A user controlled Batch Manager is capable to view, suspend, resume, and abort running batches. For synchronization of the several batches special commands are foreseen. Together with monitoring and data logging automatic system tests can be run without any user supervision.
External Program Calls
External program calls including parameters are supported (e.g. call IDL interpreter to process data, call Microsoft EXCEL for use of its data display functionality).
External DLL Interface
The DLL interface provides an excellent an easy way to integrate external functions (e.g. user written algorithms in C, wavelet based image coding/encoding, MATLAB generated modules, third-party H/W driver). The external DLL may be written in any language.
The GSEOS PC can be connected to the network on TCP and UDP level. The full program functions are accessible via network (e.g. data transfer to other Ethernet user, remote commanding). The GSEOS supports both client and server mode of communication. Special communication protocols (e.g. CCSDS, SFDU) are implemented as data decoder functions.
Up to 255 serial communication ports are supported by the GSEOS. Like a network connection a serial connection can exploit all program functions. Data decoder functions are used to decode the communication protocol. Further there are special functions to control the handshake signals.
Special H/W Support
To access special H/W (e.g. spacecraft and sensor simulators) the GSEOS V uses a Windows kernel mode driver. After data has passed the driver it is available as data blocks for further processing by the GSEOS.
This special driver is necessary because under Windows there is no way to access H/W directly from a user program. The driver is responsible to the lowest-level handling of data and commands and serves the interrupts of the special H/W. This driver is highly hardware dependent and therefore has to be adapted to the dedicated experiment H/W used inside the PC. In EGSEs configured by IDA this adaptation is built-in.
The other way to use third-party H/W is the DLL Interface. The GSEOS V uses the DLL Interface to access the driver provided by H/W vendor.