Skip to content
Snippets Groups Projects
Commit 083c41f1 authored by brutzman's avatar brutzman
Browse files

Merge origin/master

parents 932cca84 53dff9cf
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>Networked Graphics MV3500 assignments</name>
<explicit-platform explicit-source-supported="true"/>
<source-roots>
<root id="src.dir"/>
</source-roots>
<test-roots>
<root id="test.src.dir"/>
</test-roots>
</data>
<spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1">
<word>deliverables</word>
<word>https</word>
<word>localhost</word>
<word>multicast</word>
<word>Netbeans</word>
<word>README</word>
<word>UML</word>
<word>wikipedia</word>
<word>Wireshark</word>
</spellchecker-wordlist>
</configuration>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/j2se-project/3">
<name>Networked Graphics MV3500 assignments</name>
<source-roots>
<root id="src.dir"/>
</source-roots>
<test-roots>
<root id="test.src.dir"/>
</test-roots>
</data>
<spellchecker-wordlist xmlns="http://www.netbeans.org/ns/spellchecker-wordlist/1">
<word>deliverables</word>
<word>https</word>
<word>localhost</word>
<word>multicast</word>
<word>Netbeans</word>
<word>README</word>
<word>UML</word>
<word>wikipedia</word>
<word>Wireshark</word>
</spellchecker-wordlist>
</configuration>
</project>
......@@ -41,7 +41,7 @@ public class BoronPduSender
}
}
public void run(Pdu aPdu)
public void run(Pdu aPdu) throws Exception
{
System.out.println("DisExamplesOpenDis7.AllPduSender started...");
......@@ -85,7 +85,7 @@ public class BoronPduSender
//container.marshallToXml("examplePdus.xml");
}
public static void main(String args[])
public static void main(String args[]) throws Exception
{
BoronEntityStatePduCreator espduCreator = new BoronEntityStatePduCreator();
......
1. Purpose - The purpose of this project was to incorporate Distributive
Interactive Simulations (DIS) protocol data units (PDU) into MAJ Furr's thesis
work. His work supports the warfighter and reveals data that will wisely inform
future decisions. It was a pleasure to support his work and to make his work
more accessible to the Modeling & Simulations and Wargaming communities of
interest.
Interactive Simulation (DIS) protocol data units (PDU) into MAJ John Furr's
thesis work. His project models a specific aspect of ground combat communications,
producing data that may influence and change how ground units conduct tactical
communications while in close contact with the enemy. As such, there is great
benefit to adding a networking capability to his simulation that will allow it to
interact with other combat models.
2. Background - MAJ Furr created a discrete event simulation (DES) of the
call for fire process from the forward observation points through battalion level
fires. The DES covers multiple forms of radio frequencies and concepts. His DES
shows how the broadcasting of conventional omni-directional frequency modulation
waveforms can be intercepted by a near peer competitor. What was lacking from
his work was the ability to integrate his work with other simulations.
2. Background - MAJ Furr programmed a discrete event simulation (DES) of the
call-for-fire process from the forward observation positions through battalion
level fires using java and SimKit. His simulation covers multiple forms of radio
frequencies and means of communication. Consequently, his results show how an
enemy capable of monitoring the electromagnetic spectrum can intercept conventional
omni-directional frequency modulation waveforms and exploit this information to
disrupt our kill chain. What was lacking from his program was the ability to
integrate his simulation with other combat models.
3. Process - Capt Jonathan Boron and Maj Daniel Yurkovich utilized an incremental
model process to incorporate the DIS PDUs into MAJ Furr's DES. The approach began
with understanding MAJ Furr's code and which java classes placed elements onto
the event list. With this understanding, a "PDU Constructor" class was created
to house all of the required PDUs. At this point, the following PDUs deemed
necessary as a proof of concept are: CreateEntityPDU, EntityStatePDU, FirePDU,
DetonationPDU, TransmitterPDU, ReceiverPDU, and SignalPDU. A major break through
that enabled quick implementation was MAJ Furr's creation of the "SimpleMover3D"
class. All moving elements, both enemy and friendly, were subclassed from the
SimpleMover3D class. Within the SimpleMover3D class we placed the PDUConstructor,
PDUSender, TransmitterPDU, and ReceiverPDU. With more refinement of the process,
the CreateEntityPDU,and EntityStatePDU should be in the SimpleMover3D class.
Since a large focus of MAJ Furr's work was how different radio procedures
influenced the battlefield, A struggle for Capt Boron and Maj Yurkovich was to
identify where radio messages were executed, broadcasted, in the DES portion of
MAJ Furr's program.
model process to incorporate the DIS PDUs into MAJ Furr's simulation. The approach
began with understanding MAJ Furr's code and how java classes interacted with each
other and populated events onto the event list. With this understanding, a PDU
Constructor class was developed to provide a blueprint that supports the creation
of all required PDUs. At this point, the following PDUs deemed necessary for proof
of concept were: CreateEntity, EntityState, Fire, Detonation, Transmitter, Receiver,
and Signal PDUs. A major breakthrough that enabled quick, seamless implementation of
PDU construction into the simulation was found in MAJ Furr's creation of the
SimpleMover3D class. All moving elements, both enemy and friendly, were subclassed
from this SimpleMover3D class. Within the SimpleMover3D class we placed the primary
PDUConstructor object, as well as methods that allowed Transmitter, Signal, and
Receiver PDUs to be sent. Moreover, with further refinement of the program, the
CreateEntity and EntityState PDUs were completely integrated into the SimpleMover3D
class. Since a large focus of MAJ Furr's work was how different radio procedures
influenced the battlefield, a struggle for Capt Boron and Maj Yurkovich was to
identify where radio messages were executed and broadcasted in the DES portion of
the program.
4. How to use - Start "PduReceiver" prior to running MAJ Furr's main program.
4. How to use - DIS was implemented in the simulation such that no other additional
files need to be explicitly run for PDUs to be constructed and sent. A PduReceiver
class was programmed, as well, in order to assist in monitoring the state of the
program and debugging. Thus, to observe and track the PDUs being sent, simply run
this file prior to executing MAJ Furr's main program.
5. Future work - The web of details subordinate to the main 72 PDUs identified
in the MOVES Institute's open-dis7-source.jar needs improvement in our implementation.
The Capt Boron and Maj Yurkovich lack the scope and time to gather the full
details of enumerations for each time of radios, waveforms, and rounds being
used in the simulation. A better understanding of how the Institute of Electrical
and Electronics Engineers Standard for DIS - Application Protocols (IEEE Std
1278.1-2012) and Simulation Interoperability Standards Organization Reference
for Enumerations for Simulation Interoperability (SISO-REF-010-2019) work
together would make future work easier to complete. This data requires
refinement in each PDU.
5. Future work - The intricacies subordinate to the main 72 PDUs identified in
the MOVES Institute's open-dis7-source.jar need improvement if a more effective
and thorough implementation is desired. A better understanding of how the
Institute of Electrical and Electronics Engineers Standard for DIS - Application
Protocols (IEEE Std 1278.1-2012) and Simulation Interoperability Standards
Organization Reference for Enumerations for Simulation Interoperability (SISO-
REF-010-2019) work together would make future work easier to complete. Moreover,
the simulation itself, while an effective model of the call-for-fire process,
lacked certain, minute details to fully populate all parameters of the PDUs. This
included specific information pertaining to the type of fuse and warhead in
artillery rounds and the frequency and model of radios employed. Subsequently, this
data requires refinement in each PDU. Lastly, this project showed that DIS can
seamlessly interoperate with SimKit programs. Although outside of the scope of
this project, it would be beneficial for a more thorough integration of the
PDUConstructor and PDUSender classes into the SimKit package.
6. Conclusion - With a program written in the module/component structure SimKit
DES style, the implementation of DIS PDUs was a relatively simple process. The
classes taught in the first year of the MOVES curriculum, specifically Java & DES,
establish a strong foundation for any second year MOVES student to continue to
improve MAJ Furr's simulation and broaden its impact with DIS implementation in
MV 3500.
6. Conclusion - The modular structure of SimKit and DES allowed for the seamless
implementation of DIS PDUs into MAJ Furr's call-for-fire combat simulation. The
classes taught in the first year of the MOVES curriculum, specifically Java and
DES, establish a strong foundation for any second year MOVES student to continue
to improve MAJ Furr's simulation and broaden its impact with DIS implementation in
MV3500.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment