Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Deferred was translated via deferred guard
    • Problem: Cannot be scheduled for some cases (if immediate transition back to state that was active before deferred transition was active)
  • Solution:
    • Split state that is reached by deferred in deferred state and original state where the deferred state has only delayed outgoing transitions
    • Do this only if it is otherwise not schedulable, since this transformation is expensive
    • Private variables are upped one level to be used in both states
  • Weak suspend should work now with the new deferred implementation
  • Problem with weak suspend
    • entry and exit action are executed every tick
  • Solution
    • Put entry and exit actions in own state before/after the state they refer to
  • Shallow deferred does not regard actions
    • It should do this somehow
  • Shallow and deep deferred should use actions the same way