.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.
"> <mal:field name="success" canBeNull="false" comment="The success result of the creation.
"> <mal:type name="Boolean" area="MAL"/> </mal:field> <mal:field name="description" canBeNull="false" comment="The description field of the created object.
"> <mal:type name="String" area="MAL"/> </mal:field> </mal:composite> <mal:composite name="ObjectDeletion" shortFormPart="2" comment="Holds object deletion details.
"> <mal:field name="description" canBeNull="false" comment="Description field for object to be deleted.
"> <mal:type name="String" area="MAL"/> </mal:field> </mal:composite> <mal:composite name="ObjectUpdate" shortFormPart="3" comment="Holds object update details.
"> <mal:field name="EnumField" canBeNull="true" comment="Optional field - holds enum value.
"> <mal:type name="BasicEnum" service="EventTest" area="COMPrototype"/> </mal:field> <mal:field name="DurationField" canBeNull="true" comment="Optional field - holds duration value.
"> <mal:type name="Duration" area="MAL"/> </mal:field> <mal:field name="NumericListField" canBeNull="true" comment="Optional field - holds one or more numeric (short values).
"> <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.
"> <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.
"> <mal:field name="description" canBeNull="false" comment="The description field of the created object.
"> <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.
"> <mal:field name="description" canBeNull="false" comment="The description field of the created object.
"> <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.
"> <mal:field name="UOctetField" canBeNull="false" comment="Unsigned octet value.
"> <mal:type name="UOctet" area="MAL"/> </mal:field> <mal:field name="OctetField" canBeNull="false" comment="octet value.
"> <mal:type name="Octet" area="MAL"/> </mal:field> <mal:field name="DoubleField" canBeNull="false" comment="double value.
"> <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.

"> <com:event name="TestObjectCreation" number="3001" comment="A Release event is release from source consumer.
"> <com:objectType> <mal:type name="ObjectCreation" service="EventTest" area="COMPrototype"/> </com:objectType> <com:sourceObject comment="The created object is the source of the event.
"/> </com:event> <com:event name="TestObjectDeletion" number="3002" comment="Event generated to report deletion of a test object.
"> <com:objectType> <mal:type name="ObjectDeletion" service="EventTest" area="COMPrototype"/> </com:objectType> <com:sourceObject comment="The deleted object is the source of the event.
"/> </com:event> <com:event name="TestObjectUpdate" number="3003" comment="Event generated to report update of a test object.
"> <com:objectType> <mal:type name="ObjectUpdate" service="EventTest" area="COMPrototype"/> </com:objectType> <com:sourceObject comment="The updated object is the source of the event.
"/> </com:event> </com:events> <com:archiveUsage comment="Events not currently persisted.
"/> </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>