Execution flow is defined using Triggers, Guards and Effects. The simulation supports re-runs with alteration to the triggered events and supports viewing variables, the call stack and setting debug markers. There is also support for interaction with emulated User-Interface screens containing common UI fields.