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