experiment_time_jump.py 736 B

123456789101112131415161718192021222324252627282930
  1. import sys
  2. import time
  3. sys.path.append("../src/")
  4. from python_runtime.statecharts_core import Event
  5. import random
  6. random.seed(1)
  7. import sccd
  8. from model import Root
  9. omniscient = (float(sys.argv[1]), int(sys.argv[2]))
  10. params = (int(sys.argv[3]), int(sys.argv[4]), float(sys.argv[5]))
  11. controller = sccd.Controller(Root(*params), omniscient)
  12. reply_port = controller.addOutputListener('reply')
  13. controller.start()
  14. params = [{"termination_time": 1000}]
  15. controller.addInput(Event("simulate", "request", params))
  16. reply_port.fetch(-1)
  17. reply_port.fetch(-1)
  18. reply_port.fetch(-1)
  19. params = [500]
  20. start = time.time()
  21. controller.addInput(Event("jump", "request", params))
  22. reply_port.fetch(-1)
  23. end = time.time()
  24. controller.stop()
  25. print(end - start)