Skip to content

Releases: open-dis/opendis7-java

opendis7-java v7.0.35

05 Feb 02:16

Choose a tag to compare

Open-DIS Surfer Dude

Distribution Products for opendis7-java Library

Distributed Interactive Simulation (DIS) is a set of IEEE standards for conducting real-time platform-level wargaming across multiple host computers and is used worldwide, especially by military organizations but also by other agencies such as those involved in space exploration and medicine.

This software library provides a complete, type-safe open-source Java implementation of the IEEE Distributed Interactive Simulation (DIS) Protocol version 7. This Java codebase includes all Protocol Data Units (PDUs), entity enumerations, and supporting utilities.

Release version v7.0.35 refers to IEEE DIS version 7.0 integrated together with SISO-REF-010 version 35.

Downloads

Assets (linked at bottom of page) Description
opendis7-full.jar Complete library — PDUs, enumerations, utilities, and javadoc in one "fat jar"
opendis7-pdus-classes.jar PDU compiled classes only
opendis7-pdus-source.jar PDU Java source files
opendis7-enumerations-classes.jar Enumeration compiled classes (from opendis7-source-generator)
opendis7-enumerations-source.jar Enumeration Java source files
opendis7-enumerations-javadoc.jar Enumeration javadoc archive
opendis7-javadoc.zip Browseable javadoc (unzip, then open index.html)
opendis7-release.zip Complete bundle of all JARs and license files in this release

Documentation and References

Source Code

Codebase design and production:

Specifications

Course Materials and Implementation Application

  • MV3500 Distributed Simulation Fundamentals — NPS course using this library
    • This NPS course is an introduction to distributed communications in simulation applications. Topics include introduction to the TCP/IP protocol stack, socket communications including TCP/UDP unicast/multicast and essential protocol design issues. Follow-on emphasis is Distributed Interactive Simulation (DIS) Protocol application programming, with side looks at High Level Architecture (HLA). Course activity focuses on creation and testing of network programming network code and web-browser applications.
  • X3D-Edit 4.0 Authoring Tool for Extensible 3D (X3D) Graphics
    • X3D-Edit is a free, open-source Extensible 3D (X3D) Graphics authoring tool for simple high-quality authoring, editing, import/export, validation and viewing of X3D scenes. A flyer describes support for the Distributed Interactive Simulation (DIS) component by the X3D Graphics International Standard.

Current and Future Work

The IEEE DIS Protocol is a carefully defined set of binary messages. Many further uses are possible.

  • Work has resumed on completing the autogeneration of a corresponding opendis7-python library written in Python
  • "A stream is a stream is a stream" means that a sequence of bits is usable in multiple ways. DIS PDU streams over the network (data in motion) can be captured as files (data at rest) and then edited, filtered, replayed, merged, etc.
  • Preliminary support is provided for native binary PDUs as well as plain-text and DIS-XML encodings, with further development expected.

We have partially implemented an experimental XML encoding for DIS Protocol version 7, enabling opportunities for further big data validation and conversion. Current work is testing and building upon these potential capabilities.

Contact and Participation

  • Don Brutzman — Relative Motion Consulting (RMC)
  • GitHub open-dis projects offers numerous additional opportunities to contribute. Most of the legacy implementations are maintained manually, while the opendis7 (and soon opendis8) implementations are primarily autogenerated with programmer additions of utility functions.