All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xml.area001-v002-MAL.xml Maven / Gradle / Ivy

There is a newer version: 10.1
Show newest version
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mal:specification xmlns:com="http://www.ccsds.org/schema/COMSchema" xmlns:mal="http://www.ccsds.org/schema/ServiceSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <mal:area name="MAL" number="1" version="1">
        <mal:dataTypes>
            <mal:fundamental name="Attribute" comment="Attribute is the base type of all attributes of the MAL data model. Attributes are contained within Composites and are used to build complex structures that make the data model.">
                <mal:extends>
                    <mal:type area="MAL" name="Element"/>
                </mal:extends>
            </mal:fundamental>
            <mal:fundamental name="Composite" comment="Composite is the base structure for composite structures that contain a set of elements.">
                <mal:extends>
                    <mal:type area="MAL" name="Element"/>
                </mal:extends>
            </mal:fundamental>
            <mal:fundamental name="Object" comment="Object is the base structure for composite structures that contain a set of elements for MO Objects.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
            </mal:fundamental>
            <mal:fundamental name="Element" comment="Element is the base type of all data constructs. All types that make up the MAL data model are derived from it."/>
            <mal:attribute name="Blob" shortFormPart="1" comment="The Blob structure is used to hold binary object attributes. It is a variable-length, unbounded, octet array. The distinction between this type and a list of Octet attributes is that this type may allow language mappings and encodings to use more efficient or appropriate representations."/>
            <mal:attribute name="Boolean" shortFormPart="2" comment="The Boolean structure is used to hold Boolean attributes. Possible values are 'True' or 'False'."/>
            <mal:attribute name="Duration" shortFormPart="3" comment="The Duration structure is used to hold Duration attributes. It represents a length of time in seconds. It may contain a fractional component."/>
            <mal:attribute name="Float" shortFormPart="4" comment="The Float structure is used to hold floating point attributes using the IEEE 754 32-bit range. Three special values exist for this type: POSITIVE_INFINITY, NEGATIVE_INFINITY, and NaN (Not A Number)."/>
            <mal:attribute name="Double" shortFormPart="5" comment="The Double structure is used to hold floating point attributes using the IEEE 754 64-bit range. Three special values exist for this type: POSITIVE_INFINITY, NEGATIVE_INFINITY, and NaN (Not A Number)."/>
            <mal:attribute name="Identifier" shortFormPart="6" comment="The Identifier structure is used to hold an identifier and can be used for indexing. It is a variable-length, unbounded, Unicode string. For some encoding/decoding bindings, the use of a numeric value might be appropriate for this Attribute, for example, via a dictionary."/>
            <mal:attribute name="Octet" shortFormPart="7" comment="The Octet structure is used to hold 8-bit signed attributes. The permitted range is -128 to 127."/>
            <mal:attribute name="UOctet" shortFormPart="8" comment="The UOctet structure is used to hold 8-bit unsigned attributes. The permitted range is 0 to 255."/>
            <mal:attribute name="Short" shortFormPart="9" comment="The Short structure is used to hold 16-bit signed attributes. The permitted range is -32768 to 32767."/>
            <mal:attribute name="UShort" shortFormPart="10" comment="The UShort structure is used to hold 16-bit unsigned attributes. The permitted range is 0 to 65535."/>
            <mal:attribute name="Integer" shortFormPart="11" comment="The Integer structure is used to hold 32-bit signed attributes. The permitted range is -2147483648 to 2147483647."/>
            <mal:attribute name="UInteger" shortFormPart="12" comment="The UInteger structure is used to hold 32-bit unsigned attributes. The permitted range is 0 to 4294967295."/>
            <mal:attribute name="Long" shortFormPart="13" comment="The Long structure is used to hold 64-bit signed attributes. The permitted range is -9223372036854775808 to 9223372036854775807."/>
            <mal:attribute name="ULong" shortFormPart="14" comment="The ULong structure is used to hold 64-bit unsigned attributes. The permitted range is 0 to 18446744073709551615."/>
            <mal:attribute name="String" shortFormPart="15" comment="The String structure is used to hold String attributes. It is a variable-length, unbounded, Unicode string."/>
            <mal:attribute name="Time" shortFormPart="16" comment="The Time structure is used to hold absolute time attributes. It represents an absolute date and time to millisecond resolution."/>
            <mal:attribute name="FineTime" shortFormPart="17" comment="The FineTime structure is used to hold high-resolution absolute time attributes. It represents an absolute date and time to nanosecond resolution."/>
            <mal:attribute name="URI" shortFormPart="18" comment="The URI structure is used to hold URI addresses. It is a variable-length, unbounded, Unicode string."/>
            <mal:attribute name="ObjectRef" shortFormPart="19" comment="The ObjectRef structure is used to hold references to MO Objects."/>
            <mal:enumeration name="InteractionType" shortFormPart="101" comment="InteractionType is an enumeration holding the possible interaction pattern types.">
                <mal:item value="SEND" nvalue="1" comment="Used for Send interactions."/>
                <mal:item value="SUBMIT" nvalue="2" comment="Used for Submit interactions."/>
                <mal:item value="REQUEST" nvalue="3" comment="Used for Request interactions."/>
                <mal:item value="INVOKE" nvalue="4" comment="Used for Invoke interactions."/>
                <mal:item value="PROGRESS" nvalue="5" comment="Used for Progress interactions."/>
                <mal:item value="PUBSUB" nvalue="6" comment="Used for Publish/Subscribe interactions."/>
            </mal:enumeration>
            <mal:enumeration name="SessionType" shortFormPart="102" comment="SessionType is an enumeration holding the session types.">
                <mal:item value="LIVE" nvalue="1" comment="Used for Live sessions."/>
                <mal:item value="SIMULATION" nvalue="2" comment="Used for Simulation sessions."/>
                <mal:item value="REPLAY" nvalue="3" comment="Used for Replay sessions."/>
            </mal:enumeration>
            <mal:enumeration name="QoSLevel" shortFormPart="103" comment="QoSLevel is an enumeration holding the possible QoS levels.">
                <mal:item value="BESTEFFORT" nvalue="1" comment="Used for Best Effort QoS Level."/>
                <mal:item value="ASSURED" nvalue="2" comment="Used for Assured QoS Level."/>
                <mal:item value="QUEUED" nvalue="3" comment="Used for Queued QoS Level."/>
                <mal:item value="TIMELY" nvalue="4" comment="Used for Timely QoS Level."/>
            </mal:enumeration>
            <mal:enumeration name="AttributeType" shortFormPart="104" comment="AttributeType is an enumeration holding the defined MAL Attribute types.">
                <mal:item value="BLOB" nvalue="1" comment="Blob type."/>
                <mal:item value="BOOLEAN" nvalue="2" comment="Boolean type."/>
                <mal:item value="DURATION" nvalue="3" comment="Duration type."/>
                <mal:item value="FLOAT" nvalue="4" comment="Float type."/>
                <mal:item value="DOUBLE" nvalue="5" comment="Double type."/>
                <mal:item value="IDENTIFIER" nvalue="6" comment="Identifier type."/>
                <mal:item value="OCTET" nvalue="7" comment="Octet type."/>
                <mal:item value="UOCTET" nvalue="8" comment="UOctet type."/>
                <mal:item value="SHORT" nvalue="9" comment="Short type."/>
                <mal:item value="USHORT" nvalue="10" comment="UShort type."/>
                <mal:item value="INTEGER" nvalue="11" comment="Integer type."/>
                <mal:item value="UINTEGER" nvalue="12" comment="UInteger type."/>
                <mal:item value="LONG" nvalue="13" comment="Long type."/>
                <mal:item value="ULONG" nvalue="14" comment="ULong type."/>
                <mal:item value="STRING" nvalue="15" comment="String type."/>
                <mal:item value="TIME" nvalue="16" comment="Time type."/>
                <mal:item value="FINETIME" nvalue="17" comment="FineTime type."/>
                <mal:item value="URI" nvalue="18" comment="URI type."/>
                <mal:item value="OBJECTREF" nvalue="19" comment="ObjectRef type."/>
            </mal:enumeration>
            <mal:enumeration name="AreaNumber" shortFormPart="105" comment="AreaNumber is an enumeration holding the known existing area numbers in use. Note that the table follows the corresponding MAL Area numbers available on the SANA registry.">
                <mal:item value="MAL" nvalue="1" comment="The MAL area number."/>
                <mal:item value="COM" nvalue="2" comment="The COM area number. The COM is deprecated, therefore this area number is reserved for backward compatibility."/>
                <mal:item value="COMMON" nvalue="3" comment="The Common area number."/>
                <mal:item value="MC" nvalue="4" comment="The Monitor and Control area number."/>
                <mal:item value="MPS" nvalue="5" comment="The Mission Planning and Scheduling area number."/>
                <mal:item value="SM" nvalue="7" comment="The Software Management area number."/>
                <mal:item value="MDPD" nvalue="9" comment="The Mission Data Product Distribution area number."/>
            </mal:enumeration>
            <mal:composite name="Subscription" shortFormPart="1001" comment="The Subscription structure is used when subscribing for updates using the PUBSUB interaction pattern. It contains a single identifier that identifies the subscription being defined and a set of entities being requested.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="subscriptionId" canBeNull="false" comment="The identifier of this subscription.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="domain" canBeNull="true" comment="The domain to subscribe to. Wildcards are allowed. If NULL, the subscription shall match with any domain.">
                    <mal:type list="true" area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="filters" canBeNull="true" comment="The list of filters that are being selected for this subscription.">
                    <mal:type list="true" area="MAL" name="SubscriptionFilter"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="SubscriptionFilter" shortFormPart="1002" comment="The SubscriptionFilter structure is used when subscribing for updates using the PUBSUB interaction pattern. It contains a single identifier that identifies the subscription key name and the set of values to be registered for the defined key name.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="name" comment="The identifier name of the key.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="values" comment="The list of values that are being subscribed for this key. These shall be ORed together.">
                    <mal:type list="true" area="MAL" name="Attribute"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="UpdateHeader" shortFormPart="1003" comment="The UpdateHeader structure is used by updates using the PUBSUB interaction pattern. It holds information that identifies a single update.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="source" canBeNull="true" comment="The source of the update, usually a PUBSUB provider.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="domain" canBeNull="true" comment="The domain of this update.">
                    <mal:type list="true" area="MAL" name="Identifier"/>
                </mal:field>               
                <mal:field name="keyValues" canBeNull="true" comment="The values for the PUBSUB keys. The values shall be ordered according to the defined keys.">
                    <mal:type list="true" area="MAL" name="Attribute"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="IdBooleanPair" shortFormPart="1004" comment="IdBooleanPair is a simple pair type of an identifier and Boolean value.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="id" comment="The Identifier value.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="value" comment="The Boolean value.">
                    <mal:type area="MAL" name="Boolean"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="Pair" shortFormPart="1005" comment="Pair is a simple composite structure for holding pairs. The pairs can be user-defined attributes.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="first" comment="The attribute value for the first element of this pair.">
                    <mal:type area="MAL" name="Attribute"/>
                </mal:field>
                <mal:field name="second" comment="The attribute value for the second element of this pair.">
                    <mal:type area="MAL" name="Attribute"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="NamedValue" shortFormPart="1006" comment="The NamedValue structure represents a simple pair type of an identifier and abstract attribute value.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="name" comment="The Identifier value.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="value" comment="The Attribute value.">
                    <mal:type area="MAL" name="Attribute"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="File" shortFormPart="1007" comment="The File structure represents a File and holds details about a File. It can also, optionally, hold a BLOB of the file data. The file type is denoted using the internet MIME media types, the list of official MIME types is held at http://www.iana.org/assignments/media-types/index.html.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="name" canBeNull="false" comment="The file name.">
                    <mal:type area="MAL" name="String"/>
                </mal:field>
                <mal:field name="mimeType" comment="The MIME type of the file, NULL if not known.">
                    <mal:type area="MAL" name="String"/>
                </mal:field>
                <mal:field name="creationDate" comment="The creation timestamp of the file, NULL if not known.">
                    <mal:type area="MAL" name="Time"/>
                </mal:field>
                <mal:field name="modificationDate" comment="The last modification timestamp of the file, NULL if not known.">
                    <mal:type area="MAL" name="Time"/>
                </mal:field>
                <mal:field name="size" comment="The size of the file in Octets, NULL if not known.">
                    <mal:type area="MAL" name="ULong"/>
                </mal:field>
                <mal:field name="content" comment="The contents of the file, NULL if not supplied.">
                    <mal:type area="MAL" name="Blob"/>
                </mal:field>
                <mal:field name="metaData" comment="A list of extra metadata for the file.">
                    <mal:type list="true" area="MAL" name="NamedValue"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="ObjectIdentity" shortFormPart="1008" comment="The ObjectIdentity structure represents the object identity of an MO Object.">
                <mal:extends>
                    <mal:type area="MAL" name="Composite"/>
                </mal:extends>
                <mal:field name="domainId" canBeNull="false" comment="The domain of the MO Object being referenced.">
                    <mal:type list="true" area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="areaId" canBeNull="false" comment="The area of the MO Object being referenced.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="typeId" canBeNull="false" comment="The type of the MO Object being referenced.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="keyId" canBeNull="false" comment="The key of the MO Object being referenced.">
                    <mal:type area="MAL" name="Identifier"/>
                </mal:field>
                <mal:field name="versionId" canBeNull="false" comment="The version of the MO Object being referenced.">
                    <mal:type area="MAL" name="UInteger"/>
                </mal:field>
            </mal:composite>
            <mal:composite name="ServiceId" shortFormPart="1009" comment="The ServiceId holds a certain Service and its version within an Area.">
                <mal:extends>
                    <mal:type name="Composite" area="MAL"/>
                </mal:extends>
                <mal:field name="keyArea" canBeNull="false" comment="The area of this service taken from the numeric Area identifier of the service specification.">
                    <mal:type name="UShort" area="MAL"/>
                </mal:field>
                <mal:field name="keyService" canBeNull="false" comment="The service taken from the numeric Service identifier of the service specification.">
                    <mal:type name="UShort" area="MAL"/>
                </mal:field>
                <mal:field name="keyServiceVersion" canBeNull="false" comment="The version of this service taken from the Service Version of the area specification.">
                    <mal:type name="UOctet" area="MAL"/>
                </mal:field>
            </mal:composite>
        </mal:dataTypes>
        <mal:errors>
            <mal:error name="DELIVERY_FAILED" number="65536" comment="Confirmed communication error."/>
            <mal:error name="DELIVERY_TIMEDOUT" number="65537" comment="Unconfirmed communication error."/>
            <mal:error name="DELIVERY_DELAYED" number="65538" comment="Message queued somewhere awaiting contact."/>
            <mal:error name="DESTINATION_UNKNOWN" number="65539" comment="Destination cannot be contacted."/>
            <mal:error name="DESTINATION_TRANSIENT" number="65540" comment="Destination middleware reports destination application does not exist."/>
            <mal:error name="DESTINATION_LOST" number="65541" comment="Destination lost halfway through conversation."/>
            <mal:error name="AUTHENTICATION_FAIL" number="65542" comment="A failure to authenticate the message correctly."/>
            <mal:error name="AUTHORISATION_FAIL" number="65543" comment="A failure in the MAL to authorise the message."/>
            <mal:error name="ENCRYPTION_FAIL" number="65544" comment="A failure in the MAL to encrypt/decrypt the message."/>
            <mal:error name="UNSUPPORTED_AREA" number="65545" comment="The destination does not support the service area."/>
            <mal:error name="UNSUPPORTED_OPERATION" number="65546" comment="The destination does not support the operation."/>
            <mal:error name="UNSUPPORTED_VERSION" number="65547" comment="The destination does not support the service version."/>
            <mal:error name="BAD_ENCODING" number="65548" comment="The destination was unable to decode the message."/>
            <mal:error name="INTERNAL" number="65549" comment="An internal error has occurred."/>
            <mal:error name="UNKNOWN" number="65550" comment="Operation specific."/>
            <mal:error name="INCORRECT_STATE" number="65551" comment="The destination was not in the correct state for the received message."/>
            <mal:error name="TOO_MANY" number="65552" comment="Maximum number of subscriptions or providers of a broker has been exceeded."/>
            <mal:error name="SHUTDOWN" number="65553" comment="The component is being shutdown."/>
            <mal:error name="TRANSACTION_TIMEOUT" number="65554" comment="The interaction exceeded the defined timeout duration."/>
        </mal:errors>
    </mal:area>
</mal:specification>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy