Jump to content

How to pause model time and resume on an external signal?


Recommended Posts

Posted

Hello,

I have a question about controlling model time during execution.

 

Goal
At certain decision points, I need to pause the entire model clock (not just a single token/process), wait for an external signal, apply updates, and then resume at the same simulation time. The intended sequence is:

  1. Pause simulation time at a decision epoch
  2. Wait for an external signal
  3. Apply updates inside the model
  4. Resume with no time elapsing during the wait

Questions

  • Is there a built-in Step or pattern that halts model time (i.e., the whole event calendar) until a condition/external signal is met?
  • If not, what is the recommended approach to enforce a synchronous pause/resume without allowing any other events to fire?
  • Is there an API to single-step (e.g., “run next event”) or “run to time T” so that an external controller can deterministically gate progress?
  • For a custom UserExtension Step, is it supported/safe to block until a signal arrives, or is there a recommended non-blocking pattern that still guarantees no time advance?
  • If a global pause is the only supported pattern, what is the correct way to wire this into model logic so that resume occurs immediately when the signal arrives?

Any pointers, examples, or documentation references would be greatly appreciated.
Many thanks in advance.

×
×
  • Create New...