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

.mo.MOXML_Extra.1.7.source-code.COMPrototype.xml Maven / Gradle / Ivy

The newest version!
<?xml version="1.0" encoding="UTF-8"?>
<mal:specification xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:mal="http://www.ccsds.org/schema/ServiceSchema"
                   xmlns:com="http://www.ccsds.org/schema/COMSchema">
  <mal:area comment="Contains services required to support testing of the COM service."
            name="COMPrototype"
            number="200"
            version="1">
      
      <mal:service xsi:type="com:ExtendedServiceType"
                 comment="For the Event service test a single service provider shall be implemented and deployed that provides this EventTest service and also, as it contains Events, the Event service."
                 name="EventTest"
                 number="2">
      <mal:capabilitySet number="100">
  
        <mal:submitIP name="resetTest" number="100"
                      supportInReplay="false"
                      comment="Resets the EventTest service provider.">
          <mal:messages>
            <mal:submit comment="Arg 0 specifies the domain in which events are to be created">
                <mal:type area="MAL" name="String"/>
            </mal:submit>
          </mal:messages>
        </mal:submitIP>
        
              <mal:requestIP name="createinstance" number="101" supportInReplay="false"
                           comment="Creates an instance of one of the test objects: TestObject A or Test Object B Arg 1 - ObjectNumber (identifies object to be created) Arg 2 Domain Arg 3 Description Arg 4 parent instanceIdentifier returns object instance identifier. The provider will publish a TestObjectCreation event reporting the deletion">
          <mal:messages>
            <mal:request>
              <mal:type area="MAL" name="Short"/>
              <mal:type area="MAL" name="String"/>
              <mal:type area="MAL" name="String"/>
              <mal:type area="MAL" name="Long"/>
            </mal:request>
            <mal:response>
              <mal:type area="MAL" name="Long"/>
            </mal:response>
          </mal:messages>
        </mal:requestIP>        
        
          <mal:submitIP name="deleteInstance" number="102"
                      supportInReplay="false"
                      comment="deletes a test object instance.">
          <mal:messages>
            <mal:submit comment="Deletes an instance of a test object Arg 1 - ObjectNumber Arg 2 Domain Arg 3 instance ID. The provider will publish a TestObjectDeletion event reporting the deletion ">
                <mal:type area="MAL" name="Short"/>
                <mal:type area="MAL" name="String"/>
                <mal:type area="MAL" name="Long"/>
            </mal:submit>
          </mal:messages>
        </mal:submitIP>
        
       <mal:submitIP name="updateInstance" number="103"
                      supportInReplay="false"
                      comment="Updates a number of fields on an instance of a test object. The provider will publish a TestObjectUpdate event reporting the updated attributes ">
          <mal:messages>
            <mal:submit comment="Arg 1 Instance ID Arg 2 EnumField Arg 3 Duration Field Arg 4 Numeric List Field The provider will publish a TestObjectUpdate event reporting the updated attributes ">
                <mal:type area="MAL" name="Long"/>
                <mal:type area="COMPrototype" service="EventTest" name="BasicEnum"/>
                <mal:type area="MAL" name="Duration"/>
                <mal:type area="MAL" name="Short" list="true"/>
            </mal:submit>
          </mal:messages>
        </mal:submitIP>        
        
        <mal:submitIP name="updateInstanceComposite" number="104"
                      supportInReplay="false"
                      comment="Updates the composite field on a instance of a test object. The provider will publish a TestObjectUpdate event reporting the updated attributes ">
          <mal:messages>
            <mal:submit comment="Arg 1 Instance  Id Arg 2 UOctet Field Arg 3 Octet Field Arg 4 Double Field. The provider will publish a TestObjectUpdate event reporting the updated attributes ">
                 <mal:type area="MAL" name="Long"/>
                <mal:type area="MAL" name="UOctet"/>
                <mal:type area="MAL" name="Octet"/>
                <mal:type area="MAL" name="Double"/>
            </mal:submit>
          </mal:messages>
        </mal:submitIP>                
      </mal:capabilitySet>
      <mal:dataTypes>
        <mal:composite name="ObjectCreation" shortFormPart="1"
                       comment="Holds object creation details.&#xA;">
          <mal:field name="success" canBeNull="false"
                     comment="The success result of the creation.&#xA;">
            <mal:type name="Boolean" area="MAL"/>
          </mal:field>
            <mal:field name="description" canBeNull="false"
                     comment="The description field of the created object.&#xA;">
            <mal:type name="String" area="MAL"/>
            </mal:field>
         </mal:composite>     
        
        <mal:composite name="ObjectDeletion" shortFormPart="2"
                       comment="Holds object deletion details.&#xA;">
          <mal:field name="description" canBeNull="false"
                     comment="Description field for object to be deleted.&#xA;">
            <mal:type name="String" area="MAL"/>
          </mal:field>
        </mal:composite>        
              
        <mal:composite name="ObjectUpdate" shortFormPart="3"
                       comment="Holds object update details.&#xA;">
            <mal:field name="EnumField" canBeNull="true"
                       comment="Optional field - holds enum value.&#xA;">
                <mal:type name="BasicEnum" service="EventTest" area="COMPrototype"/>            
            </mal:field>
            <mal:field name="DurationField" canBeNull="true"
                       comment="Optional field - holds duration value.&#xA;">
                <mal:type name="Duration" area="MAL"/>       
            </mal:field>   
            <mal:field name="NumericListField" canBeNull="true"
                       comment="Optional field - holds one or more numeric (short values).&#xA;">
                <mal:type name="Short" area="MAL" list="true"/>       
            </mal:field>    
             <mal:field name="CompositeField" canBeNull="true"
                       comment="Optional field - holds a composite containing a number of discrete value.&#xA;">
                <mal:type name="UpdateComposite" service="EventTest" area="COMPrototype"/>        
            </mal:field>    
        </mal:composite>                   
              
              
        <mal:composite name="TestObjectA" shortFormPart="10"
                        comment="Instances of this type created in event test.&#xA;">
            <mal:field name="description" canBeNull="false"
                       comment="The description field of the created object.&#xA;">
                <mal:type name="String" area="MAL"/>
            </mal:field>
           
        </mal:composite>        
        <mal:composite name="TestObjectB" shortFormPart="11"
                       comment="Instances of this type created in event test.&#xA;">
            <mal:field name="description" canBeNull="false"
                       comment="The description field of the created object.&#xA;">
                <mal:type name="String" area="MAL"/>
            </mal:field>
        </mal:composite>     
        <mal:composite name="UpdateComposite" shortFormPart="12"
                        comment="Encapsulates a set of fields that can be updated on a test object.&#xA;">
            <mal:field name="UOctetField" canBeNull="false"
                       comment="Unsigned octet value.&#xA;">
                <mal:type name="UOctet" area="MAL"/>
            </mal:field>
            <mal:field name="OctetField" canBeNull="false"
                       comment="octet value.&#xA;">
                <mal:type name="Octet" area="MAL"/>
            </mal:field>
            <mal:field name="DoubleField" canBeNull="false"
                       comment="double value.&#xA;">
                <mal:type name="Double" area="MAL"/>
            </mal:field>
        </mal:composite> 
        <mal:enumeration name="BasicEnum" shortFormPart="13">
            <mal:item value="FIRST" nvalue="1"/>
            <mal:item value="SECOND" nvalue="2"/>
            <mal:item value="THIRD" nvalue="3"/>
            <mal:item value="FOURTH" nvalue="4"/>
        </mal:enumeration>                   
       </mal:dataTypes>
       <com:features>
        <com:objects comment="Set of objects to test the Event service.">
          <com:object name="TestObjectA" number="2001">
            <com:objectType>
              <mal:type name="TestObjectA" service="EventTest" area="COMPrototype"/>
            </com:objectType>
          </com:object>
          <com:object name="TestObjectB" number="2002">
            <com:objectType>
              <mal:type name="TestObjectB" service="EventTest" area="COMPrototype"/>
            </com:objectType>
          </com:object>
        </com:objects>
        <com:events comment="Set of events used in test.&#xA;&#xA;">
          <com:event name="TestObjectCreation" number="3001"
                     comment="A Release event is release from source consumer.&#xA;">
            <com:objectType>
              <mal:type name="ObjectCreation" service="EventTest" area="COMPrototype"/>
            </com:objectType>
            <com:sourceObject comment="The created object is the source of the event.&#xA;"/>
          </com:event>
          
           <com:event name="TestObjectDeletion" number="3002"
                     comment="Event generated to report deletion of a test object.&#xA;">
            <com:objectType>
              <mal:type name="ObjectDeletion" service="EventTest" area="COMPrototype"/>
            </com:objectType>
            <com:sourceObject comment="The deleted object is the source of the event.&#xA;"/>
          </com:event>
          <com:event name="TestObjectUpdate" number="3003"
                     comment="Event generated to report update of a test object.&#xA;">
            <com:objectType>
              <mal:type name="ObjectUpdate" service="EventTest" area="COMPrototype"/>
            </com:objectType>
            <com:sourceObject comment="The updated object is the source of the event.&#xA;"/>
          </com:event>          
           </com:events>
        <com:archiveUsage comment="Events not currently persisted.&#xA;"/>
      </com:features>
    </mal:service>
    <mal:service comment=""
                 name="ActivityTest"
                 number="4">
      <mal:capabilitySet number="100">
        <mal:submitIP name="resetTest" number="100"
                      supportInReplay="false"
                      comment="Resets all values back to their default value.">
          <mal:messages>
            <mal:submit comment="No message structure is passed.">
            </mal:submit>
          </mal:messages>
        </mal:submitIP>
         <mal:submitIP name="close" number="104"
                      supportInReplay="false"
                      comment="Closes the service provider">
          <mal:messages>
            <mal:submit comment="No message structure is passed.">
            </mal:submit>
          </mal:messages>
        </mal:submitIP>
      </mal:capabilitySet>
      <mal:capabilitySet number="101">
        <mal:sendIP name="send" number="200" supportInReplay="false"
                    comment="">
          <mal:messages>
            <mal:send comment="The set of execution stages to process.">
              <mal:type list="true" area="MAL" name="String"/>
            </mal:send>
          </mal:messages>
               
        </mal:sendIP>
        <mal:submitIP name="testSubmit" number="201" supportInReplay="false"
                      comment="">
          <mal:messages>
            <mal:submit comment="The set of execution stages to process.">
              <mal:type list="true" area="MAL" name="String"/>
            </mal:submit>
          </mal:messages>
          <mal:errors>
            <mal:errorRef comment="Fake error for testing.">
              <mal:type area="MAL" name="UNKNOWN"/>
            </mal:errorRef>
          </mal:errors>
        </mal:submitIP>
        <mal:requestIP name="request" number="202" supportInReplay="false"
                       comment="">
          <mal:messages>
            <mal:request comment="The set of execution stages to process.">
              <mal:type list="true" area="MAL" name="String"/>
            </mal:request>
            <mal:response>
              <mal:type list="true" area="MAL" name="String"/>
            </mal:response>
          </mal:messages>
          <mal:errors>
            <mal:errorRef comment="Fake error for testing.">
              <mal:type area="MAL" name="UNKNOWN"/>
            </mal:errorRef>
          </mal:errors>
        </mal:requestIP>
        <mal:invokeIP name="invoke" number="203" supportInReplay="false"
                      comment="">
          <mal:messages>
            <mal:invoke comment="The set of execution stages to process.">
              <mal:type list="true" area="MAL" name="String"/>
            </mal:invoke>
            <mal:acknowledgement>
              <mal:type list="true" area="MAL" name="String"/>
            </mal:acknowledgement>
            <mal:response>
              <mal:type list="true" area="MAL" name="String"/>
            </mal:response>
          </mal:messages>
          <mal:errors>
            <mal:errorRef comment="Fake error for testing.">
              <mal:type area="MAL" name="UNKNOWN"/>
            </mal:errorRef>
          </mal:errors>
        </mal:invokeIP>
        <mal:progressIP name="progress" number="204" supportInReplay="false"
                        comment="">
          <mal:messages>
            <mal:progress comment="The set of execution stages to process.">
              <mal:type list="true" area="MAL" name="String"/>
            </mal:progress>
            <mal:acknowledgement>
              <mal:type list="true" area="MAL" name="String"/>
            </mal:acknowledgement>
            <mal:update>
              <mal:type list="true" area="MAL" name="String"/>
            </mal:update>
            <mal:response>
              <mal:type list="true" area="MAL" name="String"/>
            </mal:response>
          </mal:messages>
          <mal:errors>
            <mal:errorRef comment="Fake error for testing.">
              <mal:type area="MAL" name="UNKNOWN"/>
            </mal:errorRef>
          </mal:errors>
        </mal:progressIP>
      </mal:capabilitySet>
    </mal:service>
    <mal:service comment=""
                 name="ActivityRelayManagement"
                 number="5">
      <mal:capabilitySet number="100">
        <mal:submitIP name="resetTest" number="100"
                      supportInReplay="false"
                      comment="Resets all values back to their default value.">
          <mal:messages>
            <mal:submit comment="No message structure is passed.">
            </mal:submit>
          </mal:messages>
        </mal:submitIP>
          <mal:submitIP name="createRelay" number="101"
                      supportInReplay="false"
                      comment="Create a new relay node that supports the Activity and ActivityTest services.">
          <mal:messages>
            <mal:submit comment="A pair of two strings, the first holds the relay name, the second holds the name of the node to relay to.">
              <mal:type name="String" area="MAL"/>
              <mal:type name="String" area="MAL"/>
            </mal:submit>
          </mal:messages>
        </mal:submitIP>
      </mal:capabilitySet>
    </mal:service>
    <mal:service xsi:type="com:ExtendedServiceType" name="ArchiveTest" number="6"
                 comment="This service is defined to test the Archive service.">
      <mal:capabilitySet number="100">    
        <mal:submitIP name="reset" number="100"
                      supportInReplay="false"
                      comment="Resets all values back to their default value.">
          <mal:messages>
            <mal:submit comment="No message structure is passed.">
            </mal:submit>
          </mal:messages>
        </mal:submitIP>
      </mal:capabilitySet>
      <mal:dataTypes>
        <mal:composite name="TestObjectPayload" shortFormPart="1"
                       comment="Object body to test the Archive service.">
          <mal:field name="booleanField" canBeNull="true"
                     comment="">
            <mal:type name="Boolean" area="MAL"/>
          </mal:field>
          <mal:field name="integerField" canBeNull="true"
                     comment="">
            <mal:type name="Integer" area="MAL"/>
          </mal:field>
          <mal:field name="stringField" canBeNull="true"
                     comment="">
            <mal:type name="String" area="MAL"/>
          </mal:field>
          <mal:field name="compositeField"
                     comment="">
            <mal:type name="SubComposite" service="ArchiveTest" area="COMPrototype" />
          </mal:field>
          <mal:field name="enumeratedField" canBeNull="true"
                     comment="">
            <mal:type name="EnumeratedObject" service="ArchiveTest" area="COMPrototype" />
          </mal:field>
          <mal:field name="listField" canBeNull="true"
                     comment="">
            <mal:type list="true" name="Integer" area="MAL"/>
          </mal:field>
        </mal:composite>
        <mal:composite name="SubComposite" shortFormPart="2"
                       comment="">
          <mal:field name="integerField" canBeNull="true"
                     comment="">
            <mal:type name="Integer" area="MAL"/>
          </mal:field>
        </mal:composite>
        <mal:enumeration name="EnumeratedObject" shortFormPart="3"
                         comment="">
          <mal:item value="OBJECT1" nvalue="1" comment=""/>
          <mal:item value="OBJECT2" nvalue="2" comment=""/>
          <mal:item value="OBJECT3" nvalue="3" comment=""/>
        </mal:enumeration>
      </mal:dataTypes>
      <com:features>
        <com:objects comment="Object to test the Archive service.">
          <com:object name="TestObject" number="1">
            <com:objectType>
              <mal:type name="TestObjectPayload" service="ArchiveTest" area="COMPrototype"/>
            </com:objectType>
          </com:object>
          <com:object name="TestObject2" number="2">
            <com:objectType>
              <mal:type name="Integer" area="MAL"/>
            </com:objectType>
          </com:object>
          <com:object name="TestObject3" number="3">
            <com:objectType>
              <mal:type name="EnumeratedObject" service="ArchiveTest" area="COMPrototype" />
            </com:objectType>
          </com:object>
          <com:object name="TestObject4" number="4">
            <com:objectType>
              <mal:type name="Blob" area="MAL"/>
            </com:objectType>
          </com:object>
          <com:object name="TestObject5" number="5">
          </com:object>
          <com:object name="TestObject6" number="6">
            <com:objectType>
              <mal:type name="Identifier" area="MAL"/>
            </com:objectType>
          </com:object>
          <com:object name="TestObject7" number="7">
            <com:objectType>
              <mal:type name="Blob" area="MAL"/>
            </com:objectType>
          </com:object>                   
        </com:objects>
      </com:features>
    </mal:service>
  </mal:area>
 <mal:area name="COMPrototype1" number="201" version="1" 
 comment="This area is defined to support tests where it is necessary to accesss objects from a number of areas and services">
  <mal:service xsi:type="com:ExtendedServiceType" name="Test1" number="1" comment="Just contains a number of test objects">
    
   <com:features>
    <com:objects comment="Object to test the Archive service.">
     <com:object name="TestObjectA" number="1">
       <com:objectType>
         <mal:type name="TestObjectPayload" service="ArchiveTest" area="COMPrototype"/>
       </com:objectType>
     </com:object> 
     </com:objects>
      </com:features>
 </mal:service>
 <mal:service xsi:type="com:ExtendedServiceType" name="Test2" number="2" comment="Just contains a number of test objects">
    
   <com:features>
    <com:objects comment="Object to test the Archive service.">
     <com:object name="TestObjectA" number="2">
       <com:objectType>
          <mal:type name="Long" area="MAL"/>
       </com:objectType>
     </com:object> 
     </com:objects>
      </com:features>
 </mal:service>
</mal:area>
<mal:area name="COMPrototype2" number="202" version="1"
comment="This area is defined to support tests where it is necessary to accesss objects from a number of areas and services">
  <mal:service xsi:type="com:ExtendedServiceType" name="Test1" number="1" comment="Just contains a number of test objects">
    
   <com:features>
    <com:objects comment="Object to test the Archive service.">
     <com:object name="TestObjectA" number="1">
       <com:objectType>
         <mal:type name="Integer" area="MAL"/>
       </com:objectType>
     </com:object> 
     </com:objects>
      </com:features>
 </mal:service>
 <mal:service xsi:type="com:ExtendedServiceType" name="Test2" number="2" comment="Just contains a number of test objects">    
   <com:features>
    <com:objects comment="Object to test the Archive service.">
     <com:object name="TestObjectA" number="1">
       <com:objectType>
         <mal:type name="Boolean" area="MAL"/>
       </com:objectType>
     </com:object> 
     </com:objects>
      </com:features>
 </mal:service>
</mal:area>
</mal:specification>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy