from convergance_random_number import NORMAL, UNIFORM, RANDINT, TRIANGULAR, NumberGenerator from convergance_statistic import drawProbs # Entity Generation Random # INTERVAL_RATE = NumberGenerator(NORMAL, mu=1, sigma=3) INTERVAL_RATE = NumberGenerator(UNIFORM, a=3, b=6) # Delay Random DELAY_RATE_BAKER = NumberGenerator(UNIFORM, a=1, b=2) DELAY_RATE_ABLE = NumberGenerator(TRIANGULAR, low=5, high=15, mode=10) # DELAY_RATE_BAKER = NumberGenerator(RANDINT, a=1, b=7) # DELAY_RATE_ABLE = NumberGenerator(RANDINT, a=1, b=5) d1 = Disposer() d1.logs = True # 1 is Able's maximum simultanious clients dl1 = Delay(d1, DELAY_RATE_ABLE.next, None, 1) dl1.name = 'Able' dl1.logs = True # 1 is Baker's maximum simultanious clients dl2 = Delay(d1, DELAY_RATE_BAKER.next, None, 1) dl2.name = 'Baker' dl2.logs = True q1 = Queue([dl1, dl2]) q1.logs = True pr1 = ActorProbe(q1)
from convergance_statistic import drawProbs # Entity Generation Random # INTERVAL_RATE = NumberGenerator(NORMAL, mu=1, sigma=3) INTERVAL_RATE = NumberGenerator(UNIFORM, a=3, b=6) # Delay Random DELAY_RATE_BAKER = NumberGenerator(UNIFORM, a=1, b=2) DELAY_RATE_ABLE = NumberGenerator(TRIANGULAR, low=2, high=3, mode=6) # DELAY_RATE_BAKER = NumberGenerator(RANDINT, a=1, b=7) # DELAY_RATE_ABLE = NumberGenerator(RANDINT, a=1, b=5) d1 = Disposer() d1.logs = True # 1 is Able's maximum simultanious clients dl1 = Delay(d1, DELAY_RATE_ABLE.next, None, 1) dl1.name = 'Delay' dl1.logs = True q1 = Queue([dl1]) q1.logs = True pr1 = ActorProbe(q1) pr1.name = 'Queue Probe' q1.actorprobe = pr1 pr2 = ActorProbe(dl1)
from convergance_actor_queue import Queue from convergance_entity import Entity from convergance_actor_probe import ActorProbe from convergance_actor_branch import Branch from convergance_random_number import NORMAL, UNIFORM, RANDINT, TRIANGULAR, NumberGenerator from convergance_statistic import drawProbs, drawLeaveEnter INTERVAL_RATE = NumberGenerator(UNIFORM, a=1, b=4) DELAY_RATE_3 = NumberGenerator(TRIANGULAR, low=6, high=16, mode=10) DELAY_RATE_2 = NumberGenerator(UNIFORM, a=2, b=4) DELAY_RATE_1 = NumberGenerator(UNIFORM, a=0, b=4) MAX_ENTITIES = 100000 d1 = Disposer() d1.logs = False d1.deleteentityfrommemory = False ######################################################## dl4 = Delay(d1, DELAY_RATE_1.next, None, 1) dl4.name = "Delay 4" dl4.logs = False pr6 = ActorProbe(dl4) pr6.name = "Probe Delay 4" dl4.actorprobe = pr6 pr7 = ActorProbe(dl4) pr7.name = "Global Probe" pr7.calculatenumentities = True
from randomNumber import RANDINT, NumberGenerator import random a = NumberGenerator(RANDINT, a=1, b=2) def randomInterval(): return random.randint(1,2) def branchFunction(data): return random.randrange(0,2) def delayFunction(data): return random.randrange(2,5) d1 = Disposer() d1.name = "Disposer1" d1.logs = True d2 = Disposer() d2.name = "Disposer2" d2.logs = True dl1 = Delay(d2, delayFunction) dl1.name = "Delay1" dl1.logs = True b1 = Branch([d1, dl1], branchFunction) b1.name = "Branch1" b1.logs = True g1 = Generator(b1, Entity, None, randomInterval, 20) g1.name = "MyGenerator" g1.logs = True sim = Simulation() sim.logs = True
def randomInterval(): return random.randint(1, 2) def branchFunction(data): return random.randrange(0, 2) def delayFunction(data): return random.randrange(2, 5) d1 = Disposer() d1.name = "Disposer1" d1.logs = True d2 = Disposer() d2.name = "Disposer2" d2.logs = True dl1 = Delay(d2, delayFunction) dl1.name = "Delay1" dl1.logs = True b1 = Branch([d1, dl1], branchFunction) b1.name = "Branch1" b1.logs = True g1 = Generator(b1, Entity, None, randomInterval, 20) g1.name = "MyGenerator" g1.logs = True sim = Simulation() sim.logs = True