예제 #1
0
q1.logs = True

pr1 = ActorProbe(q1)
pr1.name = 'Queue Probe'
q1.actorprobe = pr1

pr2 = ActorProbe(dl1)
pr2.name = 'Delay Probe'
dl1.actorprobe = pr2


g1 = AutomaticGenerator(q1, Entity, None, INTERVAL_RATE.next, 200)
g1.logs = True

sim = Simulation()
sim.logs = True

sim.addactor(d1)
sim.addactor(q1)
sim.addactor(dl1)
sim.addactor(g1)

sim.addprobe(pr1)
sim.addprobe(pr2)

sim.start()

drawProbs(pr1.calculatestatistics()[1], sim.tick, 'queue')
drawProbs(pr2.calculatestatistics()[1], sim.tick, 'delay')

print("Queue Utilization:", pr1.calculatestatistics()[0])
예제 #2
0
e2.name = "Day Cycle Event"


def buyEvent():
    global s1
    global BUY_RATE

    s1.release(int(BUY_RATE.next()))


e3 = EventGenerator(buyEvent, BUY_INTERVAL.next)
e3.name = "Buy Event"

sim = Simulation()
sim.maxtick = 50000
sim.logs = True

sim.addactor(d1)
sim.addactor(d2)
sim.addactor(b1)
sim.addactor(s1)
sim.addactor(g1)
sim.addactor(e1)
sim.addactor(e2)
sim.addactor(e3)

sim.addprobe(pr1)
sim.addprobe(pr2)
sim.addprobe(pr3)

sim.start()
예제 #3
0
pr1 = ActorProbe(q2)
pr1.name = "Probe Queue 2"
q2.actorprobe = pr1

########################################################

branchFunction = NumberGenerator(RANDINT, a=0, b=1)
b1 = Branch([q3, q2], branchFunction.next)

b1.actorenterprobe = pr7

g1 = AutomaticGenerator(b1, Entity, None, INTERVAL_RATE.next, MAX_ENTITIES)
g1.logs = False

sim = Simulation()
sim.logs = False

sim.addactor(g1)
sim.addactor(b1)
sim.addactor(d1)
sim.addactor(q2)
sim.addactor(dl2)
sim.addactor(q3)
sim.addactor(dl3)
sim.addactor(q4)
sim.addactor(dl4)

sim.addprobe(pr1)
sim.addprobe(pr2)
sim.addprobe(pr3)
sim.addprobe(pr4)