STORAGE_CHECK_INTERVAL = 10 DAY_INTERVAL = 5000 BUY_RATE = NumberGenerator(UNIFORM, a=4, b=12) BUY_INTERVAL = NumberGenerator(UNIFORM, a=0, b=30) SELL_PRICE = 50 BUY_PRICE = 35 RECYCLE_PRICE = 5 class Newspaper(Entity): def __init__(self, data): Entity.__init__(self, data) self.status = SOLD d1 = Disposer() d1.name = "Bought Newspapers" d2 = Disposer() d2.name = "Recycled Newspapers" pr1 = ActorProbe(d1) pr1.name = 'Bought Newspapers Probe' d1.actorprobe = pr1 pr2 = ActorProbe(d2) pr2.name = 'Recycled Newspapers Probe' d2.actorprobe = pr2 def branchFunction(entity):
from convergance_actor_probe import ActorProbe 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