SMC generates finite state machines for objects - not processes or applications but for an individual object. If you have objects that receive asynchronous callbacks and how objects respond to those callbacks are based on the object state, then SMC provides a powerful solution.
(Note: this example is based on simple Java and is easily translated to other languages. Also, this example assumes that you know object-oriented programming and finite state machines (FSMs).)
In this example you are developing a Task object as part
of your SuperCron! product:
(Note: The ellipsis (...) code will be filled in as we go along.)
How the Task class should respond to the
suspend, etc. method calls
depends on what the Task is currently doing - that is, it
depends on the Task's state.