Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • stefan.goericke.gy/NetworkedGraphicsMV3500
  • william.mahan/NetworkedGraphicsMV3500
  • alexander.white/NetworkedGraphicsMV3500
  • kyle.britt/NetworkedGraphicsMV3500
  • christopher.garibay/NetworkedGraphicsMV3500
  • christopher.cannon/NetworkedGraphicsMV3500
  • galoeffe/NetworkedGraphicsMV3500
  • dlcain1/NetworkedGraphicsMV3500
  • jmfurr/NetworkedGraphicsMV3500
  • jrjackso1/NetworkedGraphicsMV3500
  • kjmaroon1/NetworkedGraphicsMV3500
  • cdtacket/NetworkedGraphicsMV3500
12 results
Show changes
Commits on Source (3)
Showing
with 3 additions and 1044 deletions
......@@ -2,9 +2,9 @@
.DS_Store
nbproject/build-
nbproject/private/impl.xml~
nbproject/genfiles.properties
private/
build-impl.xml
genfiles.properties
manifest.mf
/specifications/*.SAVEME
/specifications/*.doc
......
package dis7;
// Standard library imports
import java.util.*;
// Application specific imports
import simkit.*;
import simkit.random.*;
public class ArrivalProcessOpenDis7 extends SimkitOpenDis7Examples.run.OpenDisHelper {
/* Simulation Parameters */
/* inherited parameter java.lang.String address */
/* inherited parameter int port */
/** Inter arrival time */
private simkit.random.RandomVariate tA;
/* Simulation State Variables */
/** Number of arrivals */
protected int N;
/** Number of entity creations */
protected int C;
/** Number of entity removals */
protected int R;
@viskit.ParameterMap (
names = {"address",
"port",
"tA"},
types = {"java.lang.String",
"int",
"simkit.random.RandomVariate"}
)
public ArrivalProcessOpenDis7(java.lang.String address,
int port,
simkit.random.RandomVariate tA) {
super(address, port);
setTA(tA);
}
@Override
public void reset() {
super.reset();
N = 0;
C = 1;
R = 0;
}
/** Bootstraps the first simulation event */
public void doRun() {
firePropertyChange("N", getN());
firePropertyChange("C", getC());
firePropertyChange("R", getR());
waitDelay("Arrival", tA.generate(), Priority.DEFAULT);
}
public void doArrival() {
/* Code insertion for Event Arrival */
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());
Random random = new Random();
int randX = random.nextInt(10);
int randY = random.nextInt(10);
entityStatePdu_1.getEntityLocation().setX(randX);
entityStatePdu_1.getEntityLocation().setY(randY);
System.out.println("New entity created at: "+randX+" "+randY);
firePropertyChange("C", oldC, C+1);
}
/* End Code insertion */
/* StateTransition for N */
int _old_N = getN();
N = N + 1;
firePropertyChange("N", _old_N, getN());
waitDelay("Arrival", tA.generate(), Priority.DEFAULT);
}
public final void setTA(simkit.random.RandomVariate tA) {
this.tA = tA;
}
public simkit.random.RandomVariate getTA() {
return tA;
}
public int getN() {
return N;
}
public int getC() {
return C;
}
public int getR() {
return R;
}
/* Inserted code for ArrivalProcessOpenDis7 */
/* End inserted code */
}
package dis7;
// Standard library imports
import java.util.*;
// Application specific imports
import simkit.*;
import simkit.random.*;
public class SimpleServer extends SimEntityBase {
/* Simulation Parameters */
private simkit.random.RandomVariate serviceTime;
private int totalNumberServers;
/* Simulation State Variables */
protected int numberInQueue;
protected int numberAvailableServers;
@viskit.ParameterMap (
names = {"serviceTime",
"totalNumberServers"},
types = {"simkit.random.RandomVariate",
"int"}
)
/** Creates a new default instance of SimpleServer */
public SimpleServer() {
}
public SimpleServer(simkit.random.RandomVariate serviceTime,
int totalNumberServers) {
setServiceTime(serviceTime);
setTotalNumberServers(totalNumberServers);
}
@Override
public void reset() {
super.reset();
numberInQueue = 0;
numberAvailableServers = totalNumberServers;
}
/** Bootstraps the first simulation event */
public void doRun() {
firePropertyChange("numberInQueue", getNumberInQueue());
firePropertyChange("numberAvailableServers", getNumberAvailableServers());
}
public void doArrival() {
/* StateTransition for numberInQueue */
int _old_NumberInQueue = getNumberInQueue();
numberInQueue = numberInQueue + 1;
firePropertyChange("numberInQueue", _old_NumberInQueue, getNumberInQueue());
if (numberAvailableServers > 0) {
waitDelay("StartService", 0.0, Priority.DEFAULT, (Object) numberAvailableServers);
}
}
public void doStartService(int arg_0) {
/* Code insertion for Event StartService */
System.out.println("numberAvailableServers"+arg_0);
/* End Code insertion */
/* StateTransition for numberInQueue */
int _old_NumberInQueue = getNumberInQueue();
numberInQueue = numberInQueue - 1;
firePropertyChange("numberInQueue", _old_NumberInQueue, getNumberInQueue());
/* StateTransition for numberAvailableServers */
int _old_NumberAvailableServers = getNumberAvailableServers();
numberAvailableServers = numberAvailableServers - 1;
firePropertyChange("numberAvailableServers", _old_NumberAvailableServers, getNumberAvailableServers());
waitDelay("EndService", serviceTime.generate(), Priority.DEFAULT);
}
public void doEndService() {
/* StateTransition for numberAvailableServers */
int _old_NumberAvailableServers = getNumberAvailableServers();
numberAvailableServers = numberAvailableServers + 1;
firePropertyChange("numberAvailableServers", _old_NumberAvailableServers, getNumberAvailableServers());
if (numberInQueue > 0) {
waitDelay("StartService", 0.0, Priority.HIGH);
}
}
public final void setServiceTime(simkit.random.RandomVariate serviceTime) {
this.serviceTime = serviceTime;
}
public simkit.random.RandomVariate getServiceTime() {
return serviceTime;
}
public final void setTotalNumberServers(int totalNumberServers) {
this.totalNumberServers = totalNumberServers;
}
public int getTotalNumberServers() {
return totalNumberServers;
}
public int getNumberInQueue() {
return numberInQueue;
}
public int getNumberAvailableServers() {
return numberAvailableServers;
}
@Override
public String toString() {
return getName();
}
}
package dis7;
public class SimpleServerDis7Assembly extends viskit.assembly.ViskitAssembly {
public SimpleServerDis7Assembly() {
super();
setStopTime(100.0);
setVerbose(false);
setNumberReplications(1);
setPrintReplicationReports(true);
setPrintSummaryReport(true);
setSaveReplicationData(false);
}
@Override
protected void createSimEntities() {
addSimEntity( "arrivalProcessOpenDis7",
new SimkitOpenDis7Examples.ArrivalProcessOpenDis7(
simkit.random.RandomVariateFactory.getInstance(
"Uniform",
0.9, 2.2
)
)
);
addSimEntity( "simpleServer",
new SimkitOpenDis7Examples.SimpleServer(
1,
simkit.random.RandomVariateFactory.getInstance(
"Gamma",
1.7, 1.8
)
)
);
addSimEventListenerConnection("simpleServer", "arrivalProcessOpenDis7");
super.createSimEntities();
}
@Override
public void createPropertyChangeListeners() {
addPropertyChangeListenerConnection("numInQueueStat", "numberInQueue", "simpleServer");
addPropertyChangeListenerConnection("numAvailServersStat", "numberAvailableServers", "simpleServer");
addPropertyChangeListenerConnection("numArrivalsStat", "numberArrivals", "arrivalProcessOpenDis7");
addPropertyChangeListenerConnection("numServedStat", "numberServed", "simpleServer");
super.createPropertyChangeListeners();
}
@Override
public void createReplicationStats() {
addReplicationStats("numInQueueStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberInQueue"
)
);
addReplicationStatsListenerConnection("numInQueueStat", "numberInQueue", "simpleServer");
addReplicationStats("numAvailServersStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberAvailableServers"
)
);
addReplicationStatsListenerConnection("numAvailServersStat", "numberAvailableServers", "simpleServer");
addReplicationStats("numArrivalsStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberArrivals"
)
);
addReplicationStatsListenerConnection("numArrivalsStat", "numberArrivals", "arrivalProcessOpenDis7");
addReplicationStats("numServedStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberServed"
)
);
addReplicationStatsListenerConnection("numServedStat", "numberServed", "simpleServer");
super.createReplicationStats();
}
@Override
public void createDesignPointStats() {
super.createDesignPointStats();
}
@Override
public void printInfo() {
System.out.println();
System.out.println("Entity Details");
System.out.println("--------------");
System.out.println(getSimEntityByName("arrivalProcessOpenDis7"));
System.out.println(getSimEntityByName("simpleServer"));
System.out.println("--------------");
}
public static void main(String[] args) {
SimpleServerDis7Assembly simpleServerDis7Assembly = new SimpleServerDis7Assembly();
new Thread(simpleServerDis7Assembly).start();
}
}
package examples;
// Standard library imports
import java.util.*;
// Application specific imports
import simkit.*;
import simkit.random.*;
public class ArrivalProcess extends SimEntityBase {
/* Simulation Parameters */
/** */
private simkit.random.RandomVariate interarrivalTime;
/* Simulation State Variables */
/** */
protected int numberArrivals;
@viskit.ParameterMap (
names = {"interarrivalTime"},
types = {"simkit.random.RandomVariate"}
)
/** Creates a new default instance of ArrivalProcess */
public ArrivalProcess() {
}
public ArrivalProcess(simkit.random.RandomVariate interarrivalTime) {
setInterarrivalTime(interarrivalTime);
}
@Override
public void reset() {
super.reset();
}
/** Bootstraps the first simulation event */
public void doRun() {
waitDelay("Arrival", interarrivalTime.generate(), Priority.DEFAULT);
}
public void doArrival() {
/* StateTransition for numberArrivals */
int _old_NumberArrivals = getNumberArrivals();
numberArrivals = numberArrivals + 1;
firePropertyChange("numberArrivals", _old_NumberArrivals, getNumberArrivals());
waitDelay("Arrival", interarrivalTime.generate(), Priority.DEFAULT);
}
public final void setInterarrivalTime(simkit.random.RandomVariate interarrivalTime) {
this.interarrivalTime = interarrivalTime;
}
public simkit.random.RandomVariate getInterarrivalTime() {
return interarrivalTime;
}
public int getNumberArrivals() {
return numberArrivals;
}
@Override
public String toString() {
return getName();
}
}
package examples;
// Standard library imports
import java.util.*;
// Application specific imports
import simkit.*;
import simkit.random.*;
public class EntityCreator extends SimEntityBase {
/* Simulation Parameters */
/* None */
/* Simulation State Variables */
/* None */
@viskit.ParameterMap (
names = {},
types = {}
)
/** Creates a new default instance of EntityCreator */
public EntityCreator() {
}
public void doArrival() {
waitDelay("EntityArrival", 0.0, Priority.DEFAULT, (Object) new simkit.Entity());
}
public void doEntityArrival(simkit.Entity customer) {
}
@Override
public String toString() {
return getName();
}
}
package examples;
// Standard library imports
import java.util.*;
// Application specific imports
import simkit.*;
import simkit.random.*;
public class ServerGeneric extends SimEntityBase {
/* Simulation Parameters */
/** */
private int totalNumberServers;
/** */
private simkit.random.RandomVariate serviceTimeGenerator;
/* Simulation State Variables */
/** */
protected int numberAvailableServers;
/** */
protected java.util.LinkedList<simkit.Entity> queue = new java.util.LinkedList<>();
/** */
protected double delayInQueue;
/** */
protected double timeInSystem;
@viskit.ParameterMap (
names = {"totalNumberServers",
"serviceTimeGenerator"},
types = {"int",
"simkit.random.RandomVariate"}
)
/** Creates a new default instance of ServerGeneric */
public ServerGeneric() {
}
public ServerGeneric(int totalNumberServers,
simkit.random.RandomVariate serviceTimeGenerator) {
setTotalNumberServers(totalNumberServers);
setServiceTimeGenerator(serviceTimeGenerator);
}
@Override
public void reset() {
super.reset();
numberAvailableServers = totalNumberServers;
queue = new java.util.LinkedList<simkit.Entity>();
}
/** Bootstraps the first simulation event */
public void doRun() {
firePropertyChange("numberAvailableServers", getNumberAvailableServers());
firePropertyChange("queue", getQueue());
}
public void doArrival(simkit.Entity customer) {
/* Code insertion for Event Arrival */
customer.stampTime();
/* End Code insertion */
/* StateTransition for queue */
java.util.LinkedList<simkit.Entity> _old_Queue = getQueue();
queue.add(customer);
firePropertyChange("queue", _old_Queue, getQueue());
if (numberAvailableServers > 0) {
waitDelay("StartService", 0.0, Priority.HIGH);
}
}
public void doStartService() {
/* Code insertion for Event StartService */
Entity customer = queue.getFirst();
/* End Code insertion */
/* StateTransition for numberAvailableServers */
int _old_NumberAvailableServers = getNumberAvailableServers();
numberAvailableServers = numberAvailableServers - 1;
firePropertyChange("numberAvailableServers", _old_NumberAvailableServers, getNumberAvailableServers());
/* StateTransition for queue */
java.util.LinkedList<simkit.Entity> _old_Queue = getQueue();
queue.removeFirst();
firePropertyChange("queue", _old_Queue, getQueue());
/* StateTransition for delayInQueue */
double _old_DelayInQueue = getDelayInQueue();
delayInQueue = customer.getElapsedTime();
firePropertyChange("delayInQueue", _old_DelayInQueue, getDelayInQueue());
waitDelay("EndService", serviceTimeGenerator.generate(), Priority.DEFAULT, (Object) customer);
}
public void doEndService(simkit.Entity customer) {
/* StateTransition for numberAvailableServers */
int _old_NumberAvailableServers = getNumberAvailableServers();
numberAvailableServers = numberAvailableServers + 1;
firePropertyChange("numberAvailableServers", _old_NumberAvailableServers, getNumberAvailableServers());
/* StateTransition for timeInSystem */
double _old_TimeInSystem = getTimeInSystem();
timeInSystem = customer.getElapsedTime();
firePropertyChange("timeInSystem", _old_TimeInSystem, getTimeInSystem());
if (queue.size() > 0) {
waitDelay("StartService", 0.0, Priority.HIGH);
}
}
public final void setTotalNumberServers(int totalNumberServers) {
this.totalNumberServers = totalNumberServers;
}
public int getTotalNumberServers() {
return totalNumberServers;
}
public final void setServiceTimeGenerator(simkit.random.RandomVariate serviceTimeGenerator) {
this.serviceTimeGenerator = serviceTimeGenerator;
}
public simkit.random.RandomVariate getServiceTimeGenerator() {
return serviceTimeGenerator;
}
public int getNumberAvailableServers() {
return numberAvailableServers;
}
@SuppressWarnings("unchecked")
public java.util.LinkedList<simkit.Entity> getQueue() {
return (java.util.LinkedList<simkit.Entity>) queue.clone();
}
public double getDelayInQueue() {
return delayInQueue;
}
public double getTimeInSystem() {
return timeInSystem;
}
@Override
public String toString() {
return getName();
}
}
package examples;
public class TestAssembly extends viskit.assembly.ViskitAssembly {
public TestAssembly() {
super();
setStopTime(100.0);
setVerbose(false);
setNumberReplications(1);
setPrintReplicationReports(true);
setPrintSummaryReport(true);
setSaveReplicationData(false);
}
@Override
protected void createSimEntities() {
addSimEntity( "arrivalProcess",
new examples.ArrivalProcess(
simkit.random.RandomVariateFactory.getInstance(
"Exponential",
1.6
)
)
);
addSimEntity( "twoTypeServer",
new examples.TwoTypeServer(
1,
2,
simkit.random.RandomVariateFactory.getInstance(
"Exponential",
0.9
),
simkit.random.RandomVariateFactory.getInstance(
"Exponential",
1.2
)
)
);
addAdapter("adptr", "Arrival", "Arrival", "arrivalProcess", "twoTypeServer");
super.createSimEntities();
}
@Override
public void createPropertyChangeListeners() {
addPropertyChangeListenerConnection("numAvailServerAStat", "numberAvailableServersA", "twoTypeServer");
addPropertyChangeListenerConnection("queueStat", "queue", "twoTypeServer");
addPropertyChangeListenerConnection("numAvailServerBStat", "numberAvailableServersB", "twoTypeServer");
super.createPropertyChangeListeners();
}
@Override
public void createReplicationStats() {
addReplicationStats("numAvailServerAStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberAvailableServersA"
)
);
addReplicationStatsListenerConnection("numAvailServerAStat", "numberAvailableServersA", "twoTypeServer");
addReplicationStats("queueStat",
new simkit.stat.SimpleStatsTimeVarying(
"queue"
)
);
addReplicationStatsListenerConnection("queueStat", "queue", "twoTypeServer");
addReplicationStats("numAvailServerBStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberAvailableServersB"
)
);
addReplicationStatsListenerConnection("numAvailServerBStat", "numberAvailableServersB", "twoTypeServer");
super.createReplicationStats();
}
@Override
public void createDesignPointStats() {
super.createDesignPointStats();
}
@Override
public void printInfo() {
System.out.println();
System.out.println("Entity Details");
System.out.println("--------------");
System.out.println(getSimEntityByName("arrivalProcess"));
System.out.println(getSimEntityByName("twoTypeServer"));
System.out.println("--------------");
}
public static void main(String[] args) {
TestAssembly testAssembly = new TestAssembly();
new Thread(testAssembly).start();
}
}
package examples;
// Standard library imports
import java.util.*;
// Application specific imports
import simkit.*;
import simkit.random.*;
public class TwoTypeServer extends SimEntityBase {
/* Simulation Parameters */
/** */
private int numberServersA;
/** */
private int numberServersB;
/** */
private simkit.random.RandomVariate serviceTimeA;
/** */
private simkit.random.RandomVariate serviceTimeB;
/* Simulation State Variables */
/** */
protected int numberAvailableServersA;
/** */
protected int numberAvailableServersB;
/** */
protected int queue;
@viskit.ParameterMap (
names = {"numberServersA",
"numberServersB",
"serviceTimeA",
"serviceTimeB"},
types = {"int",
"int",
"simkit.random.RandomVariate",
"simkit.random.RandomVariate"}
)
/** Creates a new default instance of TwoTypeServer */
public TwoTypeServer() {
}
public TwoTypeServer(int numberServersA,
int numberServersB,
simkit.random.RandomVariate serviceTimeA,
simkit.random.RandomVariate serviceTimeB) {
setNumberServersA(numberServersA);
setNumberServersB(numberServersB);
setServiceTimeA(serviceTimeA);
setServiceTimeB(serviceTimeB);
}
@Override
public void reset() {
super.reset();
numberAvailableServersA = getNumberServersA();
numberAvailableServersB = getNumberServersB();
queue = 0;
}
/** Bootstraps the first simulation event */
public void doRun() {
firePropertyChange("numberAvailableServersA", getNumberAvailableServersA());
firePropertyChange("numberAvailableServersB", getNumberAvailableServersB());
firePropertyChange("queue", getQueue());
}
public void doArrival() {
/* StateTransition for queue */
int _old_Queue = getQueue();
queue = queue + 1;
firePropertyChange("queue", _old_Queue, getQueue());
if (getNumberAvailableServersA() > 0) {
waitDelay("StartServiceA", 0.0, Priority.DEFAULT);
}
if (getNumberAvailableServersA() == 0 && getNumberAvailableServersB() > 0) {
waitDelay("StartServiceB", 0.0, Priority.DEFAULT);
}
}
public void doStartServiceA() {
/* StateTransition for numberAvailableServersA */
int _old_NumberAvailableServersA = getNumberAvailableServersA();
numberAvailableServersA = numberAvailableServersA - 1;
firePropertyChange("numberAvailableServersA", _old_NumberAvailableServersA, getNumberAvailableServersA());
/* StateTransition for queue */
int _old_Queue = getQueue();
queue = queue - 1;
firePropertyChange("queue", _old_Queue, getQueue());
waitDelay("EndServiceA", serviceTimeA.generate(), Priority.DEFAULT);
}
public void doStartServiceB() {
/* StateTransition for numberAvailableServersB */
int _old_NumberAvailableServersB = getNumberAvailableServersB();
numberAvailableServersB = numberAvailableServersB - 1;
firePropertyChange("numberAvailableServersB", _old_NumberAvailableServersB, getNumberAvailableServersB());
/* StateTransition for queue */
int _old_Queue = getQueue();
queue = queue - 1;
firePropertyChange("queue", _old_Queue, getQueue());
waitDelay("EndServiceB", serviceTimeB.generate(), Priority.DEFAULT);
}
public void doEndServiceA() {
/* StateTransition for numberAvailableServersA */
int _old_NumberAvailableServersA = getNumberAvailableServersA();
numberAvailableServersA = numberAvailableServersA + 1;
firePropertyChange("numberAvailableServersA", _old_NumberAvailableServersA, getNumberAvailableServersA());
if (queue > 0) {
waitDelay("StartServiceA", 0.0, Priority.HIGH);
}
}
public void doEndServiceB() {
/* StateTransition for numberAvailableServersB */
int _old_NumberAvailableServersB = getNumberAvailableServersB();
numberAvailableServersB = numberAvailableServersB + 1;
firePropertyChange("numberAvailableServersB", _old_NumberAvailableServersB, getNumberAvailableServersB());
if (queue > 0) {
waitDelay("StartServiceB", 0.0, Priority.HIGH);
}
}
public final void setNumberServersA(int numberServersA) {
this.numberServersA = numberServersA;
}
public int getNumberServersA() {
return numberServersA;
}
public final void setNumberServersB(int numberServersB) {
this.numberServersB = numberServersB;
}
public int getNumberServersB() {
return numberServersB;
}
public final void setServiceTimeA(simkit.random.RandomVariate serviceTimeA) {
this.serviceTimeA = serviceTimeA;
}
public simkit.random.RandomVariate getServiceTimeA() {
return serviceTimeA;
}
public final void setServiceTimeB(simkit.random.RandomVariate serviceTimeB) {
this.serviceTimeB = serviceTimeB;
}
public simkit.random.RandomVariate getServiceTimeB() {
return serviceTimeB;
}
public int getNumberAvailableServersA() {
return numberAvailableServersA;
}
public int getNumberAvailableServersB() {
return numberAvailableServersB;
}
public int getQueue() {
return queue;
}
@Override
public String toString() {
return getName();
}
}
package examples;
public class TwoTypeServerAssembly extends viskit.assembly.ViskitAssembly {
public TwoTypeServerAssembly() {
super();
setStopTime(100.0);
setVerbose(false);
setNumberReplications(1);
setPrintReplicationReports(true);
setPrintSummaryReport(true);
setSaveReplicationData(false);
}
@Override
protected void createSimEntities() {
addSimEntity( "arrivalProcess",
new examples.ArrivalProcess(
simkit.random.RandomVariateFactory.getInstance(
"Exponential",
1.7
)
)
);
addSimEntity( "twoTypeServer",
new examples.TwoTypeServer(
1,
2,
simkit.random.RandomVariateFactory.getInstance(
"Exponential",
1.6
),
simkit.random.RandomVariateFactory.getInstance(
"Exponential",
1.6
)
)
);
addAdapter("adptr_0", "Arrival", "Arrival", "arrivalProcess_0", "twoTypeServer_1");
addAdapter("adptr0", "Arrival", "Arrival", "arrivalProcess", "twoTypeServer");
addAdapter("adptr_1", "Arrival", "Arrival", "arrivalProcess", "twoTypeServer");
super.createSimEntities();
}
@Override
public void createPropertyChangeListeners() {
addPropertyChangeListenerConnection("numAvailServersBStat", "numberAvailableServersB", "twoTypeServer");
addPropertyChangeListenerConnection("numAvailServersAStat", "numberAvailableServersA", "twoTypeServer");
addPropertyChangeListenerConnection("numberInQueueStat", "queue", "twoTypeServer");
super.createPropertyChangeListeners();
}
@Override
public void createReplicationStats() {
addReplicationStats("numAvailServersAStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberAvailableServersA"
)
);
addReplicationStatsListenerConnection("numAvailServersAStat", "numberAvailableServersA", "twoTypeServer");
addReplicationStats("numberInQueueStat",
new simkit.stat.SimpleStatsTimeVarying(
"queue"
)
);
addReplicationStatsListenerConnection("numberInQueueStat", "queue", "twoTypeServer");
addReplicationStats("numAvailServersBStat",
new simkit.stat.SimpleStatsTimeVarying(
"numberAvailableServersB"
)
);
addReplicationStatsListenerConnection("numAvailServersBStat", "numberAvailableServersB", "twoTypeServer");
super.createReplicationStats();
}
@Override
public void createDesignPointStats() {
super.createDesignPointStats();
}
@Override
public void printInfo() {
System.out.println();
System.out.println("Entity Details");
System.out.println("--------------");
System.out.println(getSimEntityByName("arrivalProcess"));
System.out.println(getSimEntityByName("twoTypeServer"));
System.out.println("--------------");
}
public static void main(String[] args) {
TwoTypeServerAssembly twoTypeServerAssembly = new TwoTypeServerAssembly();
new Thread(twoTypeServerAssembly).start();
}
}