Www.gmv.com © GMV S.A., 2004 Property of GMV S.A. All rights reserved 2004/05/13 XML in CCSDS CCSDS...
-
Upload
coleen-sullivan -
Category
Documents
-
view
214 -
download
1
Transcript of Www.gmv.com © GMV S.A., 2004 Property of GMV S.A. All rights reserved 2004/05/13 XML in CCSDS CCSDS...
2004/05/13
www.gmv.com
© GMV S.A., 2004 Property of GMV S.A. All rights reserved
XML in CCSDS
CCSDS Spring Meeting - Montreal
Fran Martínez
GMVSA 4081/04
2004/05/13 Page 2
ww
w.g
mv.c
om
Contents
Introduction to XML Description Pros and cons XML tools
OrbitML ODM to XML (XODM) conversion
Requirements and description Tool architecture Conclusions
Coming developments Tracking Attitude
2004/05/13
www.gmv.com
© GMV S.A., 2004 Property of GMV S.A. All rights reserved
Introduction to XML
2004/05/13 Page 4
ww
w.g
mv.c
om
Introduction to XML
eXtensible Mark-up Language Implementation
Tags : <name> … </name> Attributes : <name
attrib=“value”> Used for data representation
Hierarchy Structure Qualification No format
Definition and verification DTD Schema www.w3c.org
2004/05/13 Page 5
ww
w.g
mv.c
om
Introduction to XML
Hierarchy
<stateVector>
<time>2006-06-03T00:00:00.000</time>
<position>
<X>6655.9942</X>
<Y>-40218.5751</Y>
<Z>-82.9177</Z>
</position>
<velocity>
<VX>3.11548208</VX>
<VY>0.47042605</VY>
<VZ>-0.00101495</VZ>
</velocity>
</stateVector>
2004/05/13 Page 6
ww
w.g
mv.c
om
Introduction to XML
Structure<eventsFile>
<timeSpan><start>2001-12-17T09:30:47-05:00</start><end>2001-12-17T09:30:47-05:00</end>
</timeSpan><eventsRecord>
<time>2001-12-17T09:30:47-05:00</time><satelliteId>String</satelliteId><name>String</name><description>String</description>
</eventsRecord>
…
<eventsRecord><time>2001-12-17T09:30:47-05:00</time><satelliteId>String</satelliteId><name>String</name><description>String</description>
</eventsRecord></eventsFile>
2004/05/13 Page 7
ww
w.g
mv.c
om
Introduction to XML
Qualification
<stateVector frame="TOD”>
<time scale="UTC" format="calendar">
2006-06-03T00:00:00.000
</time>
<position units="km">
<X>6655.9942</X>
<Y>-40218.5751</Y>
<Z>-82.9177</Z>
</position>
<velocity units="km/s">
<VX>3.11548208</VX>
<VY>0.47042605</VY>
<VZ>-0.00101495</VZ>
</velocity>
</stateVector>
2004/05/13 Page 8
ww
w.g
mv.c
om
Introduction to XML
No format
<stateVector>
<time>2006-06-03T00:00:00.000</time>
<position>
<X>6655.9942</X>
<Y>-40218.5751</Y>
<Z>-82.9177</Z>
</position>
<velocity>
<VX>3.11548208</VX>
<VY>0.47042605</VY>
<VZ>-0.00101495</VZ>
</velocity>
</stateVector>
<stateVector><time>2006-06-03T00:00:00.000</
time><position><X>6655.9942</X><Y>-40218.5751</Y><Z>-
82.9177</Z></position><velocity><VX>3.11548208</
VX><VY>0.47042605</VY><VZ>-0.00101495</VZ></velocity></
stateVector>
X = 6655.9942 Y = -40218.5751 Z = -82.9177 X_DOT = 3.11548208 Y_DOT = 0.47042605 Z_DOT = -0.00101495
2004/05/13 Page 9
ww
w.g
mv.c
om
Introduction to XML
Advantages Data structuring and organisation Extended in many fields
Generic tools Innovative developments
Generalised validation mechanisms Easy data transport with qualifiers Object orientation
Disadvantages Storage overhead Not human readable format
2004/05/13 Page 10
ww
w.g
mv.c
om
Introduction to XML
DTD Document structure Defines items and sequences Validation of syntax only
<!ELEMENT stateVector (time, position, velocity)>
<!ATTLIST stateVector
frame CDATA #REQUIRED
>
<!ELEMENT time (#PCDATA)>
<!ATTLIST time
scale CDATA #REQUIRED
format CDATA #REQUIRED
comment CDATA #REQUIRED
>
<!ELEMENT position (X, Y, Z)>
<!ATTLIST position
units CDATA #REQUIRED
2004/05/13 Page 11
ww
w.g
mv.c
om
Introduction to XML
Schema Defines document abstract structure Validation of semantics XML
<xs:complexType name="stateVectorType">
<xs:sequence>
<xs:element name="time" type="dateTimeType"/>
<xs:element name="position" type="positionType"/>
<xs:element name="velocity" type="velocityType"/>
</xs:sequence>
<xs:attribute name="frame" type="frameType" use="optional" default="J2000"/>
</xs:complexType>
<xs:complexType name="positionType">
<xs:sequence>
<xs:element name="X" type="lengthMagnitude"/>
<xs:element name="Y" type="lengthMagnitude"/>
<xs:element name="Z" type="lengthMagnitude"/>
</xs:sequence>
<xs:attribute name="units" type="lengthUnits" use="optional" default="m"/>
<xs:attribute name="frame" type="frameType" use="optional" default="J2000"/>
</xs:complexType>
2004/05/13 Page 12
ww
w.g
mv.c
om
Introduction to XML
Parsing tools xerces
DOM SAX
Implementation in C++, Java, Tcl, … Visualisation tools
Web navigators CSS XSLT
Validation tools DTD Schema
2004/05/13 Page 14
ww
w.g
mv.c
om
OrbitML
OrbitML Spacecraft Flight Dynamics Mark-up Language
Covers the whole s/c FD spectrum, including: Orbit and attitude determination &
prediction Events generation Geodetic Applications Navigation
Handles related concepts Satellites, transponders, ground stations,
physical models, ... Object (Data) oriented approach
2004/05/13 Page 15
ww
w.g
mv.c
om
OrbitML
Design drivers Heritage from European FD packages … … improved consistency and portability Readability Extensibility to other space applications
OrbitML is a rich source of FD metadata Data model
hierarchy through XML data typing through XML Schema … … extended by OrbitML
Data relationship basic by XML and Schema … … extended by OrbitML
2004/05/13
www.gmv.com
© GMV S.A., 2004 Property of GMV S.A. All rights reserved
ODM to XML Conversion Tool
2004/05/13 Page 17
ww
w.g
mv.c
om
ODM to XML Conversion Tool
Requirements ODM XML notation
Analysis of ODM Translation into XML (XODM) XML structured data (data tree)
Investigation of conversion tool Approach
Analysis of ODM data structures Definition of the XML approach
Existing tools Existing supporting elements (OrbitML)
Definition of the XODM structures Prototype demonstration
2004/05/13 Page 18
ww
w.g
mv.c
om
ODM to XML Conversion Tool
Tool generation rationale Isolate memory structures from data
format representations (ODM & XODM) Perform validation of input files Common mapping to memory for both file
representations Data structure sharing Bi-directional reading/writing
Object oriented approach XML/Schema UML C++ Low level items reuse
Tools for scanning and parsing xerces-c/SAX for XODM lex + yacc for ODM
2004/05/13 Page 19
ww
w.g
mv.c
om
ODM to XML Conversion Tool
XML Representation
O?M Parser
O?MScanner
XercesInterface
Xerces
O?MSchema
O?M O?M
O?MClasses
CCSDS Representation
Data Level
Data parsing andvalidation level
Data structure level
API level Fortran API C/ C++ APIOrbitML
API
Prog.f90User code level
ConversionTool
2004/05/13 Page 20
ww
w.g
mv.c
om
ODM to XML Conversion Tool
manoeuvreRecordType
deltaMass : double
(from oml)
opmFileHeaderType
ccsdsFileGeneralType
ccsdsFileHeaderType
opmObjectType
mass : double
keplerianStateVectorType
A : doubleE : doubleI : doubleRAAN : doubleARGPER : doubleANOM : double
(from oml)
stateVectorType
(from oml)
opmFileType
-object
-general
0..1
1
-keplerianStateVector
0..1
1-header
1
1
-stateVector
1
1
(Vector< manoeuvreRecordType >)
-manoeuvreRecord
OPM Data Structure
2004/05/13 Page 21
ww
w.g
mv.c
om
ODM to XML Conversion Tool
-usableTimeSpan
oemEphemerisType
oemFileType
(Vector< oemEphemerisType >)
-ephemeris
ccsdsFileGeneralTypecentralBodyName : cropeframe : cropetimeScale : crope
oemObjectTypeobjectName : crope
cosparIdType
year : longlaunch : longpiece : string
(from oml)
-objectId
oemMetaDataType-metaData
-general -object
timeSpanType
timeDuration : double
(from oml)
1
1
-timeSpan
1
1
1
1
1
1
OEM Data Structure
2004/05/13 Page 22
ww
w.g
mv.c
om
ODM to XML Conversion Tool
ScannerDefinition File
(.l)
ParserDefinition File
(.y)
Scanner(.cpp)
Parser(.cpp)
Parser TokensList
(.hpp)
bison flex
g++g++
Parser(.o)
Scanner(.o)
ODM Parser Architecture
2004/05/13 Page 23
ww
w.g
mv.c
om
ODM to XML Conversion Tool
HandlerBase(f rom xercesc)
dateTimeSAXHandler positionSAXHandlerveloci tySAXHandler
positionType
-the_position
dateTimeType
-the_dateTime
stateVectorSAXHandler
velocityType
-the_veloci ty
stateVectorType
-position
-time
-the_stateVector
-velocity
Xerces/SAXArchitectureExample
2004/05/13 Page 24
ww
w.g
mv.c
om
ODM to XML Conversion Tool
Tool generation conclusions Easy translation of data elements to XML Portable C++ (linux, windows, solaris) Full definition through Schema Proven reuse of OrbitML low level items
Schema C++ data representation
XODM integrated in OrbitML Difficulties
Format vs. Data structure Insertion of comments (ambiguities) ODM fixed units vs. XODM attributes
2004/05/13
www.gmv.com
© GMV S.A., 2004 Property of GMV S.A. All rights reserved
Coming Developments
2004/05/13 Page 26
ww
w.g
mv.c
om
Coming Developments
CCSDS Approach For already analysed elements (ODM) For items to be processed
Procedure Same as for ODM (?)
Existing formats/structures Newly defined structures (directly in XML)
Define procedure Analysis Definition of structures Identification of reusable items
To come next Tracking Attitude