www.gmv.com © gmv s.a., 2004 property of gmv s.a. all rights reserved 2004/05/13 xml in ccsds ccsds...

28
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

Upload: coleen-sullivan

Post on 02-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

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

www.gmv.com

© GMV S.A., 2004 Property of GMV S.A. All rights reserved

OrbitML

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

2004/05/13 Page 27

ww

w.g

mv.c

om

Coming Developments

OrbitML observation file type structure

2004/05/13 Page 28

ww

w.g

mv.c

om

Coming Developments

OrbitML attitude file type structure