diff --git a/schemas/AVCL.3.1.changes.txt b/schemas/AVCL.3.1.changes.txt index 4cee9c730cccaba65f72c986b30331ae52411950..6d96db8b377473b47dfc0557d45fbc273f09cac8 100644 --- a/schemas/AVCL.3.1.changes.txt +++ b/schemas/AVCL.3.1.changes.txt @@ -15,12 +15,11 @@ Changes to body - rename AgendaMission to MissionAgenda - rename MissionResults to MissionTelemetryLog - rename GuidedMunitionMission to MissionGuidedMunition +- @vehicleName to Vehicle - relax attributes as optional, wherever appropriate -- modified content model to include Location and Vehicle, TODO add them +- modified content model to include Location and Vehicle as part of overall mission, not GoalList -Can a Vehicle refer to a Mission and a Location (probably), or does a Mission refer to a Vehicle and a Location (probably not)? - -Does a Location solely contain GeoOrigin, or can GeoOrigin appear with a Mission? +TODO Does a Location solely contain GeoOrigin, or can GeoOrigin appear with a Mission? TODO Location can be point, line, area, or volume @@ -33,7 +32,6 @@ TODO MissionArchive can contain Vehicle+ Mission+ prior: AVCL Schema 3.0 TODO -- AVCL/@vehicleName should not be required - Avcl3ToAvcl2.xslt converter Fixed diff --git a/schemas/AVCL.3.1.xsd b/schemas/AVCL.3.1.xsd index 79731a10f8a8fdf34d202a15316c1297a8a18c74..8cd769eafbdea40b572af036b871db1dc72f446a 100644 --- a/schemas/AVCL.3.1.xsd +++ b/schemas/AVCL.3.1.xsd @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- edited with XMLSpy v2022 rel. 2 (x64) (http://www.altova.com) by (Naval Postgraduate School) --> +<!-- edited with XMLSpy v2023 rel. 2 (x64) (http://www.altova.com) by Don Brutzman (Naval Postgraduate School) --> <!-- <head> <meta name="filename" content="AVCL.2.1.xsd" /> @@ -10,6 +10,7 @@ <meta name="created version 2.1" content="1 November 2012"/> <meta name="created version 3.0" content="23 October 2019"/> <meta name="created version 3.1" content="4 July 2022"/> + <meta name="modified" content="30 August 2023"/> <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 @@ -47,6 +48,70 @@ </xsd:attribute> </xsd:complexType> </xsd:element> + <xsd:element name="head" type="avclHeadType"/> + <xsd:element name="body"> + <xsd:complexType> + <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="vehicleName" type="xsd:string" use="optional"> + <xsd:annotation> + <xsd:documentation>informal</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <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:element ref="GeoOrigin" minOccurs="0"> + <xsd:annotation> + <xsd:documentation>Defines a geographic origin for cartesian relative positions in this mission document.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="OperatingArea" minOccurs="0"/> + <xsd:element ref="LaunchPosition" minOccurs="0"/> + <xsd:element ref="RecoveryPosition" minOccurs="0"/> + <xsd:sequence> + <xsd:annotation> + <xsd:documentation>Mission</xsd:documentation> + </xsd:annotation> + <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"/> + </xsd:sequence> + <xsd:element name="TimeOffset" minOccurs="0"> + <xsd:complexType> + <xsd:attribute name="date" type="xsd:date" use="optional"> + <xsd:annotation> + <xsd:documentation>Date of mission conduct</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + </xsd:complexType> + </xsd:element> + <xsd:element ref="UnitsOfMeasure" minOccurs="0"/> + </xsd:choice> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> <xsd:element name="Acknowledge" type="acknowledgeElementType"/> <xsd:element name="MissionAgenda" type="agendaMissionElementType"> <xsd:annotation> @@ -109,62 +174,6 @@ </xsd:annotation> </xsd:element> <xsd:element name="Beacon" type="stringElementType"/> - <xsd:element name="body"> - <xsd:complexType> - <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: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"/> - </xsd:sequence> - <xsd:element ref="GeoOrigin" minOccurs="0"> - <xsd:annotation> - <xsd:documentation>Defines a geographic origin for cartesian relative positions in this mission document.</xsd:documentation> - </xsd:annotation> - </xsd:element> - <xsd:element ref="OperatingArea" minOccurs="0"/> - <xsd:element name="TimeOffset" minOccurs="0"> - <xsd:complexType> - <xsd:attribute name="date" type="xsd:date" use="optional"> - <xsd:annotation> - <xsd:documentation>Date of mission conduct</xsd:documentation> - </xsd:annotation> - </xsd:attribute> - </xsd:complexType> - </xsd:element> - <xsd:element ref="UnitsOfMeasure" minOccurs="0"/> - </xsd:choice> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - </xsd:element> <xsd:element name="BodyCoordinateVelocity" type="bodyCoordinateVelocityElementType"/> <xsd:element name="BodyThrusters" type="uuvBodyThrustersOrderElementType"/> <xsd:element name="BowLateralThruster" type="signedPercentElementType"/> @@ -327,7 +336,6 @@ <xsd:documentation>Imperative execution-level mission command script</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="head" type="avclHeadType"/> <xsd:element name="Heading" type="headingElementType"/> <xsd:element name="Height" type="positiveScalarElementType"/> <xsd:element name="Help" type="noValueElementType"> @@ -1493,26 +1501,20 @@ </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:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="ConstraintList" minOccurs="0"/> + <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: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:group ref="TimingTypeElements" minOccurs="0"/> + </xsd:choice> </xsd:sequence> <xsd:attributeGroup ref="CommonAttributes"/> </xsd:complexType> @@ -1522,9 +1524,6 @@ </xsd:annotation> <xsd:sequence> <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> @@ -3939,7 +3938,13 @@ <xsd:element name="GpsFixFailed" type="noValueElementType"/> </xsd:choice> </xsd:group> --> - <xsd:element name="Risk" type="riskElementType"/> + <xsd:element name="Risk"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="riskElementType"/> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> <xsd:complexType name="riskElementType"> <xsd:annotation> <xsd:documentation>Constraint describing Dimentions of Autonomous Decision Making (DADM) Risk Element (RE).</xsd:documentation>