1 / 28

XML in CCSDS CCSDS Spring Meeting - Montreal

XML in CCSDS CCSDS Spring Meeting - Montreal. GMVSA 4081/04. Fran Martínez. Contents. Introduction to XML Description Pros and cons XML tools Orbit ML ODM to XML (XODM) conversion Requirements and description Tool architecture Conclusions Coming developments Tracking Attitude.

geoff
Download Presentation

XML in CCSDS CCSDS Spring Meeting - Montreal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML in CCSDSCCSDS Spring Meeting - Montreal GMVSA 4081/04 Fran Martínez

  2. 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 Page 2

  3. Introduction to XML

  4. 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 Page 4

  5. 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> Page 5

  6. 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> Page 6

  7. 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> Page 7

  8. 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> X = 6655.9942 Y = -40218.5751 Z = -82.9177 X_DOT = 3.11548208 Y_DOT = 0.47042605 Z_DOT = -0.00101495 <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> Page 8

  9. 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 Page 9

  10. 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 Page 10

  11. 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> Page 11

  12. Introduction to XML • Parsing tools • xerces • DOM • SAX • Implementation in C++, Java, Tcl, … • Visualisation tools • Web navigators • CSS • XSLT • Validation tools • DTD • Schema Page 12

  13. OrbitML

  14. 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 Page 14

  15. 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 Page 15

  16. ODM to XML Conversion Tool

  17. 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 Page 17

  18. 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 Page 18

  19. ODM to XML Conversion Tool Page 19

  20. ODM to XML Conversion Tool OPM Data Structure Page 20

  21. ODM to XML Conversion Tool OEM Data Structure Page 21

  22. ODM to XML Conversion Tool ODM Parser Architecture Page 22

  23. ODM to XML Conversion Tool Xerces/SAX Architecture Example Page 23

  24. 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 Page 24

  25. Coming Developments

  26. 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 Page 26

  27. Coming Developments OrbitML observation file type structure Page 27

  28. Coming Developments OrbitML attitude file type structure Page 28

More Related