diff --git a/schemas/AVCL.3.1.changes.txt b/schemas/AVCL.3.1.changes.txt index 6b32e137544bb79dd6a8201b0de13a9cbdcebf28..4cee9c730cccaba65f72c986b30331ae52411950 100644 --- a/schemas/AVCL.3.1.changes.txt +++ b/schemas/AVCL.3.1.changes.txt @@ -1,7 +1,11 @@ AVCL Schema 3.1 +Renamed GoalType (within Goal) as GoalActions. Added Supply and Task as additional goal types. + Added Risk Elements as options for each Goal and GoalList +Rendezvous TargetShip now optional + Deprecations - rename AvoidArea to AvoidanceArea - rename MissionPreparation to MissionCommands @@ -11,6 +15,7 @@ Changes to body - rename AgendaMission to MissionAgenda - rename MissionResults to MissionTelemetryLog - rename GuidedMunitionMission to MissionGuidedMunition +- relax attributes as optional, wherever appropriate - modified content model to include Location and Vehicle, TODO add them Can a Vehicle refer to a Mission and a Location (probably), or does a Mission refer to a Vehicle and a Location (probably not)? @@ -23,6 +28,8 @@ TODO MissionTelemetryLog contain optional TimeOffset, DisPduStream TODO MissionArchive can contain Vehicle+ Mission+ +============================================================================== + prior: AVCL Schema 3.0 TODO @@ -66,3 +73,148 @@ meo:hasNext rdf:type owl:ObjectProperty ; rdfs:domain meo:Goal ; rdfs:range meo:Goal ; rdfs:comment "Goal 'B' is the next goal for Goal 'A' when 'A' directly precedes 'A' in the Mission goal tree. This property is irreflexive; a Goal cannot return to itself (a weak form of Rule G7)." . + +============================================================================== + +Change log, version 2.1: + - Initial version identical to version 2.0 in order to enable change tracking via Subversion + - Updated element annotations and documentation, diff/merge with Savage version of AVCL schema 2.0 conducted satisfactorily + - Updated build and documentation procedures + - booleanElementType explicitly defaults to value of false + - Tested satisfactorily with upgrade to JAXB 2.1.13 under Java 6 and Java 7, since JAXB 2.2.* apparently incompatible with Java 6 + - Sorted elements, simple types, complex types and groups alphabetically by name + - renamed LaunchPositionAH to LaunchPosition for consistency + - renamed Goals to Goal for clarity/correctness + - use attributeGroup CommonAttributes throughout to avoid duplicate definition of id, description, timestamp + - renamed discreteTimeResultsElementType as sampledResultsElementType for clarity + - fixed enumeration values and simpleType declaration for vehicleType + - refactor, renamed special-case Orientation and corresponding type="areaOrientationElementType" to Rotation type="areaRotationElementType", + also made global, avoiding name overloading with more commonly used Orientation type="orientationElementType" + - Rename nonNegativeIntType, positiveIntType to spell out IntegerType + - combined duplicated elements into single global element: MSLAltitude, Altitude, MoveLateral, MoveRotate + - Altitude, Depth, MSL, AGL values all made nonnegative instead of positive + + - TODO for duration-related time values, -1 means no time constraint + - TODO clarity on Marker, MarkerCharacteristic and MarkTarget elements + - TODO move element annotations from ref="ElementName" definitions to name="ElementName" definitions + +============================================================================== + +Change log, version 2.0: + - metaDataType to metaType for meta element, metaCommandType for MetaCommand element + - moving various element names to top of file for more global exposure. Using ref + to reference exact other globally named elements. Some element names are + defined by other elementTypes and were not moved. Comments were left above these + cases, or, in the case of single unique (one time only) element declarations. + - refactored some commonly named elements and their types so that they too + could be pulled out and defined globally + - made vehicleType required + - change agendaGoalElementType from Goal to Goals (returns a list of Goals) + - change ugvScriptCommandsType for MakeKnots and MakeSpeed to speedElementType to match + the other three vehicle types + - specify an avclVersion type to enumeration AVCL version in the AVCL element. Note: version 2.0 + is not backwards compatible with version 1.0. However, any version after 2.0 will be backwards + compatible with 2.0. + + * TODO: 1) Conversion stylesheet Avcl1.0ToAvcl2.0.xslt + 2) Refactor commonly named elements having different types to + instead have different names. Both elements and types should + start with the common name and then append vehicle type. + 3) Create table with element and attribute name changes as they + occur, then follow up with a stylesheet to convert 1.0 content + into 2.0 + 4) Annotate globally placed element declarations now? + + * Table of refactored commonly named elements and their corresponding types. + First (on top) is the former element name with the new name and + corresponding type below: + + name="OperatingCharacteristics" type="uavOperatingCharacteristicsElementType" + name="OperatingCharacteristicsUAV" type="operatingCharacteristicsUAVElementType" + + name="Capability" type="uavCapabilityElementType" + name="CapabilityUAV" type="capabilityUAVElementType" + + name="CompositeWaypoint" type="uavCompositeWaypointCommandType" + name="CompositeWaypointUAV" type="compositeWaypointUAVCommandType" + + name="Loiter" type="uavLoiterCommandType" + name="LoiterUAV" type="loiterUAVCommandType" + + name="OperatingCharacteristics" type="ugvOperatingCharacteristicsElementType" + name="OperatingCharacteristicsUGV" type="operatingCharacteristicsUGVElementType" + + name="SetPosition" type="uavPositionCommandType" + name="SetPositionUAV" type="setPositionUAVCommandType" + + name="VerticalPosition" type="uavVerticalPositionElementType" + name="VerticalPositionUAV" type="verticalPositionUAVElementType" + + name="Waypoint" type="uavWaypointCommandType" + name="WaypointUAV" type="waypointUAVCommandType" + + name="Altitude" type="ugvVerticalPositionElementType" + name="AltitudeUGV" type="verticalPositionUGVElementType" + + name="Capability" type="ugvCapabilityElementType" + name="CapabilityUGV" type="capabilityUGVElementType" + + name="CompositeWaypoint" type="ugvCompositeWaypointCommandType" + name="CompositeWaypointUGV" type="compositeWaypointUGVCommandType" + + name="Loiter" type="ugvLoiterCommandType" + name="LoiterUGV" type="loiterUGVCommandType" + + name="SetPosition" type="ugvPositionCommandType" + name="SetPositionUGV" type="setPositionUGVCommandType" + + name="Waypoint" type="ugvWaypointCommandType" + name="WaypointUGV" type="waypointUGVCommandType" + + name="OperatingCharacteristics" type="usvOperatingCharacteristicsElementType" + name="OperatingCharacteristicsUSV" type="operatingCharacteristicsUSVElementType" + + name="Capability" type="usvCapabilityElementType" + name="CapabilityUSV" type="capabilityUSVElementType" + + name="CompositeWaypoint" type="usvCompositeWaypointCommandType" + name="CompositeWaypointUSV" type="compositeWaypointUSVCommandType" + + name="Loiter" type="usvLoiterCommandType" + name="LoiterUSV" type="loiterUSVCommandType" + + name="Propellers" type="usvPropellersOrderElementType" + name="PropellersUSV" type="propellersOrderUSVElementType" + + name="SetPosition" type="usvPositionCommandType" + name="SetPositionUSV" type="setPositionUSVCommandType" + + name="Waypoint" type="usvWaypointCommandType" + name="WaypointUSV" type="waypointUSVCommandType" + + name="OperatingCharacteristics" type="uuvOperatingCharacteristicsElementType" + name="OperatingCharacteristicsUUV" type="operatingCharacteristicsUUVElementType" + + name="Capability" type="uuvCapabilityElementType" + name="CapabilityUUV" type="capabilityUUVElementType" + + name="CompositeWaypoint" type="uuvCompositeWaypointCommandType" + name="CompositeWaypointUUV" type="compositeWaypointUUVCommandType" + + name="Loiter" type="uuvLoiterCommandType" + name="LoiterUUV" type="loiterUUVCommandType" + + name="Propellers" type="uuvPropellersOrderElementType" + name="PropellersUUV" type="propellersOrderUUVElementType" + + name="SetPosition" type="uuvPositionCommandType" + name="SetPositionUUV" type="setPositionUUVCommandType" + + name="Waypoint" type="uuvWaypointCommandType" + name="WaypointUUV" type="waypointUUVCommandType" + + name="LaunchPosition" type="munitionLaunchPointElementType" + name="LaunchPositionML" type="munitionLaunchPointElementType" + + name="LaunchPosition" type="absoluteHorizontalPositionElementType" + name="LaunchPosition" type="absoluteHorizontalPositionElementType" diff --git a/schemas/AVCL.3.1.xsd b/schemas/AVCL.3.1.xsd index 1a437ec523746644230a0dc236cde64d4907fa1e..c16ea4b09963acf7db4da46407bd3cfc4cca7e43 100644 --- a/schemas/AVCL.3.1.xsd +++ b/schemas/AVCL.3.1.xsd @@ -3,13 +3,14 @@ <!-- <head> <meta name="filename" content="AVCL.2.1.xsd" /> - <meta name="authors" content="Duane Davis, Don Brutzman, Terry Norbraten, US Naval Postgraduate School, Monterey, CA" /> + <meta name="authors" content="Don Brutzman, Duane Davis, Terry Norbraten, US Naval Postgraduate School, Monterey, California" /> <meta name="created" content="02 March 2004" /> <meta name="created version 1.0" content="23 June 2006" /> <meta name="created version 2.0" content="12 January 2009"/> <meta name="created version 2.1" content="1 November 2012"/> <meta name="created version 3.0" content="23 October 2019"/> - <meta name="identifier" content="https://savage.nps.edu/Savage/AuvWorkbench/AVCL/AVCL.2.1.xsd" /> + <meta name="created version 3.1" content="4 July 2022"/> + <meta name="identifier" content="https://savage.nps.edu/Savage/EthicalControl/schemas/AVCL.3.1.xsd" /> <meta name="description" content="This file contains the schema for the XML autonomous vehicle command language. In general, the command language enables the explicit declaration of an entire mission using execution-level commands, the ad-hoc definition of a mission by providing individual commands @@ -17,149 +18,9 @@ (telemetry, control orders, sonar data, derived sensor-based data, etc.), and communication between various levels of the control architecture (execution, tactical, strategic levels) or between multiple autonomous vehicles, software agents, or human controllers." /> - <meta name="url" content="http://www.web3d.org/x3d/content/examples/Savage/AuvWorkbench/AVCL/AVCL.2.1.xsd" /> + <meta name="license" content="TODO" /> </head> -Change log, version 2.1: - - Initial version identical to version 2.0 in order to enable change tracking via Subversion - - Updated element annotations and documentation, diff/merge with Savage version of AVCL schema 2.0 conducted satisfactorily - - Updated build and documentation procedures - - booleanElementType explicitly defaults to value of false - - Tested satisfactorily with upgrade to JAXB 2.1.13 under Java 6 and Java 7, since JAXB 2.2.* apparently incompatible with Java 6 - - Sorted elements, simple types, complex types and groups alphabetically by name - - renamed LaunchPositionAH to LaunchPosition for consistency - - renamed Goals to Goal for clarity/correctness - - use attributeGroup CommonAttributes throughout to avoid duplicate definition of id, description, timestamp - - renamed discreteTimeResultsElementType as sampledResultsElementType for clarity - - fixed enumeration values and simpleType declaration for vehicleType - - refactor, renamed special-case Orientation and corresponding type="areaOrientationElementType" to Rotation type="areaRotationElementType", - also made global, avoiding name overloading with more commonly used Orientation type="orientationElementType" - - Rename nonNegativeIntType, positiveIntType to spell out IntegerType - - combined duplicated elements into single global element: MSLAltitude, Altitude, MoveLateral, MoveRotate - - Altitude, Depth, MSL, AGL values all made nonnegative instead of positive - - - TODO for duration-related time values, -1 means no time constraint - - TODO clarity on Marker, MarkerCharacteristic and MarkTarget elements - - TODO move element annotations from ref="ElementName" definitions to name="ElementName" definitions - -Change log, version 2.0: - - metaDataType to metaType for meta element, metaCommandType for MetaCommand element - - moving various element names to top of file for more global exposure. Using ref - to reference exact other globally named elements. Some element names are - defined by other elementTypes and were not moved. Comments were left above these - cases, or, in the case of single unique (one time only) element declarations. - - refactored some commonly named elements and their types so that they too - could be pulled out and defined globally - - made vehicleType required - - change agendaGoalElementType from Goal to Goals (returns a list of Goals) - - change ugvScriptCommandsType for MakeKnots and MakeSpeed to speedElementType to match - the other three vehicle types - - specify an avclVersion type to enumeration AVCL version in the AVCL element. Note: version 2.0 - is not backwards compatible with version 1.0. However, any version after 2.0 will be backwards - compatible with 2.0. - - * TODO: 1) Conversion stylesheet Avcl1.0ToAvcl2.0.xslt - 2) Refactor commonly named elements having different types to - instead have different names. Both elements and types should - start with the common name and then append vehicle type. - 3) Create table with element and attribute name changes as they - occur, then follow up with a stylesheet to convert 1.0 content - into 2.0 - 4) Annotate globally placed element declarations now? - - * Table of refactored commonly named elements and their corresponding types. - First (on top) is the former element name with the new name and - corresponding type below: - - name="OperatingCharacteristics" type="uavOperatingCharacteristicsElementType" - name="OperatingCharacteristicsUAV" type="operatingCharacteristicsUAVElementType" - - name="Capability" type="uavCapabilityElementType" - name="CapabilityUAV" type="capabilityUAVElementType" - - name="CompositeWaypoint" type="uavCompositeWaypointCommandType" - name="CompositeWaypointUAV" type="compositeWaypointUAVCommandType" - - name="Loiter" type="uavLoiterCommandType" - name="LoiterUAV" type="loiterUAVCommandType" - - name="OperatingCharacteristics" type="ugvOperatingCharacteristicsElementType" - name="OperatingCharacteristicsUGV" type="operatingCharacteristicsUGVElementType" - - name="SetPosition" type="uavPositionCommandType" - name="SetPositionUAV" type="setPositionUAVCommandType" - - name="VerticalPosition" type="uavVerticalPositionElementType" - name="VerticalPositionUAV" type="verticalPositionUAVElementType" - - name="Waypoint" type="uavWaypointCommandType" - name="WaypointUAV" type="waypointUAVCommandType" - - name="Altitude" type="ugvVerticalPositionElementType" - name="AltitudeUGV" type="verticalPositionUGVElementType" - - name="Capability" type="ugvCapabilityElementType" - name="CapabilityUGV" type="capabilityUGVElementType" - - name="CompositeWaypoint" type="ugvCompositeWaypointCommandType" - name="CompositeWaypointUGV" type="compositeWaypointUGVCommandType" - - name="Loiter" type="ugvLoiterCommandType" - name="LoiterUGV" type="loiterUGVCommandType" - - name="SetPosition" type="ugvPositionCommandType" - name="SetPositionUGV" type="setPositionUGVCommandType" - - name="Waypoint" type="ugvWaypointCommandType" - name="WaypointUGV" type="waypointUGVCommandType" - - name="OperatingCharacteristics" type="usvOperatingCharacteristicsElementType" - name="OperatingCharacteristicsUSV" type="operatingCharacteristicsUSVElementType" - - name="Capability" type="usvCapabilityElementType" - name="CapabilityUSV" type="capabilityUSVElementType" - - name="CompositeWaypoint" type="usvCompositeWaypointCommandType" - name="CompositeWaypointUSV" type="compositeWaypointUSVCommandType" - - name="Loiter" type="usvLoiterCommandType" - name="LoiterUSV" type="loiterUSVCommandType" - - name="Propellers" type="usvPropellersOrderElementType" - name="PropellersUSV" type="propellersOrderUSVElementType" - - name="SetPosition" type="usvPositionCommandType" - name="SetPositionUSV" type="setPositionUSVCommandType" - - name="Waypoint" type="usvWaypointCommandType" - name="WaypointUSV" type="waypointUSVCommandType" - - name="OperatingCharacteristics" type="uuvOperatingCharacteristicsElementType" - name="OperatingCharacteristicsUUV" type="operatingCharacteristicsUUVElementType" - - name="Capability" type="uuvCapabilityElementType" - name="CapabilityUUV" type="capabilityUUVElementType" - - name="CompositeWaypoint" type="uuvCompositeWaypointCommandType" - name="CompositeWaypointUUV" type="compositeWaypointUUVCommandType" - - name="Loiter" type="uuvLoiterCommandType" - name="LoiterUUV" type="loiterUUVCommandType" - - name="Propellers" type="uuvPropellersOrderElementType" - name="PropellersUUV" type="propellersOrderUUVElementType" - - name="SetPosition" type="uuvPositionCommandType" - name="SetPositionUUV" type="setPositionUUVCommandType" - - name="Waypoint" type="uuvWaypointCommandType" - name="WaypointUUV" type="waypointUUVCommandType" - - name="LaunchPosition" type="munitionLaunchPointElementType" - name="LaunchPositionML" type="munitionLaunchPointElementType" - - name="LaunchPosition" type="absoluteHorizontalPositionElementType" - name="LaunchPosition" type="absoluteHorizontalPositionElementType" --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" elementFormDefault="qualified" attributeFormDefault="unqualified" version="3.1" jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1"> <xsd:element name="AVCL"> @@ -253,11 +114,32 @@ Change log, version 2.0: <xsd:complexContent> <xsd:extension base="avclBodyType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="Vehicle" minOccurs="0"> + <xsd:annotation> + <xsd:documentation>robot UAV UUV USV UGV</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:attribute name="vehicleType" type="vehicleType" use="optional"> + <xsd:annotation> + <xsd:documentation>UAV, UGV, USV, or UUV, ROV, AGENDA, MUNITION, SSGN and UNKNOWN are supported vehicleType values.</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <xsd:attribute name="vehicleID" type="xsd:unsignedShort" use="optional" default="0"> + <xsd:annotation> + <xsd:documentation>integer ID number of vehicle, commonly used for DIS or virtual environment indexing</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + </xsd:complexType> + </xsd:element> <xsd:sequence minOccurs="0"> <xsd:annotation> <xsd:documentation>Mission</xsd:documentation> </xsd:annotation> - <xsd:element ref="MissionAgenda" minOccurs="0"/> + <xsd:element ref="MissionAgenda" minOccurs="0"> + <xsd:annotation> + <xsd:documentation>Declarative strategic-level list of mission goals and constraints, suitable for robot mision planning to generate Waypoint lists and other executable script commands</xsd:documentation> + </xsd:annotation> + </xsd:element> <xsd:element ref="MissionCommands" minOccurs="0"/> <xsd:element ref="MissionTelemetry" minOccurs="0"/> <xsd:element ref="MissionArchive" minOccurs="0"/> @@ -278,23 +160,6 @@ Change log, version 2.0: </xsd:complexType> </xsd:element> <xsd:element ref="UnitsOfMeasure" minOccurs="0"/> - <xsd:element name="Vehicle" minOccurs="0"> - <xsd:annotation> - <xsd:documentation>robot UAV UUV USV UGV</xsd:documentation> - </xsd:annotation> - <xsd:complexType> - <xsd:attribute name="vehicleType" type="vehicleType" use="optional"> - <xsd:annotation> - <xsd:documentation>UAV, UGV, USV, or UUV, ROV, AGENDA, MUNITION, SSGN and UNKNOWN are supported vehicleType values.</xsd:documentation> - </xsd:annotation> - </xsd:attribute> - <xsd:attribute name="vehicleID" type="xsd:unsignedShort" use="optional" default="0"> - <xsd:annotation> - <xsd:documentation>integer ID number of vehicle, commonly used for DIS or virtual environment indexing</xsd:documentation> - </xsd:annotation> - </xsd:attribute> - </xsd:complexType> - </xsd:element> </xsd:choice> </xsd:extension> </xsd:complexContent> @@ -792,6 +657,16 @@ Change log, version 2.0: <xsd:documentation>To look for lost or unlocated objects or persons.</xsd:documentation> </xsd:annotation> </xsd:element> + <xsd:element name="Supply"> + <xsd:annotation> + <xsd:documentation>Perform supply or resupply task. TODO new goal type not considered by Davis ontology.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SpecialTask"> + <xsd:annotation> + <xsd:documentation>Perform alternate task. TODO new goal type not considered by Davis ontology.</xsd:documentation> + </xsd:annotation> + </xsd:element> <xsd:element name="SectorPattern" type="sectorPatternType"/> <xsd:element name="Sender" type="nonNegativeIntegerElementType"/> <xsd:element name="SendMessage" type="sendMessageCommandType"> @@ -1127,7 +1002,7 @@ Change log, version 2.0: <xsd:documentation source="https://savage.nps.edu/Savage/AuvWorkbench/AVCL/AVCL.2.0.xsd"/> </xsd:annotation> </xsd:enumeration> - <!-- Deliberately not supported, but prior entry kept here for legacy sake. Use AVCL.1.0To2.0.xslt to convert past missions, if upgrade is desired. --> + <!-- Deliberately not supported, but prior entry kept here for legacy sake. Use AVCL.1.0To2.0.xslt to convert past missions, if upgrade or earlier mission XML is desired. --> <!-- xsd:enumeration value="1.0"> <xsd:annotation> <xsd:appinfo>Original AVCL implemented on 02 March 2004.</xsd:appinfo> @@ -1575,15 +1450,15 @@ Change log, version 2.0: <xsd:annotation> <xsd:documentation>Empty Goal allowed, skipped</xsd:documentation> </xsd:annotation> - <xsd:group ref="GoalElements" minOccurs="0"/> + <xsd:group ref="GoalAction" minOccurs="0"/> <xsd:element ref="Risk" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation>List of Risk elements requiring consideration prior to human ordering robot to perform goal</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="OperatingArea" minOccurs="0"/> - <xsd:group ref="TimingTypeElements" minOccurs="0"/> <xsd:element ref="ReportingCriteria" minOccurs="0" maxOccurs="unbounded"/> + <xsd:group ref="TimingTypeElements" minOccurs="0"/> </xsd:sequence> <xsd:attributeGroup ref="CommonAttributes"/> <xsd:attribute name="phase" type="xsd:string" use="optional"> @@ -1618,6 +1493,26 @@ Change log, version 2.0: </xsd:annotation> <xsd:sequence> <xsd:element ref="Goal" maxOccurs="unbounded"/> + <xsd:element ref="Risk" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation>Shared by all goals: list of Risk elements requiring consideration prior to human ordering robot to perform goal</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="OperatingArea" minOccurs="0"> + <xsd:annotation> + <xsd:documentation>Shared by all goals: horizontal area for conducting mission-goal operations, with optional vertical constraints</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:group ref="TimingTypeElements" minOccurs="0"> + <xsd:annotation> + <xsd:documentation>Shared by all goals: elements utilized to specify timing requirements of an agenda goal.</xsd:documentation> + </xsd:annotation> + </xsd:group> + <xsd:element ref="ReportingCriteria" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation>Shared by all goals: requirements for reporting mission status and results</xsd:documentation> + </xsd:annotation> + </xsd:element> </xsd:sequence> <xsd:attributeGroup ref="CommonAttributes"/> </xsd:complexType> @@ -1626,10 +1521,10 @@ Change log, version 2.0: <xsd:documentation>Declarative agenda-based (goals) mission definition suitable for use by an agent or other high level mission controller.</xsd:documentation> </xsd:annotation> <xsd:sequence> - <xsd:element ref="LaunchPosition" minOccurs="0"/> - <xsd:element ref="RecoveryPosition" minOccurs="0"/> <xsd:element ref="GoalList"/> <xsd:element ref="ConstraintList" minOccurs="0"/> + <xsd:element ref="LaunchPosition" minOccurs="0"/> + <xsd:element ref="RecoveryPosition" minOccurs="0"/> </xsd:sequence> <xsd:attributeGroup ref="CommonAttributes"/> </xsd:complexType> @@ -2000,7 +1895,7 @@ Change log, version 2.0: </xsd:annotation> <xsd:sequence> <xsd:element ref="Qualifier" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="TargetVehicleID" type="integerElementType" maxOccurs="unbounded"/> + <xsd:element name="TargetVehicleID" type="integerElementType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attributeGroup ref="CommonAttributes"/> </xsd:complexType> @@ -2043,12 +1938,12 @@ Change log, version 2.0: <xsd:sequence> <xsd:element ref="Target" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> - <xsd:attribute name="datumType" type="datumTypeType" use="required"> + <xsd:attribute name="datumType" type="datumTypeType"> <xsd:annotation> <xsd:documentation>Specifies whether the search datum is a point (center of the goal area) or the entire area.</xsd:documentation> </xsd:annotation> </xsd:attribute> - <xsd:attribute name="requiredPD" type="percentType" use="required"> + <xsd:attribute name="requiredPD" type="percentType"> <xsd:annotation> <xsd:documentation>Required probability of detection of the search.</xsd:documentation> </xsd:annotation> @@ -3934,9 +3829,9 @@ Change log, version 2.0: <xsd:element ref="Elevator" minOccurs="0"/> </xsd:sequence> </xsd:group> - <xsd:group name="GoalElements"> + <xsd:group name="GoalAction"> <xsd:annotation> - <xsd:documentation>Elements that can be used to specify a single goal to be accomplished during a mission.</xsd:documentation> + <xsd:documentation>Elements that can be used to specify action that a single goal can accomplish during a mission.</xsd:documentation> </xsd:annotation> <xsd:choice> <!-- TODO make all of these elements inherit from goalType --> @@ -3952,6 +3847,8 @@ Change log, version 2.0: <xsd:element ref="Reposition"/> <xsd:element ref="SampleEnvironment"/> <xsd:element ref="Search"/> + <xsd:element ref="Supply"/> + <xsd:element ref="SpecialTask"/> </xsd:choice> </xsd:group> <xsd:group name="InformMessage">