Patent ID: 8069439

Claim:
A method for enabling creation of control flow patterns in a workflow, said method comprising: generating, during execution of one or more program fragments by a meta-runtime engine, a plurality of continuations for each of the program fragments that have been suspended during execution, said meta-runtime engine virtualizing a managed execution environment having fixed functionality, each of the generated plurality of continuations representing an activity execution context for a corresponding suspended program fragment, each continuation permitting the corresponding suspended program fragment to subsequently resume executing from the point of suspended execution based on a user request; storing, by the meta-runtime engine, the generated plurality of continuations to create an execution journal for the suspended program fragments, said execution journal enabling the plurality of continuations to execute multiple times and in arbitrary order; enabling, by the meta-runtime engine, the user to browse the execution journal via an application programming interface exposed by the meta-runtime engine, said execution journal indicating which of the continuations are being executed in the managed execution environment and which of the continuations are not being executed in the managed execution environment; and receiving, by the meta-runtime engine, a selection from the user of one of the stored continuations from the execution journal for which to resume the execution of the corresponding suspended program fragment; retrieving, by the meta-runtime engine, the selected continuation responsive to the request from a user to resume the execution of the corresponding suspended program fragment; recreating, by the meta-runtime engine, the activity execution context associated with the retrieved continuation prior to being stored in the execution journal; and resuming, by the meta-runtime engine, execution of the suspended program fragment corresponding to the retrieved continuation within the re-created activity execution context in the managed execution environment, said retrieved continuation being made available in the journal to any user based on the virtualized execution previously executed to generate the continuations, said resuming being independent of how many times the re-created activity is executed and independent of the real-time actual platform of the user in which the re-created activity is executed via the managed execution environment.