Open-DIS and XML DIS in Other Formats. Distributed Interactive Simulation DIS is an IEEE standard for simulations, primarily virtual worlds Binary protocol:

Slides:



Advertisements
Similar presentations
Data Models There are 3 parts to a GIS: GUI Tools
Advertisements

Information Management NTU Web Services. Information Management NTU What Are Web Services? Semantically encapsulate discrete functionality Loosely coupled,
CSCI-1680 RPC and Data Representation Rodrigo Fonseca.
1 Chapter 2 The Digital World. 2 Digital Data Representation.
Remote Procedure Call Design issues Implementation RPC programming
The Assembly Language Level
Chapter 7 Advantages and Disadvantages of Web Services
Geometry Compression Michael Deering, Sun Microsystems SIGGRAPH (1995) Presented by: Michael Chung.
Open-DIS Open Source Distributed Interactive Simulation Don McGregor (mcgredo at nps dot edu) Don Brutzman (brutzman at nps dot edu) John Grant (johnkonradgrant.
JAXB Java Architecture for XML Binding Andy Fanton Khalid AlBayat.
Web Services with Apache CXF
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
MODULE 11 DOCUMENTS ON WEB 11.1 The internet and the world wide web 11.2 Documents and the world wide web Systems Analysis And Design © Systems Analysis.
XML Parsing Using Java APIs AIP Independence project Fall 2010.
Interprocess Communications
ICS 123 XML: It’s a Good Thing Richard N. Taylor & Eric M. Dashofy ICS 123 S2002.
Fonts and colors Times New Roman “quotes” Trebuchet "quotes" yellow blue pink green violet.
29-Jun-15 JAXB Java Architecture for XML Binding.
Distributed Interactive Simulation DIS. Standards In the UDP examples, we sent position updates, but these were only good for our own application What.
Implementation of a Stored Program Computer
TENA Test and Training Enabling Architecture. TENA TENA is used in range environments, often in the L portion of LVC Slightly different emphasis; small.
CS 255: Database System Principles slides: Variable length data and record By:- Arunesh Joshi( 107) Id: Cs257_107_ch13_13.7.
US GPO AIP Independence Test CS 496A – Senior Design Team members: Antonio Castillo, Johnny Ng, Aram Weintraub, Tin-Shuk Wong Faculty advisor: Dr. Russ.
Client-server interactions in Mobile Applications.
SNMP & MIME Rizwan Rehman, CCS, DU. Basic tasks that fall under this category are: What is Network Management? Fault Management Dealing with problems.
Efficient XML Interchange. XML Why is XML good? A widely accepted standard for data representation Fairly simple format Flexible It’s not used by everyone,
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
SNMP (Simple Network Management Protocol)
AIXM Viewer Implementation Presentation to AIXM Users’ Conference, Federal Aviation Administration, Washington D.C., Feb 27-March 1, By: Mark Austin,
JAXB Java API for XML Binding. The Objective JAXB is concerned with the translation process between Java objects and XML documents You have a Java object.
Content Extraction from HTML Documents A. Rahman H. Alam R. Hartono Document Analysis and Recognition Team (DART) BCL Computers Inc. Santa Clara, Calif,
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Learning objectives By the end of this lecture you should be able to:  have a well-earned rest! Ch 24 Beyond the second semester.
Cis303a_chapt03-2a.ppt Range Overflow Fixed length of bits to hold numeric data Can hold a maximum positive number (unsigned) X X X X X X X X X X X X X.
JavaDoc1 JavaDoc DEPARTMENT OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING CONCORDIA UNIVERSITY July 24, 2006 by Emil Vassev & Joey Paquet revision 1.2 –
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Or, Hey can’t we just do it using HTTP for the envelope?
W3car project Emmanuel Castellani Laurent Marchese Nicolas Pastorelly Wolfgang Kieß Johannes Walch Claudia Schremmer Teleseminar Nice-Mannheim Year
Implementation of a Stored Program Computer ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides2.ppt Modification date: Oct 16,
Bits & Bytes Created by Chris McAbee For AAMU AGB199 Extra Credit Created from information copied and pasted from
Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Lecture2: Database Environment Prepared by L. Nouf Almujally & Aisha AlArfaj 1 Ref. Chapter2 College of Computer and Information Sciences - Information.
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
XFSP : Cross Format Schema Protocol Flexible Networking via XML-Defined Packet Payloads Ltjg. Ekrem Serin TU Navy.
EXI Comparisions. EXI Emerging W3C standard, now in “final call” status on the standards track Provides a more efficient, alternate.
Efficient XML Interchange High Performance XML Don McGregor (mcgredo (at) nps.edu) Don Brutzman (brutzman (at) nps.edu)
Web Services with Apache CXF Part 2: JAXB and WSDL to Java Robert Thornton.
Identifiers Identifiers in Java are composed of a series of letters and digits where the first character must be a letter. –Identifiers should help to.
1 Pertemuan 5 Networking Models. Discussion Topics Using layers to analyze problems in a flow of materials Using layers to describe data communication.
Test Enabled and Training Architecture (TENA) Don McGregor Research Associate MOVES Institute
Today… “Hello World” ritual. Brief History of Java & How Java Works. Introduction to Java class structure. But first, next slide shows Java is No. 1 programming.
Understanding Character Encodings Basics of Character Encodings that all Programmers should Know. Pritam Barhate, Cofounder and CTO Mobisoft Infotech.
Chapter – 8 Software Tools.
 XML derives its strength from a variety of supporting technologies.  Structure and data types: When using XML to exchange data among clients, partners,
SOAP, Web Service, WSDL Week 14 Web site:
Distributed Computing, M. L. Liu 1 Interprocess Communications Mei-Ling L. Liu.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Application Sharing Bhavesh Amin Casey Miller Casey Miller Ajay Patel Ajay Patel Bhavesh Thakker Bhavesh Thakker.
The Java API for XML Binding. The Need for Data Binding To support unmarshlling to convert XML data into Java objects. To support marshalling to convert.
Web fundamentals: Clients, Servers, and Communication
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
A Web Services Journey on the .NET Bus
XML Schema for WIRED XML Detector Description Workshop
What is RMI? Remote Method Invocation
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
Using NFFI Web Services on the tactical level: An evaluation of compression techniques 13th ICCRTS: C2 for Complex Endeavors Frank T. Johnsen.
A Closer Look at Instruction Set Architectures Chapter 5
Chapter 10 ADO.
Presentation transcript:

Open-DIS and XML DIS in Other Formats

Distributed Interactive Simulation DIS is an IEEE standard for simulations, primarily virtual worlds Binary protocol: what’s standardized is the arrangement of bits in packets on the wire Mostly intended to push entities around in a 3D virtual world, so the most common packets relate to position, orientation, velocity, etc.

DIS: Entity State PDU Entity State Protocol Data Unit/Packet: PDU header: common to all PDUs Entity ID: uniquely identifies an entity in the world Entity Type: describes the entity, ie tank, plane, etc. Position Orientation Velocity, acceleration, angular velocity, etc.

DIS Remember, what’s standardized is the arrangement of the bits in packets. There is no standardized API Typically you convert a packet into a programming language object to work with, modify, read field values, and send

Information Representation Programming Language Object DIS Binary Representation Same information--position, orientation, etc--but in two different representations, one contained in a Java or C++ object, one in a particular arrangement of bits in a packet

Other Representations Why not expand this to multiple representations? For example, XML, Java Object Serialization format, SQL database, etc. The DIS format is mostly useful as a standard for exchanging information with other simulations, but the drawback is that nobody outside DoD M&S understands the DIS format If we had an XML representation of the data we could use bring the standard XML tools to bear for data transformation, data exchange, web services, etc. This lets us exploit the information contained in DIS simulations in other contexts

Other Representations Programming Language Object DIS Binary Representation XML Representation Java Object Serialization Representation

XML What are the advantages of an XML representation? THE standard for data interchange Useful for archiving Lots of tools available for transforms, SQL interchange, etc Disadvantages: Verbose Slow to parse Exact format not standardized (no single schema agreed upon for DIS)

Creating XML The Open-DIS package at sourceforge.net is able to handle the process discussed here It uses a package from Sun called JAXB, the Java API for XML Binding

JAXB The process of “data binding” often comes up with XML. This is exactly the problem discussed earlier of having the same information in two different formats: XML and Java objects You’ve got an XML document, and want to process the information in it. Often the easiest way to do this is to convert the XML document to Java objects, perform the computation, then convert the Java objects back to XML Since this happens so often, it makes sense to have an automated framework to do this

JAXB You want to convert this to something like a list of the following objects public class Point { float x; float y; }

JAXB JDK 1.6 includes JAXB in the standard distro. The easiest way to use it is via “annotations”. These look like They are essentially metainformation that doesn’t change the meaning of the code, but are present so other tools can make use of the information

Using Annotations The Cliff Notes version: Have the object be Java Beans compliant when you want to marshal an instance variable that is an object when you want to marshal an instance variable that is a primitive type You can place the annotations immediately before the getX() methods

Marshalling to XML JAXBContext context = JAXBContext.newInstance(Foo.class); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTE D_OUTPUT, true); marshaller.marshal(fooInstance, new FileOutputStream(filename));

Unmarshalling from XML Unmarshaller unmarshaller = context.createUnmarshaller(); PduContainer unmarshalledObject = (PduContainer)unmarshaller.unmarshal(new FileInputStream("somePdus.xml"));

In Open-DIS There’s example PDU marshal and unmarshal code in edu.nps.moves.examples.MarshalExample.java

Example XML See example XML file Not always what you’d write by hand, but that’s basically OK--the work saved by using the automated tool far outweighs this. Also, JAXB can be tweaked in ways I haven’t gotten around to fully exploiting yet JAXB can also be used to generate an XML schema for the given Java classes, or generate Java classes from an XML schema

Efficient XML Interchange Since XML is so cool, why not use it everywhere? Trying to use it in a network protocol as a drop-in replacement for the DIS standard is problematic XML takes a lot of space compared to a binary representation It takes a lot of time to parse compared to a binary representation EXI is intended to address these issues. Whether it can be used as a drop-in replacement for existing binary protocols is an open research question

EXI XML is text-only and human (well, programmer) readable. If we relax this requirement we can get a more compact and faster to parse representation of the XML infoset Exactly equivalent to the XML document, just in a different representation The intent is to expand the use of XML to domains in which it could not otherwise be used: low bandwidth wireless, battery-powered devices with limited CPU, very high parsing speed requirements, etc.

EXI Emerging World Wide Web Consortium standard See The format document has entered “final call” status, which is actually the first time many outsiders take a close look at it

EXI Test encodings of sample DIS PDUs in XML format has shown that they are about the same size as the original IEEE binary PDUs A “standard” ESPDU is 144 bytes long. EXI encoded XML representations are ~140 bytes long Since EXI encodes numbers in a variable length format, the size of PDUs can vary depending on things like the number of significant digits in floating point numbers

EXI Unknowns: parse speed compared to binary The standard XML parsing APIs only deal with strings, while the DIS data is primarily numeric. What is needed is a typed API for XML, so that we can directly retrieve a floating point number rather than converting from a string DIS binary is the standard, EXI…isn’t. But potentially future networking standards can be specified as XML documents from the start

Summary DIS an an IEEE standard Open-DIS is a free implementation of that standard in Java and C++ Can marshal to XML EXI is a more compact and faster to parse representation of the XML infoset