9
Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo <at> nps.edu)

Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Embed Size (px)

Citation preview

Page 1: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Open-DIS

Open Source Distributed Interactive Simulation Protocol in

C++ and JavaDon McGregor (mcgredo <at> nps.edu)

Page 2: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Distributed Interactive Simulation

What is it?• Well-known military modeling &

simulation protocol, standardized in IEEE-1278 family of standards

• Used in real time military simulations• Can interoperate with High Level

Architecture (HLA) via gateways• Actively being developed via the SISO

DIS PDG; 200x standard is upcoming

Page 3: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Open Source Standards

DIS is a classic candidate for an open source implementation

• Standardized in 1995, relatively slow moving target• Many client applications• Extremely long product cycles in DoD means

licenses become a major issue as companies move on

• Why is the government paying for this code over and over again? In either buying a commercial implementation or paying contractors to write it for their own applications, the government has been paying people to write the same code for decades

Page 4: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Open Source DIS Strategy

Do it, do it right, and give it awayThe free version should be higher quality than self-written

implementationsCreate an open source reference implementation and stop

re-inventing the wheel. Make it easier, better, and simpler to just download the code rather than to write or buy a version

This requires a simple open source license that does not contaminate proprietary vendor code

Works well with long product life cyclesAligns with DoD Modeling and Simulation Strategic Vision

Page 5: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Open-DIS

Two implementations right now, trying to converge to one:

• DIS-XML: can read and write to XML, Java only

• Open-DIS: Java and C++ source, but does not yet read & write XML. This should be fixed shortly.

Open-DIS is the first open source C++ implementation

Page 6: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

XML Advantages

• Preferred format for archiving• Access to the full range of XML tools,

including databases (XML and relational), transformation, web services, etc

• Can ship XML-ified DIS across XMPP• DIS data is no longer an island--it’s just

more XML data

Page 7: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Getting the Code

Source code is available for download at http://sourceforge.net/projects/open-dis

License is BSD. Non-viral, intended to be as friendly as possible to commercial adoption

We do not want to hear the excuse “but this will make us open source our proprietary code”--it won’t.

Page 8: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Delta 3D

The C++ work was done in cooperation with NPS’s open source game engine, Delta3D--the objective is to have the game engine able to work with DIS and military sims, plugged in with SimKit discrete event simulation

Page 9: Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo nps.edu)

Future Work

Lots of potential future work here:• DIS-HLA gateway, using the Portico open

source HLA implementation to bridge to the other major DoD M&S networking standard

• Supporting tools: Loggers, data analysis, etc.• DIS Enumerations• In general: create reference open source

implementations of DoD M&S standards• Hook up DoD protocols to commercial MMOG

frameworks