Distributed Interactive Simulation
DIS-Java-VRML Working Group


click for Dis-Java-VRML home page

Work List

Discussion on current efforts, open issues and future work happens via the dis-java-vrml mailing list at dis-java-vrml@stl.nps.navy.mil. You must subscribe before you can post to the dis-java-vrml list - this policy prevents e-mail spamming. Mail traffic is documented in the hypermail archive at www.stl.nps.navy.mil/lists/dis-java-vrml/mailingList.html.

Goals and Expected Results Status: Who What & When
Current priority problems:
  • Combine read & write functionality into a single EspduTransform
  • Investigate whether a browser-neutral security fix is possible. The new Java Activator classes run in both Communicator and Internet Explorer as a plug in. However they seem to only work with applets...
Freely available implementation of the DIS protocol using VRML and Java. We are most of the way through the initial protocol data units (PDUs). The full set of software is available for download via the Software Distribution page. All of the source programs are fully documented via the Software Reference page. Additional contributions are welcome.
What about the other Protocol Data Unit (PDU) types? The IEEE DIS standard is a big standard to implement. We have implemented several including Entity State, Fire, Detonation and Message PDUs. Thus our implementation of the full DIS specification is incomplete. Here are the status pages on implemented PDUs and implemented records.

The DIS class library is documented and designed to be easily extensible so that other contributors might easily add the remaining PDUs. If you are implementing additional PDUs, please let us know (to avoid duplication of effort) and follow the Code Design and Coding Standards guidance.

A set of recommended practices and example code for using DIS with VRML. Basically, building this library and including example applications accomplishes the recommended practices task. When we get closer to a complete implementation, we intend to produce a "Recommended Practices for DIS-Java-VRML" proposal for the VRML Review Board (VRB).
Utilities: AWT DIS viewers, data loggers and PDU playback, etc. AWT PDU viewer provided for Entity State PDU (Espdu).
AWT Espdu Sender can generate Espdu traffic easily easily.

Students at George Mason University might be doing data loggers/playback routines...

More work is needed to provide other utilities.

Math and physics libraries Basic quaternion math library provided by Kent Watsen. Still need geographic coordinate conversion routines, perhaps a tutorial too. Additional dynamics models for different vehicles are optional but can be added (full underwater vehicle hydrodynamics is a popular example around here). Some day (in the wonderful future) NPS will likely attempt to provide standard physics libraries that provide specific parameterized equations of motion for a variety of vehicle types.
Examples updated, update readme & how-to files. The Software Reference can always be improved. We do pay attention to suggestions (hint hint)! If you encounter something inscrutable, or can't find an answer you need, please tell us.
Where are the bug lists? We try to document bugs local to the problem, meaning that problem statements (and guesses about how to fix them) are usually right in the source code documentation. Thus we haven't built standalone bug lists. Please look in the various Readme.txt files (available via the example applications page), in the JavaDoc documentation for each class, or in source code comments.

Looking back in the mailing list hypertext archive will show previous dialog. We need to add a search engine - software suggestions are welcome. If www.vrml.org gets a search engine for all working groups, we might transfer the mail archive there.

Got a bug? Please subscribe to the dis-java-vrml mailing list and report it to dis-java-vrml@stl.nps.navy.mil

Browser combinations under test Cosmo Player 2.0 & 2.1B running under Netscape Communicator 4.05, WinNT/Win95

Intervista Worldview 2.1 Beta running under Internet Explorer 3.02, WinNT/Win95

Intervista Worldview 2.0 running under Netscape Navigator 3.01, WinNT/Win95

still no Java through the Script node, and thus unusable:
SGI's CosmoPlayer 1.0, running on Netscape Navigator 3.01S, SGI Irix 5.3/6.2

How do changes in Netscape Communicator/Internet Explorer 4.0 affect the lack of multicast capabilities in prior browsers? What are the changes in the browser security models? Can we provide authentication capability using signed applets to permit native multicast access? This is a major problem area. Currently we are working with Cosmo Player 2.0 and WorldView 2.1. There has been a lot of behind-the-scenes agony, uh... unresolved work, which is occasionally summarized on the mail list.

ViewUDPTestApplet exercises the biggest bug: UDP packets throwing exceptions in Netscape. Currently NetworkMonitor hacks around it by rereading UDP datagram contents while inside the exception.

Effective code contributions added to the dis-java-vrml archive. Where are you people?!? A recent count showed 139 lurkers and 4 contributors. No kidding.

We hope that getting dis-java-vrml examples to work with a single click - plus global MBone testing of demonstration applications - will be widely useful, eventually.

Why won't multicast travel over a modem line? We think this is a problem with the Point-to-Point Protocol (PPP) which is Request for Comments (RFC) 1661 at ftp://ftp.isi.edu/in-notes/rfc1661.txt. More investigation is needed. Script remoteBridge.bat has worked for a few datagram PDUs, but the PPP modem link soon crashes.

We have worked around this problem by building a unicast UDP version of the MulticastRelayClient/MulticastRelayServer. The Examples page and Bridge directory contains relevant software efforts.

Technical paper on DIS-Java-VRML design. Don Brutzman and Don McGregor plan to do this someday.
Recent and upcoming events: Demos are possible during each event.

We are starting with small-scale exercises and intend to eventually perform large-scale multicast application (LSMA) demonstrations.

Available projects:
  • Add other PDU types (we have implemented Entity State, Fire, Detonate and Message PDUs)
  • Demo with many players over Multicast Backbone (MBone)
  • Biota, avatar and human animation (h-anim) working group collaborations
  • Proposed VRML streaming working group collaboration
  • Well-known game example (Quake? Myst?)
  • Database working group solutions may solve persistent world database limitations of DIS, at least in a VRML context
  • Upgrade (i.e. fix) EAI examples
"Your name here" to participate in any of these tasks?
Specific fixes needed:
  • Add full dead-reckoning and smoothing algorithms.
    p.s. we can likely translate code contributions from other languages (C, C++ etc.) to implement any of these algorithms.
  • Boid polygon vertices not ordered
  • Entity identification checks: use host IP number for entityID, have NetworkMonitor keep track of subscriptions so that PDUs go to the proper script node
  • Getting a new object inserted into the scene upon receipt of a new PDU
  • Passing VRML from URL in Script to the scene when new entities heard
  • Does the Java Performance Pack produce platform-specific bytecode
  • Catch security exceptions so that program failure is more graceful/informative
  • Put all software under source control
  • Devise Real-time Transport Protocol (RTP) header profile for DIS packets
  • Need data loggers & playback. Consider Real-time Transport Protocol (RTP) (RFC 1998) header standardization (prepended to DIS PDUs) and Real-Time Streaming Protocol (RTSP) for playback control.
"Your name here" for any of these?
Create a public-domain C++ DIS library archive, for developers who want to freely bundle similar DIS functionality in other programs (such as browsers written in C++). The NPSNET C++ code for DIS is available via the dis-java-vrml distribution page.

Any other public domain C++ DIS distributions can be publicly distributed via the dis-java-vrml site, if they are openly released under the terms of the GNU General Public License.


26 May 98
URL: www.stl.nps.navy.mil/dis-java-vrml/workList.html
feedback: brutzman@nps.navy.mil & mcgredo@stl.navy.mil