## MV3500 Distributed Simulation Fundamentals Course 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. This course archive contains a variety of original assets for [assignments](assignments), [examples](examples), [presentations](presentations), and [specifications](specifications). Additional course pages: * [MV3500 Course Syllabus](https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/raw/master/MV3500DistributedSimulationSyllabus2023MarchJune.pdf) * [NPS CLE Sakai site](https://cle.nps.edu/portal/site/6e9fe3d2-37ad-4dd1-83a3-39e8d3089435) for legacy versions of MV3500 course * [NPS GitLab site: NetworkedGraphicsMV3500](https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500) <!-- * [Wikipedia book: Networked_Modeling_and_Simulation](https://en.wikipedia.org/wiki/Book:Networked_Modeling_and_Simulation) --> * [opendis7-java Distribution Products](https://savage.nps.edu/opendis7-java) * [Savage Developers Guide: telnet Network Protocol](https://savage.nps.edu/Savage/developers.html#telnet) References and resources: * [GitLab Flavored Markdown (GFM)](https://docs.gitlab.com/ee/user/markdown.html) * [Java Archive (.jar)](https://docs.oracle.com/javase/tutorial/deployment/jar/basicsindex.html) for sharable/runnable software libraries * [Java SE OpenJDK download](https://openjdk.java.net) (OpenJDK 22) or [Java SE JDK download](https://www.oracle.com/technetwork/java/javase/downloads/index.html) (OracleJDK 22) * [Netbeans](http://www.netbeans.org) (version 22), [Using Git Support in NetBeans IDE](https://netbeans.org/kb/docs/ide/git.html) and [Video of Cloning a Git Repository Using NetBeans IDE](https://netbeans.org/kb/docs/ide/git_nb_ssh_screencast.html) * [Open-DIS Repository](https://github.com/open-dis) (specifically [opendis7-java](https://github.com/open-dis/opendis7-java)) and [Distributed Interactive Simulation: The Missing Handbook](https://github.com/open-dis/DISTutorial/blob/master/README.md) * [Savage Developers Guide](https://savage.nps.edu/Savage/developers.html) resources for [Cygwin](https://savage.nps.edu/Savage/developers.html#Cygwin), [DIS](https://savage.nps.edu/Savage/developers.html#DIS) and [telnet](https://savage.nps.edu/Savage/developers.html#telnet) * [Sequence Diagram](https://en.wikipedia.org/wiki/Sequence_diagram) and [Timing Diagram (UML)](https://en.wikipedia.org/wiki/Timing_diagram_(Unified_Modeling_Language)) on Wikipedia * [WireShark](https://wireshark.org) and [WireShark Tutorial for Beginners](https://www.youtube.com/watch?v=TkCSr30UojM) video by Anson Alexander * [X3D-Edit](https://savage.nps.edu/X3D-Edit) as Netbeans Plugin including [DIS PDU Player/Recorder](https://savage.nps.edu/X3D-Edit/images/DisPlayerRecorderPanel.png) and [ESPDU Generator](https://savage.nps.edu/X3D-Edit/images/DisEspduTestPanelDemo.png) (updated quarterly to use latest NetBeans version) * [X3D for Web Authors](https://x3dgraphics.com) book, examples and slidesets including [X3D Distributed Interactive Simulation (DIS)](https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/DistributedInteractiveSimulation.pdf) Contact: Don Brutzman, brutzman@nps.edu