web services for satellite emulation development kathy j. liszkaallen p. holtz the university of...

22
Web Services for Satellite Emulation Development Kathy J. Liszka Allen P. Holtz The University of Akron NASA Glenn Research Center

Upload: deborah-palmer

Post on 01-Jan-2016

213 views

Category:

Documents


0 download

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.

Complex Multi-satellite Emulation Scenarios

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

XHTML <head> element for basic XForms

XHTML <body> element for basic XForms

XHTML <body> element for basic XForms

XHTML <body> element for basic XForms

<?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>

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

XFormsXLINK

SVG

StreamingMultimedia

InternetInternet