Open-DIS Open Source Distributed Interactive Simulation Protocol in C++ and Java Don McGregor (mcgredo <at> 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
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
Open Source DIS Strategy Do it, do it right, and give it away The free version should be higher quality than self-written implementations Create 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 cycles Aligns with DoD Modeling and Simulation Strategic Vision
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
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
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.
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
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