ILP-593 Added IlpTestApi
Showing
2 changed files
with
260 additions
and
0 deletions
| ... | @@ -98,6 +98,18 @@ | ... | @@ -98,6 +98,18 @@ |
| 98 | </elem> | 98 | </elem> |
| 99 | </struct> | 99 | </struct> |
| 100 | 100 | ||
| 101 | |||
| 102 | <!-- | ||
| 103 | ************************************* | ||
| 104 | * XYZVector Definition. | ||
| 105 | ************************************* | ||
| 106 | --> | ||
| 107 | <array name="XYZVector" type="float64" size="3" > | ||
| 108 | <comment> | ||
| 109 | Defines 3D Cartesian Vector data array. | ||
| 110 | </comment> | ||
| 111 | </array> | ||
| 112 | |||
| 101 | <!-- | 113 | <!-- |
| 102 | ************************************* | 114 | ************************************* |
| 103 | * Object Definition. | 115 | * Object Definition. | ... | ... |
ILP/V1.2/IlpTestApi.xid.xml
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8" ?> | ||
| 2 | |||
| 3 | <specification xmlns="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 4 | xmlns:xid="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 5 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
| 6 | xsi:schemaLocation="https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd https://xid.location.studio/schema/V1.0.0/XtensibleInterfaceDefinition.xsd" | ||
| 7 | identity="TestSpec.xid.xml"> | ||
| 8 | <title>ILP Test Spec Specifications</title> | ||
| 9 | <comment> | ||
| 10 | This file defines the ILP test specification Used by the Test Service. | ||
| 11 | </comment> | ||
| 12 | |||
| 13 | <!-- Include all known definitions --> | ||
| 14 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/SpatialDefs.xid.xml" local="SpatialDefs.xid.xml" /> | ||
| 15 | <import ref="https://xid.location.studio/GeoSpatial/V1.0/Contact.xid.xml" local="Contact.xid.xml" /> | ||
| 16 | <import ref="https://xid.location.studio/SLAM/V1.0/SurveyApi.xid.xml" local="SurveyApi.xid.xml" /> | ||
| 17 | <import ref="https://xid.location.studio/HPE/V1.2/HpeCore.xid.xml" local="HpeCore.xid.xml" /> | ||
| 18 | |||
| 19 | |||
| 20 | <namespace name="ILP.Test"> | ||
| 21 | <using namespace="Tensor"/> | ||
| 22 | |||
| 23 | <!-- | ||
| 24 | ************************************* | ||
| 25 | * Filter Structure Definition | ||
| 26 | ************************************* | ||
| 27 | --> | ||
| 28 | <struct name="Filter"> | ||
| 29 | <comment>Specifies filter parameters controlling selection of records in the Data Set.</comment> | ||
| 30 | <elem name="obsTypes" multiplicity ="0..*" type="uint8" > | ||
| 31 | <comment>Optional set of observation types to use in execution. If not defined, all observation types will be passed to ILP. This filter | ||
| 32 | limits the data presented to the ILP.</comment> | ||
| 33 | </elem> | ||
| 34 | <elem name="earliestDate" type="datetime" multiplicity="0..1"> | ||
| 35 | <comment>Optional earliest date to select records. If not defined, earliest date is not considered.</comment> | ||
| 36 | </elem> | ||
| 37 | <elem name="latestDate" type="datetime" multiplicity="0..1"> | ||
| 38 | <comment>Optional latest date to select records. If not defined, latest date is not considered.</comment> | ||
| 39 | </elem> | ||
| 40 | <elem name="bounds" multiplicity ="0..1" type="GeoSpatial.BoundingBox" > | ||
| 41 | <comment>Optional bounding box, which the records are contained.</comment> | ||
| 42 | </elem> | ||
| 43 | <elem name="devids" multiplicity ="0..*" type="string" default ="0"> | ||
| 44 | <comment>Optional set of device idenifers to select for execution.</comment> | ||
| 45 | </elem> | ||
| 46 | </struct> | ||
| 47 | |||
| 48 | |||
| 49 | <!-- | ||
| 50 | ************************************* | ||
| 51 | * DataSet Structure Definition. | ||
| 52 | ************************************* | ||
| 53 | --> | ||
| 54 | <struct name="DataSet" type="GeoSpatial.Object" rttkey="GeoSpatila.ObjectType.IlpTestDataSet"> | ||
| 55 | <comment>DataSet comprises one or more surveys to use as test records.</comment> | ||
| 56 | <elem name="uuidData" multiplicity ="0..*" type="UUID" > | ||
| 57 | <comment>Zero or more UUIDs identifying the survey test data to include in this data set.</comment> | ||
| 58 | </elem> | ||
| 59 | <elem name="data" multiplicity ="0..*" type="SLAM.Survey" > | ||
| 60 | <comment>Zero or more SLAM surveys comprising the test data to execute.</comment> | ||
| 61 | </elem> | ||
| 62 | <elem name="returnFilteredData" multiplicity ="1" type="bool" default ="false"> | ||
| 63 | <comment>Optional boolean, determines if filtered data should be returned to caller for future testing.</comment> | ||
| 64 | </elem> | ||
| 65 | </struct> | ||
| 66 | |||
| 67 | <!-- | ||
| 68 | ************************************* | ||
| 69 | * Specification Structure Definition. | ||
| 70 | ************************************* | ||
| 71 | --> | ||
| 72 | <struct name="Specification" type="GeoSpatial.Object" rttkey="GeoSptila.ObjectType.IlpTestSpecification"> | ||
| 73 | <comment>Specification for an ILP Test comprising one or more data sets.</comment> | ||
| 74 | |||
| 75 | <elem name="createDate" type="datetime" multiplicity="1"> | ||
| 76 | <comment>Date and time the test specification was created.</comment> | ||
| 77 | </elem> | ||
| 78 | |||
| 79 | <elem name="modifiedDate" type="datetime" multiplicity="1"> | ||
| 80 | <comment>Date and time the test specification was modified.</comment> | ||
| 81 | </elem> | ||
| 82 | |||
| 83 | <elem name="contact" multiplicity ="0..1" type="GeoSpatial.ContactInfo" > | ||
| 84 | <comment>Optional contact information.</comment> | ||
| 85 | </elem> | ||
| 86 | |||
| 87 | </struct> | ||
| 88 | |||
| 89 | <!-- | ||
| 90 | ************************************* | ||
| 91 | * ResultRecord Definition. | ||
| 92 | ************************************* | ||
| 93 | --> | ||
| 94 | <struct name="ResultRecord" > | ||
| 95 | <comment>Result Record contains detailed results of position calculation and information relative to truth.</comment> | ||
| 96 | |||
| 97 | <elem name="index" type="uint32" multiplicity="1" /> | ||
| 98 | <elem name="epoch" type="datetime" multiplicity="1" /> | ||
| 99 | <elem name="resultcode" type="ResultCode" multiplicity="1" /> | ||
| 100 | <elem name="status" type="HPE.ProcessingStatus" multiplicity="1" /> | ||
| 101 | <elem name="epoch" type="datetime" multiplicity="1" /> | ||
| 102 | <elem name="source" type="string" multiplicity="1" /> | ||
| 103 | <elem name="stateTruth" type="HPE.StateVector" multiplicity="1" /> | ||
| 104 | <elem name="stateEst" type="HPE.StateVector" multiplicity="1" /> | ||
| 105 | <elem name="stateUncert" type="HPE.StateVector" multiplicity="1" /> | ||
| 106 | <elem name="stateErr" type="HPE.StateVector" multiplicity="1" /> | ||
| 107 | <elem name="stateTruth" type="HPE.StateVector" multiplicity="1" /> | ||
| 108 | <elem name="llaTruth" type="GeoSpatial.PositionECEF" multiplicity="1" /> | ||
| 109 | <elem name="llaEst" type="GeoSpatial.PositionECEF" multiplicity="1" /> | ||
| 110 | <elem name="enuErr" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 111 | <elem name="enuEstVel" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 112 | <elem name="enuErrVel" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 113 | <elem name="veracity" type="float32" multiplicity="1" /> | ||
| 114 | <elem name="floor" type="float32" multiplicity="1" /> | ||
| 115 | <elem name="floorUncert" type="float32" multiplicity="1" /> | ||
| 116 | <elem name="floorErr" type="float32" multiplicity="1" /> | ||
| 117 | <elem name="floorLabel" type="string" multiplicity="1" /> | ||
| 118 | <elem name="data" type="JSON" multiplicity="0..1" /> | ||
| 119 | </struct> | ||
| 120 | |||
| 121 | <!-- | ||
| 122 | ************************************* | ||
| 123 | * Statistics Definition. | ||
| 124 | ************************************* | ||
| 125 | --> | ||
| 126 | <struct name="Statistics" > | ||
| 127 | <comment>Calculated statistics for the associated the results.</comment> | ||
| 128 | |||
| 129 | <elem name="count" type="uint32" multiplicity="1" /> | ||
| 130 | <elem name="cep50" type="float32" multiplicity="1" /> | ||
| 131 | <elem name="cep68" type="float32" multiplicity="1" /> | ||
| 132 | <elem name="cep95" type="float32" multiplicity="1" /> | ||
| 133 | <elem name="cepmax" type="float32" multiplicity="1" /> | ||
| 134 | <elem name="rmsuncert" type="float32" multiplicity="1" /> | ||
| 135 | <elem name="rmserr" type="float32" multiplicity="1" /> | ||
| 136 | <elem name="meanState" type="HPE.StateVector" multiplicity="1" /> | ||
| 137 | <elem name="meanStateErr" type="HPE.StateVector" multiplicity="1" /> | ||
| 138 | <elem name="meanEnuErr" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 139 | <elem name="meanEnuUncert" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 140 | <elem name="meanEnuVel" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 141 | <elem name="meanEnuVelUncert" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 142 | <elem name="meanEnuVelErr" type="GeoSpatial.XYZVector" multiplicity="1" /> | ||
| 143 | <elem name="meanFloor" type="float32" multiplicity="1" /> | ||
| 144 | <elem name="rmsFloorUncert" type="float32" multiplicity="1" /> | ||
| 145 | <elem name="rmsFloorErr" type="float32" multiplicity="1" /> | ||
| 146 | </struct> | ||
| 147 | |||
| 148 | <!-- | ||
| 149 | ************************************* | ||
| 150 | * ResultSet Structure Definition. | ||
| 151 | ************************************* | ||
| 152 | --> | ||
| 153 | <struct name="ResultSet" type="GeoSpatial.Object" rttkey="GeoSptila.ObjectType.IlpTestResultSet"> | ||
| 154 | <comment>Specification for an ILP Test data result set.</comment> | ||
| 155 | |||
| 156 | <elem name="uuidData" multiplicity ="0..*" type="UUID" > | ||
| 157 | <comment>Zero or more UUIDs identifying the survey test data used in this result set.</comment> | ||
| 158 | </elem> | ||
| 159 | |||
| 160 | <elem name="records" type="ResultRecord" multiplicity="0..*"> | ||
| 161 | <comment>The estimated position result records.</comment> | ||
| 162 | </elem> | ||
| 163 | |||
| 164 | <elem name="stats" type="Statistics" multiplicity="1"> | ||
| 165 | <comment>Statistics for the result set.</comment> | ||
| 166 | </elem> | ||
| 167 | |||
| 168 | <elem name="confidence" type="float32" multiplicity="1" > | ||
| 169 | <comment>Confidence for the result records. Typically this will be .6872, but will report the confidence specified by the input.</comment> | ||
| 170 | </elem> /> | ||
| 171 | |||
| 172 | </struct> | ||
| 173 | |||
| 174 | <!-- | ||
| 175 | ************************************* | ||
| 176 | * Results Structure Definition. | ||
| 177 | ************************************* | ||
| 178 | --> | ||
| 179 | <struct name="Results" type="GeoSpatial.Object" rttkey="GeoSptila.ObjectType.IlpTestResults"> | ||
| 180 | <comment>Specification for an ILP Test data result set.</comment> | ||
| 181 | |||
| 182 | <elem name="uuidData" multiplicity ="0..*" type="UUID" > | ||
| 183 | <comment>Zero or more UUIDs identifying the survey test data used in this result set.</comment> | ||
| 184 | </elem> | ||
| 185 | |||
| 186 | <elem name="startExecutionDate" type="datetime" multiplicity="1"> | ||
| 187 | <comment>Date and time the test was executed.</comment> | ||
| 188 | </elem> | ||
| 189 | |||
| 190 | <elem name="durationExecution" type="uint32" multiplicity="1"> | ||
| 191 | <tag name="unit" value="msec"/> | ||
| 192 | <comment>Duration of the execution time in milliseconds.</comment> | ||
| 193 | </elem> | ||
| 194 | |||
| 195 | <elem name="uriSource" type="string" multiplicity="1"> | ||
| 196 | <comment>Source of results.</comment> | ||
| 197 | </elem> | ||
| 198 | </struct> | ||
| 199 | |||
| 200 | <!-- | ||
| 201 | ******************************************************* | ||
| 202 | Test Execution API | ||
| 203 | ******************************************************* | ||
| 204 | --> | ||
| 205 | <interface name="Test"> | ||
| 206 | <comment>Interface for submitting ILP Test Specifications for execution.</comment> | ||
| 207 | |||
| 208 | <operation name="Execute"> | ||
| 209 | <comment> | ||
| 210 | Operation executes the provided specification. | ||
| 211 | </comment> | ||
| 212 | <input name="input" type="Tensor.InputBase" sid="0x1060"> | ||
| 213 | |||
| 214 | <elem name="returnResults" multiplicity ="1" type="bool" default ="true"> | ||
| 215 | <comment>Optional, determines if results should be returned to caller on completion. By default, this is true. For long processing sessions | ||
| 216 | the connection timeout may occur before results are returned. In that case check the published results.</comment> | ||
| 217 | </elem> | ||
| 218 | |||
| 219 | <elem name="saveResults" multiplicity ="1" type="bool" default ="false"> | ||
| 220 | <comment>Optional, determines if processing results should be stored</comment> | ||
| 221 | </elem> | ||
| 222 | |||
| 223 | <elem name="publishResults" multiplicity ="1" type="bool" default ="false"> | ||
| 224 | <comment>Optional, publishes the results for additional downstream processing.</comment> | ||
| 225 | </elem> | ||
| 226 | |||
| 227 | <elem name="spec" multiplicity="1" type="Specification"> | ||
| 228 | <comment>The test specification to execute.</comment> | ||
| 229 | </elem> | ||
| 230 | |||
| 231 | </input> | ||
| 232 | <output name="output" type="Tensor.OutputBase" sid="0x1061"> | ||
| 233 | |||
| 234 | <comment>Test Execution output. Note if not wanting results, the execute method will return early with a processing result code.</comment> | ||
| 235 | |||
| 236 | <elem name="results" multiplicity="0..1" type="Results"> | ||
| 237 | <comment>The result test data set if the 'returnResults' option was selected on input.</comment> | ||
| 238 | </elem> | ||
| 239 | |||
| 240 | <elem name="dataSetsFiltered" multiplicity="0..*" type="DataSet"> | ||
| 241 | <comment>The resultant requested filtered data sets if any.</comment> | ||
| 242 | </elem> | ||
| 243 | |||
| 244 | </output> | ||
| 245 | </operation> | ||
| 246 | </interface> | ||
| 247 | </namespace> | ||
| 248 | </specification> |
-
Please register or sign in to post a comment