model.py 570 B

12345678910111213141516171819202122
  1. import sys
  2. sys.path.append("../../src/")
  3. from DEVS import *
  4. class Generator(AtomicDEVS):
  5. def __init__(self, num, ta):
  6. AtomicDEVS.__init__(self, "Generator" + str(num))
  7. self.state = None
  8. self.ta = ta
  9. def timeAdvance(self):
  10. return self.ta
  11. class StaticModel(CoupledDEVS):
  12. def __init__(self, size, actives):
  13. CoupledDEVS.__init__(self, "Root")
  14. ta_counter = 0
  15. for i in range(size):
  16. self.addSubModel(Generator(i, 1.0 if ta_counter < actives else float('inf')))
  17. ta_counter += 1