web services for satellite emulation development kathy j. liszkaallen p. holtz the university of...
TRANSCRIPT
Web Services for Satellite Emulation Development
Kathy J. Liszka Allen P. Holtz
The University of Akron NASA Glenn Research
Center
Motivation
• Support an emulation of space-based – Internet architectures– backbone network– formation clusters– Constellations
• Provide a web-based architecture for remote access and control of a multi-user, distributed system.
InternetInternet
NASA Satellite emulation test bed
Experimenter Site Experimenter Site
Experimenter Site
Data Format
• Need computational methods for efficient data:– access– sharing– information extraction
• SGML • XML
– simple– well-documented data– straightforward format– text
XML document creation
• Microsoft Word– create template with formats that map to your
XML data– save in RTF format– RTF → XML converter
• applications with DOM parser
• JAVA API
• XSLT stylesheets
User input to the emulation
• reduce human error
• user-friendly interface
• automatically encode data into an XML document– well-formed– complete
• web-based
XSmiles
• An official W3C recommendation.• Delivers a pure Java XML browser.• Capable of displaying documents written in various XML
languages. • Supports:
– XSL Transformations (XSLT) – XSL Formatting Objects (XSL FO) – Synchronised Multimedia Integration Language (SMIL) – XForms – XHTML – X3D– Scalable Vector Graphics (SVG)
• Allows rich multimedia content, such as video and audio, and streaming of it.
XForms emulation interface
• separates data from the web-page
• data content derived from forms is stored in XML (developer defined) format
• forwarded as a stream of Unicode bytes
• platform independent
XML File<my> <Scenario_Name>Scenario_one.xml</Scenario_Name> <Facility> <Instrument> <IPAddress>127.0.0.1</IPAddress> <Data_Rate>1000</Data_Rate> </Instrument> <Location> <Latitude> <Degrees>45</Degrees> <Minutes>24</Minutes> </Latitude> <Longitude> <Degrees>34</Degrees> <Minutes>29</Minutes> </Longitude> </Location> </Facility></my>
XForms
XHTML
XML Schema
XSmiles
<?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="my"> <xsd:complexType> <xsd:sequence> <xsd:element name="Scenario_Name" type="xsd:string"/> <xsd:element name="Password" type="xsd:string"/> <xsd:element name="Facility" minOccurs="1"> <xsd:complexType><xsd:sequence> <xsd:element name="Instrument" minOccurs="1"> <xsd:complexType><xsd:sequence> <xsd:element name="IPAddress" type="xsd:string"/> <xsd:element name="Data_Rate" type="xsd:decimal"/> <xsd:element name="Bit_Error_Rate" type="xsd:decimal"/> </xsd:sequence></xsd:complexType> </xsd:element> <xsd:element name="Location"> <xsd:complexType><xsd:sequence> <xsd:element name="Latitude"> <xsd:complexType><xsd:sequence> <xsd:element name="Degrees" type="xsd:float"/> <xsd:element name="Minutes" type="xsd:float"/> </xsd:sequence></xsd:complexType> </xsd:element> <xsd:element name="Longitude"> <xsd:complexType><xsd:sequence> <xsd:element name="Degrees" type="xsd:float"/> <xsd:element name="Minutes" type="xsd:float"/> </xsd:sequence></xsd:complexType> </xsd:element> </xsd:sequence></xsd:complexType> </xsd:element> </xsd:sequence></xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element></xsd:schema>
XML
Emulation Scenario
• Satellite & ground stations
• Run-time control• Orbital parameters• Network routes• Interface bandwidths• Delay• Bit error rates
<?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="my"> <xsd:complexType> <xsd:sequence> <xsd:element name="Scenario_Name" type="xsd:string"/> <xsd:element name="Password" type="xsd:string"/> <xsd:element name="Facility" minOccurs="1"> <xsd:complexType><xsd:sequence> <xsd:element name="Instrument" minOccurs="1"> <xsd:complexType><xsd:sequence> <xsd:element name="IPAddress" type="xsd:string"/> <xsd:element name="Data_Rate" type="xsd:decimal"/> <xsd:element name="Bit_Error_Rate" type="xsd:decimal"/> </xsd:sequence></xsd:complexType> </xsd:element> <xsd:element name="Location"> <xsd:complexType><xsd:sequence> <xsd:element name="Latitude"> <xsd:complexType><xsd:sequence> <xsd:element name="Degrees" type="xsd:float"/> <xsd:element name="Minutes" type="xsd:float"/> </xsd:sequence></xsd:complexType> </xsd:element> <xsd:element name="Longitude"> <xsd:complexType><xsd:sequence> <xsd:element name="Degrees" type="xsd:float"/> <xsd:element name="Minutes" type="xsd:float"/> </xsd:sequence></xsd:complexType> </xsd:element> </xsd:sequence></xsd:complexType> </xsd:element> </xsd:sequence></xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element></xsd:schema>
XML
Scenario Submission
InternetInternet
CGI program
SOAP
• Simple Object Access Protocol
• XML-based protocol.
• Used for interoperability.
• Defines the use of XML and HTTP to access services, objects, and servers in a platform-independent manner.
Future Work• XLINK
– basis for graphs– providing a semantic representation of the objects
defined in the form and their relationship to each other
• SVG– Language for describing two-dimensional graphics in
XML.– Can be interactive and dynamic.– Animations can be defined and triggered either
declaratively or scripted.
• Multimedia streaming content