About Open-DIS

DIS is one of the most widely used protocols in Department of Defense, NATO, and allied nations real time/virtual world modeling and simulation. Open-DIS is a free, open source implementation of the standard in Java, C++, Python, JavaScript, Objective-C and C#. The project uses a BSD-style open source license, which is non-viral and business-friendly.

Open-DIS is developed mainly by the MOVES Institute at the Naval Postgraduate School. Participation by other individuals and groups is welcome and encouraged.

Find us on GitHub.

Distributed Interactive Simulation

DIS is an IEEE standard (IEEE-1278.1) developed by the Simulation Interoperability Standards Group (SISO) and approved by IEEE. It is very widely used in real time, virtual world military simulations.

DIS is a network protocol. It describes the exact layout of a few dozen Protocol Data Units (PDUs) that contain information about the position and orientation of entities in the world, and much else. The are PDUs that describe electronic warfare, logistics, collisions, and simulation management.

Collaboration

We are interested in further implementation of the DIS standard for open source release. If you have a feature you want implemented we may be able to work with you to provide it, and also make it available to others. We believe there is substantial benefit to the government and industry in having a complete, out-of-the-box open source implementation of DIS. This would allow programmers to concentrate on implementing new features in the simulation itself, rather than rewriting the DIS code yet again.

Potential projects include implementing the DIS-200X standard now being developed in the SISO DIS Protocol Development Group, finishing some of the communications PDUs, implementing protocol finite state machines, bit-oriented subfields, testing and verification, an HLA gateway, and more.

Contact Don Brutzman (brutzman at nps dot edu) if you are interested in collaborative institutional efforts. NPS can accept a variety of funding vehicles from both government entities and private industry. Individuals who find the software useful can also contribute to the NPS Foundation via the link at left.

Don McGregor (mcgredo at nps dot edu) is the technical lead for the project.

Papers & Presentations

Papers

Several people have put together various papers and powerpoint presentations over the course of developing the software. Some links to them are at left.

One of the themes MOVES has been working on the near-universal representation of data in XML format. To this end we have a marshaling option for DIS PDUs that writes out the contents of the PDU in XML format. Once in XML format we can use all the usual XML tools on it, including XSLT, XML-to-SQL tools, and so on.

Using XML format DIS PDUs in the realtime applications rather than merely as an archive format is clearly a challenge; DIS is sent in volume over the network, needs to be parsed in real time, and XML representations of the DIS data are about an order of magnitude larger than the IEEE format.

The W3C has been working on the Efficient XML Interchange format, an alternate encoding for XML that is more compact, in exchange for giving up XML’s text-only requirement. XML-format DIS encoded with EXI is about the same size as IEEE-format DIS, while retaining the benefits of being represented in XML format.

Developers

Don McGregor

Don McGregor is a software developer at the Naval Postgraduate School. He created the Open-DIS project after becoming annoyed at the lack of an open source implementation. He is primarily to blame for the Java implementation.

John Grant

John Grant is a former developer for the Delta3D game engine who has now gone on to grab some of the filthy lucre offered by private industry. He specified much of the C++ code interface and integrated Open-DIS into the Delta3D game engine.

Peter Smith

Peter Smith is Electronics Engineer and Software Developer who works for the Naval Air Warfare Center. He has done the work on the C# Open DIS implementation.

Robert Harder

Robert Harder is an officer in the US Air Force. He implemented a Java NIO marshalling API that reduced memory use in real-time applications.

Sheldon Snyder

Sheldon Snyder is a a US Navy Officer. He implemented a dead reckoning library in Java.

Dioselin Gonzalez

Dioselin Gonzalez is a research scientist/software developer in the University of Louisiana at Lafayette. She specializes in collaborative virtual reality. Dio implemented C++ enumerations.

Don Brutzman

Don Brutzman is a is Technical Director of for 3D Visual Simulation at the MOVES Institute. He is an Associate Professor at the Naval Postgraduate School in Monterey, California. Professor Brutzman kept on asking why there wasn’t an open source implementation of DIS, and why it couldn’t be also be represented in XML. He also has a longstanding interest in compact representations of XML, such as EXI, and in applying web services to DoD Modeling and Simulation.

Leif Gruenwoldt

Leif Gruenwoldt is a software developer employed as an embedded contractor for the Department of National Defence, Canada. He is primarly responsible for maintaining the Java implementation which has included migrating the build system to Maven, publishing artifacts to Maven Central, adding JUnit tests, squashing bugs, and enabling continous integration with Travis CI. He is responsible for maintaining open-dis.org. And he helped migrate from SourceForge to GitHub.

Users

Based on project activity we believe there are many users of Open-DIS. But it’s not well known where and how it’s being used. We’d very much appreciate to hear from our users. Please feel free to open a pull request with a change to the below list to identify your project.

AUV Workbench (Naval Postgraduate School)

AUV Workbench is a tool for rehearsal and playback of autonomous vehicle operations. AUV Workbench makes use of both the binary and XML serialization formats. It can send both IEEE binary and XML formats, and can send messages over XMPP chat rooms.

https://savage.nps.edu/AuvWorkbench/

X3D-Edit (Naval Postgraduate School)

X3D-Edit is a tool for writing X3D models. X3D-Edit can also generate, record, and play back DIS, and visualize the movement in an X3D scene.

https://www.web3d.org/x3d/content/README.X3D-Edit.html

Delta3D (Naval Postgraduate School)

Delta3D is an open source game engine. It uses the C++ implementation of Open-DIS as one of its communications protocols (in addition to HLA).

https://en.wikipedia.org/wiki/Delta3D

Government of Canada

The Government of Canada uses the Java implementation of the Open DIS library in several software applications relating to Modeling, Simulation & Training.