A workflow should wait for a specific time to continue.
Relative deadlines for the workflow or child processes.
Dealing with time constraints should be optional. One solution would be to have spezial process types that are capable of managing time. And another solution would be to work with process managers that sit in front of the WorkflowProcessor and observe the message flow.
A combination of both solutions will be the first approach. The WorkflowEngine should provide a TimeTracker and a Process registers itself at the TimeTracker to delegate the observation to the TimeTracker.
Different scenarios can include time constraints:
Dealing with time constraints should be optional. One solution would be to have spezial process types that are capable of managing time. And another solution would be to work with process managers that sit in front of the WorkflowProcessor and observe the message flow.