! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! SDDL Name: QGINSTRUCT.SDDL ! ! Purpose: This SDDL file defines the qginstruct relation. ! ! Modification History: ! ! Date PR Who Reason ! -------- ------- --- ------------------------------------------------- ! 11/ 7/94 27329 SXT Original implementation ! 08/16/96 29960 MRB Add C output ! 03/12/99 38555 MRB Remove instruction versions (version_num field) ! 12/13/99 39695 bao Remove obsolete fields from qgformat and ! qginstruct relations !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! LANGUAGE C, FORTRAN, SQL INCLUDE ZSPSS_USER_TYPES.SDDL RECORD QGIN_TYPE !------------------------------------------------------------------------------ ! ! RECORD INFORMATION ! !------------------------------------------------------------------------------ DESCRIPTION "This relation holds general information for instructions. The purpose of instructions is to transform science activity descriptions into groups of Science Mission Specification(SMS) statements. An instruction is usually linked to each exposure of a science activity. Instructions are part of SCPL, and are similar to subroutines or modules. An instruction is used to group a set of pseudo-instructions, primitives and other instruction invocations under one name, such that the name can be used in place of, or for the purpose of, executing the set. There are various types of instructions(see field instr_type below). Some are PDB pre-defined, some are supplied by SOGS, others are built by the user. The instruction scenario leading up to the generation of SMS is: - Create instructions linked to Calendar activities. - Enter these instructions into the instruction database. - Validate the instructions. - Expand the instructions to produce a Logical SMS. The relation QGINSTRUCT stores high level information that is needed during the above processes. If an instruction is PDB pre-defined, fields in this relation are populated by the IMTOOL (via IMTPZG). Otherwise, they are populated during the above processes." !------------------------------------------------------------------------------ ! ! FIELD INFORMATION ! !------------------------------------------------------------------------------ FIELD instr_name TYPE INSTRUCTION_NAME_TYPE FORM NAME "INS" LABEL "INSTRUCTION NAME" END_FORM END_FIELD FIELD si_id TYPE SI_ID_TYPE DESCRIPTION "This field indicates the SI to which the primitive instruction applies. This field can be blank for non primitive instructions." FORM NAME "INS" LABEL "SI ID (CSTR/FOC/FOS/FGS/HRS/HSP/NIC/STIS/WFII/WFPC)" END_FORM END_FIELD FIELD instr_type TYPE C3 DESCRIPTION "This the instruction type. An instruction can have the following valid types: CMD = PDB defined command CSE = PDB defined command set TBL = PDB defined table PSU = SOGS pseudo-instruction SIP = SOGS invokable procedure DBK = PDB defined data block CND = SOGS conditional TXT = SOGS TEXT block CMT = SOGS COMMENT block MIS = SOGS miscellaneous TCS = user-built temporary command set TOP = user-built top level instruction TMP = user-built temporary command CMP = user-built compound The default instruction type is 'TOP'." FORM NAME "INS" LABEL "TYPE (TCS/TOP/CMP/TMP)" END_FORM DISCRETE "CMD", "CSE", "TBL", "PSU", "SIP", "DBK", "CND", "TXT", "CMT", "MIS", "CMP", "TCS", "TMP", "TOP" END_FIELD FIELD tbl_fmt TYPE TABLE_NAME_TYPE DESCRIPTION "This field holds the table format name. It is used only by an instruction whose type is 'TBL'. This table format name points to records which store: - the format of the table, in relation QGFORMAT. - array information of parameters of the table of this instruction, in relation QGTABLEPARM. The format and parameter of an instruction which defines part of a table is loaded to the relation by IMTOOL from the PDB tape." FORM NAME "INS" LABEL "INSTR. TYPE TABLE FORMAT NAME" END_FORM RELATED_FIELDS "qgformat.tbl_fmt_name", "qgtableparm.tbl_fmt_name" END_FIELD FIELD obc_prt TYPE YES_NO_FLAG_TYPE DESCRIPTION "This field is the PRT(Planned Real Time) command set flag for the OBC(On-Board Computer). This field indicates whether this command set instruction can be used as a PRT command set. It is a display only field. The valid values of this field are the following: Y = can be used as a PRT command set on the OBC. N = can not be used as a PRT command set on the OBC. blank = if this is a non primitive instruction." FORM NAME "INS" LABEL "PRT" END_FORM END_FIELD FIELD obc_drts TYPE YES_NO_FLAG_TYPE DESCRIPTION "This field is the RTS(Relative Time Sequence) command set flag for the OBC DF-224. This field indicates whether this command set instruction can be used as a RTS command set on DF-224. It is a display only field. The valid values of this field are the following: Y = can be used as a RTS command set on DF-224. N = can not be used as a RTS command set on DF-224. blank = not applicable." FORM NAME "INS" LABEL "DRTS" END_FORM END_FIELD FIELD obc_nrts TYPE YES_NO_FLAG_TYPE DESCRIPTION "This field is the RTS(Relative Time Sequence) command set flag for the OBC NSSC-1. This field indicates whether this command set instruction can be used as a RTS command set on NSSC-1. It is a display only field. The valid values of this field are the following: Y = can be used as a RTS command set on NSSC-1. N = can not be used as a RTS command set on NSSC-1. blank = not applicable." FORM NAME "INS" LABEL "NRTS" END_FORM END_FIELD FIELD obc_datp TYPE YES_NO_FLAG_TYPE DESCRIPTION "This field is the ATP(Absolute Time Processor) command set flag for the OBC DF-224. This field indicates whether this command set instruction can be used as a ATP command set on DF-224. It is a display only field. The valid values of this field are the following: Y = can be used as a ATP command set on DF-224. N = can not be used as a ATP command set on DF-224. blank = not applicable." FORM NAME "INS" LABEL "DATP" END_FORM END_FIELD FIELD obc_natp TYPE YES_NO_FLAG_TYPE DESCRIPTION "This field is the ATP(Absolute Time Processor) command set flag for the OBC NSSC-1. This field indicates whether this command set instruction can be used as a ATP command set on NSSC-1. It is a display only field. The valid values of this field are the following: Y = can be used a ATP command set on NSSC-1. N = can not be used as a ATP command set on NSSC-1. blank = not applicable." FORM NAME "INS" LABEL "NATP" END_FORM END_FIELD FIELD instr_dur TYPE I4 DESCRIPTION "This field holds the instruction duration, which is the duration of execution of the instruction. It can be a default instruction duration from the PDB for a primitive instruction. It can be an expected or computed duration for a top level or compound instruction. For a command set, this field contains the total duration of the command set." UNITS "MILLISECONDS" FORM NAME "INS" LABEL "DEFAULT DURATION(ms.)" END_FORM END_FIELD FIELD instr_dur2 TYPE I4 DESCRIPTION "This field contains the duration of the last command in the command sets. It is only used for command sets. It is taken from the PDB for a PDB-defined command set. It can also be an expected or computed duration for a temporary command set." UNITS "MILLISECONDS" FORM NAME "INS" LABEL "LAST COMPONENT DURATION" END_FORM END_FIELD FIELD instr_cpri TYPE I2 DESCRIPTION "This field holds the instruction cache priority. It is used to determine which instructions will be removed from the Expander's internal cache when the cache fills up. Priorities of user-defined instructions range from 0 (remove first) to 99 (keep longest). An instruction with a priority of 0 will not be saved in the cache file at the end of SMS generation. PDB-defined commands have priority 100." FORM NAME "INS" LABEL "CACHE PRIORITY" END_FORM RANGE "0..100" END_FIELD FIELD instr_valid TYPE C3 DESCRIPTION "This field holds the validation flag. It indicates whether the instruction has been validated. Following are valid values for this field: VAL = valid passed validation FVA = failed parameter validation blanks = validation not attempted The Expander will not expand an instruction unless the instruction has passed validation." FORM NAME "INS" LABEL "VALIDATION" END_FORM DISCRETE " ", "FVA", "VAL" END_FIELD FIELD update_date TYPE TIME_STAMP_TYPE DESCRIPTION "This field is the date of last update of the instruction. It is used by the database manager to aid in housekeeping." END_FIELD FIELD clp_name TYPE C72 DESCRIPTION "This field holds the CLP file name if the instruction was loaded into the database using the CLP. This field is used as an aid for tracing a file to the database. This field is blank for primitive instructions." FORM NAME "INS" LABEL "LIST PROCESSOR FILE NAME" END_FORM END_FIELD FIELD pdb_tape_id TYPE PDB_ID_TYPE DESCRIPTION "This field is the ID of the PDB tape which is used to validate this instruction. If the instruction is a PDB defined primitive, this field is the ID of the PDB tape from which this instruction was loaded. For non-primitive instructions, INSTRUCT/VALIDATE will set this field to the current PDB tape in use." FORM NAME "INS" LABEL "PDB TAPE ID" END_FORM END_FIELD FIELD label_flag TYPE YES_NO_FLAG_TYPE DESCRIPTION "This field is the data block label flag. It is only used for PDB-defined data blocks. This field indicates whether this instruction should have a data block label in the SMS. It has the following values: Y = generate a label N = leave label blank blank = generate a label" END_FIELD END_RECORD !------------------------------------------------------------------------------ ! ! RELATION DECLARATION ! !------------------------------------------------------------------------------ RELATION qginstruct TYPE QGIN_TYPE DESCRIPTION "General Instruction Description Relation" SUBSYSTEM_USING "SPSS", "SCS", "IM" FORM NAME "INS" END_FORM RELATED_FIELDS "qgformat.*", "qgtableparm.*" INDEX qginstruct_1 TYPE unique, clustered FIELDS instr_name END_INDEX END_RELATION !------------------------------------------------------------------------------ ! ! INSTANCE DECLARATION ! !------------------------------------------------------------------------------ INSTANCE qginstruct GLOBAL TYPE QGIN_TYPE END_INSTANCE