220 likes | 324 Views
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
E N D
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
NASA Satellite emulation test bed Experimenter Site Internet 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>
XML XHTML <?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> XForms XML Schema XSmiles
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 Schema
CGI program XML Scenario Submission Internet SOAP SOAP
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
Internet XLINK XForms Streaming Multimedia SVG