def main():
    print "Replay started"
    pl = Pipeline()
    pl.addStep(EventGenerator(interval=3000, number=1000))
    pl.addStep(TroubleInjector())
    dev = dm.getDevice()
    pl.addStep(TroubleReplayer(dev))
    pl.execute()
    print "Replay finished"
Example #2
0
Q1 = Queue('Q1', 'Queue1', capacity=infinity)
M2 = Machine('M2', 'Machine2', mean=0.75)
Q2 = Queue('Q2', 'Queue2', capacity=infinity)
E = Exit('E1', 'Exit')

#define predecessors and successors for the objects
S.defineRouting([M1])
M1.defineRouting([S], [Q1])
Q1.defineRouting([M1], [M2])
M2.defineRouting([Q1], [Q2])
Q2.defineRouting([M2])

argumentDict = {'from': 'Q2', 'to': 'E1', 'safetyStock': 70, 'consumption': 20}
EG = EventGenerator(id="EV",
                    name="ExcessEntitiesMover",
                    start=60,
                    interval=60,
                    method=Globals.moveExcess,
                    argumentDict=argumentDict)
G.ObjList = [S, M1, M2, E, Q1, Q2, EG]

initialize()  #initialize the simulation (SimPy method)

for object in G.ObjList:
    object.initialize()

for object in G.ObjList:
    activate(object, object.run())

G.maxSimTime = 400
simulate(until=G.maxSimTime)  #run the simulation