Previous | Table of Contents | Next |
The CommandMetaData element is very similar to TelemetryMetaData, but also contains information that is specific only to commanding.
CommandMetaData has a ParameterTypeSet, a ParameterSet, a ContainerSet, a MessageSet, a StreamSet, and an AlgorithmSet – exactly
like TelemetryMetaData. CommandMetaData, however, also has an ArgumentTypeSet and a MetaCommandSet.
-ParameterSet 0..1 {sequenceOrder=2}
-MetaCommandSet 0..1
-ParameterTypeSet
{sequenceOrder=4}
-CommandContainerSet 0..1 {sequenceOrder=5}
-StreamSet 0..1
{sequenceOrder=6} {sequenceOrder=3} 0..1 -ArgumentTypeSet
-AlgorithmSet 0..1 {sequenceOrder=7}
Figure 7.7 - CommandMetaData
An ArgumentTypeSet is an unordered collection of ArgumentTypes. ArgumentTypes (very similar to ParameterTypes) are the MetaData
for Command Arguments; ArgumentTypes are instantiated to create Arguments. ArgumentType contains the description of something
that can have a value and is used as an operator supplied option to a Command (Command Argument). Information contained in
ArgumentType includes the data type, description, valid range, engineering units, and string conversion specifications and
calibrations. Most Arguments, are sent via a data link and must also include information about how the value is encoded for
transmission. This information includes size in bits, byte order, data type, and parity checks. All of the encoding information
is in the Encoding area.
A MetaCommandSet contains an unordered collection of MetaCommands. MetaCommands are descriptions of commands. MetaCommands
have a name, a BaseMetaCommand, an ArgumentList, a CommandContainer, a TransmissionContraintList, a DefaultSignificance, a
ContextSignificanceList, an Interlock, Verifiers, and a ParameterToSetList.
The MetaCommand is derived from this Base. Arguments of the base MetaCommand are further specified in this MetaCommand.
An ArgumentList is an ordered collection of Arguments. Many commands have one or more options. These are called command arguments.
Command arguments may be of any of the standard data types. MetaCommand arguments are local to the MetaCommand.
XML Telemetric & Command Exchange (XTCE), v1.0
A Command Container tells how to package this command – very similar to SequenceContainers, but CommandContainers may also
have arguments and fixed values in the sequence. Each MetaCommand may have one CommandContainer.
TransmissionConstraintList is an ordered list of TransmissionConstraints. A CommandTransmission constraint is used to check
that the command can be run in the current operating mode and may block the transmission of the command if the constraint
condition is true.
Some Command and Control Systems may require special user access to our confirmations before transmitting commands with certain
levels. The Significance includes the name of the SpaceSystem at risk, and a significance level. MetaCommands will also inherit
any Significance defined in the Base MetaCommand. Significance levels are: none, watch, warning, distress, critical, and severe.
Additionally, it is possible to change or have different significance levels set as driven by the operating context of the
SpaceSystem.
An Interlock is a type of Constraint, but not on Command instances of this MetaCommand; Interlocks apply instead to the next
command. An Interlock will block successive commands until this command has reached a certain stage (through verifications).
Interlocks are scoped to a SpaceSystem basis.
A Command Verifier is a conditional check on the telemetry from a SpaceSystem that provides positive indication on the successful
execution of a command. There are eight different verifiers, each associated with difference stages in command completion:
TransferredToRange, TransferredFromRange, Received, Accepted, Queued, Execution, Complete, and Failed. There may be multiple
completion verifiers. Completed verifiers are added to the Base MetaCommand verifiers. All others will replace a verifier
defined in a Base MetaCommand.
The ParameterToSetList is an ordered collection of ParametersToSet. A ParameterToSet is a Parameter whose value will be set
after the Command has reached a certain stage. New Parameters to Set are appended to the Base Command list.