From 65153bc4c7fb1da8db01f4e041f275d7263d80b5 Mon Sep 17 00:00:00 2001 From: ethanjwilliams <ethanjwilliams@localhost> Date: Fri, 13 Sep 2024 08:31:18 -0700 Subject: [PATCH] Williams - Project (VisKit) --- assignments/nbproject/project.xml | 87 ++++++++++--------- ...illiams_ArrivalProcessOpenDis7Assembly.xml | 29 +++++++ .../Williams_SimpleServerDis7Assembly.xml | 42 +++++++++ .../dis7/Williams_ArrivalProcessOpenDis7.xml | 56 ++++++++++++ .../projects/Williams/package-info.java | 10 +++ 5 files changed, 181 insertions(+), 43 deletions(-) create mode 100644 assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_ArrivalProcessOpenDis7Assembly.xml create mode 100644 assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_SimpleServerDis7Assembly.xml create mode 100644 assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/EventGraphs/dis7/Williams_ArrivalProcessOpenDis7.xml create mode 100644 assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/package-info.java diff --git a/assignments/nbproject/project.xml b/assignments/nbproject/project.xml index ec9c9401e0..d7234beae9 100644 --- a/assignments/nbproject/project.xml +++ b/assignments/nbproject/project.xml @@ -1,43 +1,44 @@ -<?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>accessor</word> - <word>autogeneration</word> - <word>classpath</word> - <word>Cygwin</word> - <word>deliverables</word> - <word>docx</word> - <word>https</word> - <word>interarrival</word> - <word>javadoc</word> - <word>localhost</word> - <word>multicast</word> - <word>Netbeans</word> - <word>netcat</word> - <word>NPS</word> - <word>pdu</word> - <word>README</word> - <word>simkit</word> - <word>simulationists</word> - <word>SISO</word> - <word>subpackage</word> - <word>teardown</word> - <word>txt</word> - <word>UML</word> - <word>unicast</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> + <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>accessor</word> + <word>autogeneration</word> + <word>classpath</word> + <word>Cygwin</word> + <word>deliverables</word> + <word>docx</word> + <word>https</word> + <word>interarrival</word> + <word>javadoc</word> + <word>localhost</word> + <word>multicast</word> + <word>Netbeans</word> + <word>netcat</word> + <word>NPS</word> + <word>pdu</word> + <word>README</word> + <word>simkit</word> + <word>simulationists</word> + <word>SISO</word> + <word>subpackage</word> + <word>teardown</word> + <word>txt</word> + <word>UML</word> + <word>unicast</word> + <word>wikipedia</word> + <word>Wireshark</word> + </spellchecker-wordlist> + </configuration> +</project> diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_ArrivalProcessOpenDis7Assembly.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_ArrivalProcessOpenDis7Assembly.xml new file mode 100644 index 0000000000..597e3466d1 --- /dev/null +++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_ArrivalProcessOpenDis7Assembly.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<SimkitAssembly name="ArrivalProcessOpenDis7Assembly" version="1.0" package="dis7" xsi:noNamespaceSchemaLocation="http://diana.nps.edu/Simkit/assembly.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <SimEntity name="aPOpenDis7" type="dis7.ArrivalProcessOpenDis7" description=""> + <TerminalParameter name="address" value="" type="java.lang.String"/> + <TerminalParameter name="port" value="-1" type="int"/> + <FactoryParameter factory="simkit.random.RandomVariateFactory" type="simkit.random.RandomVariate"> + <TerminalParameter name="" value="Exponential" type="String"/> + <TerminalParameter name="" value="1.7" type="Object..."/> + </FactoryParameter> + <Coordinate x="220.0" y="210.0"/> + </SimEntity> + <PropertyChangeListener name="numArrivalsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description=""> + <TerminalParameter name="p[0] : " value="N" type="java.lang.String"/> + <Coordinate x="220.0" y="330.0"/> + </PropertyChangeListener> + <PropertyChangeListener name="numEntityCreationsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description=""> + <TerminalParameter name="p[0] : " value="C" type="java.lang.String"/> + <Coordinate x="220.0" y="80.0"/> + </PropertyChangeListener> + <PropertyChangeListener name="numEntityRemovalsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description=""> + <TerminalParameter name="p[0] : " value="R" type="java.lang.String"/> + <Coordinate x="380.0" y="210.0"/> + </PropertyChangeListener> + <PropertyChangeListenerConnection property="N" listener="numArrivalsStat" source="aPOpenDis7" description=""/> + <PropertyChangeListenerConnection property="C" listener="numEntityCreationsStat" source="aPOpenDis7" description=""/> + <PropertyChangeListenerConnection property="R" listener="numEntityRemovalsStat" source="aPOpenDis7" description=""/> + <Output entity="aPOpenDis7"/> + <Schedule stopTime="100.0" verbose="false" saveReplicationData="false"/> +</SimkitAssembly> diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_SimpleServerDis7Assembly.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_SimpleServerDis7Assembly.xml new file mode 100644 index 0000000000..5aac321ee5 --- /dev/null +++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/Assemblies/dis7/Williams_SimpleServerDis7Assembly.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<SimkitAssembly name="SimpleServerDis7Assembly" version="1.0" package="dis7" xsi:noNamespaceSchemaLocation="http://diana.nps.edu/Simkit/assembly.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <SimEntity name="arrivalProcessOpenDis7" type="SimkitOpenDis7Examples.ArrivalProcessOpenDis7" description=""> + <FactoryParameter factory="simkit.random.RandomVariateFactory" type="simkit.random.RandomVariate"> + <TerminalParameter name="" value="Uniform" type="String"/> + <TerminalParameter name="" value="0.9, 2.2" type="Object..."/> + </FactoryParameter> + <Coordinate x="90.0" y="200.0"/> + </SimEntity> + <SimEntity name="simpleServer" type="SimkitOpenDis7Examples.SimpleServer" description=""> + <TerminalParameter name="p[0] : " value="1" type="int"/> + <FactoryParameter factory="simkit.random.RandomVariateFactory" type="simkit.random.RandomVariate"> + <TerminalParameter name="" value="Gamma" type="String"/> + <TerminalParameter name="" value="1.7, 1.8" type="Object..."/> + </FactoryParameter> + <Coordinate x="310.0" y="200.0"/> + </SimEntity> + <PropertyChangeListener name="numInQueueStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="true" countStatistics="false" description=""> + <TerminalParameter name="p[0] : " value="numberInQueue" type="java.lang.String"/> + <Coordinate x="310.0" y="80.0"/> + </PropertyChangeListener> + <PropertyChangeListener name="numAvailServersStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="true" countStatistics="false" description=""> + <TerminalParameter name="p[0] : " value="numberAvailableServers" type="java.lang.String"/> + <Coordinate x="510.0" y="200.0"/> + </PropertyChangeListener> + <PropertyChangeListener name="numArrivalsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description=""> + <TerminalParameter name="p[0] : " value="numberArrivals" type="java.lang.String"/> + <Coordinate x="90.0" y="80.0"/> + </PropertyChangeListener> + <PropertyChangeListener name="numServedStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description=""> + <TerminalParameter name="p[0] : " value="numberServed" type="java.lang.String"/> + <Coordinate x="310.0" y="350.0"/> + </PropertyChangeListener> + <SimEventListenerConnection listener="simpleServer" source="arrivalProcessOpenDis7"/> + <PropertyChangeListenerConnection property="numberInQueue" listener="numInQueueStat" source="simpleServer" description=""/> + <PropertyChangeListenerConnection property="numberAvailableServers" listener="numAvailServersStat" source="simpleServer" description=""/> + <PropertyChangeListenerConnection property="numberArrivals" listener="numArrivalsStat" source="arrivalProcessOpenDis7" description=""/> + <PropertyChangeListenerConnection property="numberServed" listener="numServedStat" source="simpleServer" description=""/> + <Output entity="arrivalProcessOpenDis7"/> + <Output entity="simpleServer"/> + <Schedule stopTime="100000.0" verbose="false" saveReplicationData="false"/> +</SimkitAssembly> diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/EventGraphs/dis7/Williams_ArrivalProcessOpenDis7.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/EventGraphs/dis7/Williams_ArrivalProcessOpenDis7.xml new file mode 100644 index 0000000000..f1dd2c6371 --- /dev/null +++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/EventGraphs/dis7/Williams_ArrivalProcessOpenDis7.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<SimEntity name="ArrivalProcessOpenDis7" package="dis7" version="1.0" author="terry" extend="SimkitOpenDis7Examples.run.OpenDisHelper" xsi:noNamespaceSchemaLocation="http://diana.nps.edu/Simkit/simkit.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <Parameter name="address" type="java.lang.String"> + <Comment>An other than default network address</Comment> + </Parameter> + <Parameter name="port" type="int"> + <Comment>An other than default network port</Comment> + </Parameter> + <Parameter name="tA" type="simkit.random.RandomVariate"> + <Comment>Inter arrival time</Comment> + </Parameter> + <StateVariable name="N" type="int"> + <Comment>Number of arrivals</Comment> + </StateVariable> + <StateVariable name="C" type="int"> + <Comment>Number of entity creations</Comment> + </StateVariable> + <StateVariable name="R" type="int"> + <Comment>Number of entity removals</Comment> + </StateVariable> + <Event name="Run" description="This event is fired first to facilitate initialization of all simulation state variables"> + <Comment>Initialize all state variables</Comment> + <StateTransition state="N"> + <Assignment value="0"/> + </StateTransition> + <StateTransition state="C"> + <Assignment value="1"/> + </StateTransition> + <StateTransition state="R"> + <Assignment value="0"/> + </StateTransition> + <Schedule delay="tA.generate()" event="Arrival" priority="DEFAULT"/> + <Code></Code> + <Coordinate x="50.0" y="70.0"/> + </Event> + <Event name="Arrival"> + <Comment>Tallys the number of arrivals and schedules future arrival events with time tA</Comment> + <StateTransition state="N"> + <Assignment value="N + 1"/> + </StateTransition> + <Schedule delay="tA.generate()" event="Arrival" priority="DEFAULT"/> + <Code>int everyTen = 10; +int oldC = C; +int oldR = R; + +if ((N % everyTen) == 0) { + disChannel.removeEntity(entityStatePdu_1.getEntityID()); + firePropertyChange("R", oldR, R+1); +} else { + disChannel.addEntity(entityStatePdu_1.getEntityID()); + firePropertyChange("C", oldC, C+1); +}</Code> + <Coordinate x="260.0" y="70.0"/> + </Event> + <Code></Code> +</SimEntity> diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/package-info.java b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/package-info.java new file mode 100644 index 0000000000..410ebc48b9 --- /dev/null +++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Williams/package-info.java @@ -0,0 +1,10 @@ +/** + * Final project assignments supporting the NPS MOVES MV3500 Networked Graphics course. + * + * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments" target="_blank">networkedGraphicsMV3500 assignments</a> + * @see java.lang.Package + * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful" target="_blank">StackOverflow: why-is-package-info-java-useful</a> + * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java" target="_blank">StackOverflow: how-do-i-document-packages-in-java</a> + */ + +package MV3500Cohort2024JulySeptember.projects.Williams; -- GitLab