Unified model for authoring and executing flow-based and constraint-based workflows
First Claim
Patent Images
1. A computer-implemented system representing a workflow model, said computer-implemented system comprising:
- a system memory for storing data associated with a structured plurality of activities and an unstructured plurality of activities; and
a processor configured to execute computer-executable instructions for;
a workflow having the structured plurality of activities and the unstructured plurality of activities, said structured plurality of activities being different from said unstructured plurality of activities, said unstructured plurality of activities each having a constraint associated therewith from a user, said associated constraint including a function that enables the associated unstructured activity for execution when the constraint is satisfied, wherein the structured plurality of activities are well-defined control flow activities that are executed based on a flow sequence and the structured plurality of activities are complete when an endpoint for the structured plurality of activities is reached, and wherein each of the unstructured plurality of activities is an activity that is executed not based on the flow sequence, is executed in any order, and is executed whenever the associated constraint of an unstructured activity of the unstructured plurality of activities is satisfied;
a merged workflow, created by merging the structured plurality of activities and the unstructured plurality of activities, wherein the processor groups said merged workflow as a grouping of activities from the structured plurality of activities and the unstructured plurality of activities, wherein a course of execution of the unstructured plurality of activities is guided by the constraints associated with the unstructured plurality of activities;
a constrained activity group (CAG) including one or more of the unstructured plurality of activities, said CAG defining at least one of the following conditions for the one or more of the unstructured plurality of activities in the CAG;
the associated constraint can be disabled at any time after the constraint has been enabled;
when an enabled constraint becomes true, the enabled constraint declares that the associated activity is ready for execution and must be enabled;
when a completion condition of an executing activity is evaluated to be true at any time, any and all executing activities contained within the CAG are immediately cancelled; and
a runtime engine, said runtime engine;
executing the structured plurality of activities in the merged workflow according to the flow sequence;
during executing the structured plurality of activities, determining a change in the constraints for the unstructured plurality of activities in the merged workflow, said change resulting from changes to data in the function included in the associated constraint;
enabling the execution of each of the unstructured plurality of activities in the CAG when the associated constraint is satisfied as a function of the determined change; and
executing each of the unstructured plurality of activities in the CAG as a function of the enabling, wherein the execution of the structured plurality of activities and the unstructured plurality of activities in the merged workflow is complete when all of the unstructured plurality of activities are in a complete or cancelled state as a function of the executing.
2 Assignments
0 Petitions
Accused Products
Abstract
Designing and executing a workflow having flow-based and constraint-based regions. A user selects one or more activities to be part of a constraint-based region. Each constraint-based region has a constraint associated therewith. The workflow is executed by executing the flow-based region and the constraint-based region. The flow-based region executes sequentially. The constraint is evaluated, and the constraint-based region executes responsive to the evaluated constraint.
-
Citations
19 Claims
-
1. A computer-implemented system representing a workflow model, said computer-implemented system comprising:
-
a system memory for storing data associated with a structured plurality of activities and an unstructured plurality of activities; and a processor configured to execute computer-executable instructions for; a workflow having the structured plurality of activities and the unstructured plurality of activities, said structured plurality of activities being different from said unstructured plurality of activities, said unstructured plurality of activities each having a constraint associated therewith from a user, said associated constraint including a function that enables the associated unstructured activity for execution when the constraint is satisfied, wherein the structured plurality of activities are well-defined control flow activities that are executed based on a flow sequence and the structured plurality of activities are complete when an endpoint for the structured plurality of activities is reached, and wherein each of the unstructured plurality of activities is an activity that is executed not based on the flow sequence, is executed in any order, and is executed whenever the associated constraint of an unstructured activity of the unstructured plurality of activities is satisfied; a merged workflow, created by merging the structured plurality of activities and the unstructured plurality of activities, wherein the processor groups said merged workflow as a grouping of activities from the structured plurality of activities and the unstructured plurality of activities, wherein a course of execution of the unstructured plurality of activities is guided by the constraints associated with the unstructured plurality of activities; a constrained activity group (CAG) including one or more of the unstructured plurality of activities, said CAG defining at least one of the following conditions for the one or more of the unstructured plurality of activities in the CAG;
the associated constraint can be disabled at any time after the constraint has been enabled;
when an enabled constraint becomes true, the enabled constraint declares that the associated activity is ready for execution and must be enabled;
when a completion condition of an executing activity is evaluated to be true at any time, any and all executing activities contained within the CAG are immediately cancelled; anda runtime engine, said runtime engine; executing the structured plurality of activities in the merged workflow according to the flow sequence; during executing the structured plurality of activities, determining a change in the constraints for the unstructured plurality of activities in the merged workflow, said change resulting from changes to data in the function included in the associated constraint; enabling the execution of each of the unstructured plurality of activities in the CAG when the associated constraint is satisfied as a function of the determined change; and executing each of the unstructured plurality of activities in the CAG as a function of the enabling, wherein the execution of the structured plurality of activities and the unstructured plurality of activities in the merged workflow is complete when all of the unstructured plurality of activities are in a complete or cancelled state as a function of the executing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for modeling a workflow, said workflow representing a business process, said method comprising:
-
presenting a plurality of activities to a user; receiving from the user a first selection of the presented activities and a flow specification associated therewith; grouping, by a computer, the received first selection of activities in accordance with the received flow specification, said received first selection of activities being well-defined control flow activities that are processed based on the flow specification and that are complete when an endpoint for the activities is reached; receiving, by the computer, from the user another selection of the presented activities and a constraint associated with each of the presented activities from the another selection, said associated constraint including a function that enables the associated presented activity for execution when the constraint is satisfied, said presented activities from the received first selection being different from the presented activities from the another selection, wherein each of the presented activities from the another selection is an activity that is executed not based on the flow specification, is executed in any order, and is executed whenever the associated constraint of an activity from the another selection is satisfied; generating, by the computer, a constrained activity group (CAG) including one or more of the presented activities from the another selection, said CAG defining at least one of the following conditions for the one or more of the presented activities from the another selection in the CAG;
the associated constraint can be disabled at any time after the constraint has been enabled;
when an enabled constraint becomes true, the enabled constraint declares that the associated activity is ready for execution and must be enabled;
when a completion condition of an executing activity is evaluated to be true at any time, any and all executing activities contained within the CAG are immediately cancelled;merging, by the computer, the received other selection of the presented activities with the grouped selection of activities to create a workflow; executing, by the computer, the presented activities from the first selection in the merged workflow according to the flow specification; during executing the presented activities from the first selection, determining, by the computer, a change in the constraint for the activities from the another selection in the merged workflow, said change resulting from changes to data in the function included in the associated constraint; and enabling, by the computer, the execution of each of the presented activities from the another selection in the CAG when the associated constraint is satisfied as a function of the determined change, wherein a course of execution of the merged workflow is guided by the constraints associated with the contained activities from the another selection of the user. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer executable program product comprising computer executable component tangibly embodied on computer storage media that, when executed by a computer, perform the method steps for modeling a workflow having a flow-based region and a constraint-based region, comprising:
-
a display component for presenting a plurality of activities to a user; an interface component for receiving from the user a first selection of the presented activities and a flow specification associated therewith, said received first selection of activities being well-defined control flow activities that are processed based on the flow specification and that are complete when an endpoint for the activities is reached, said interface component further receiving from the user another selection of the presented activities and a constraint associated with each of the presented activities from the another selection, said associated constraint for each of the presented activities from the another selection including a function that enables the presented activities for execution when the constraint is satisfied, said presented activities of the received first selection being different from the presented activities of the another selection, wherein each of the presented activities from the another selection of the presented activities is an activity that is executed not based on the flow specification, is executed in any order, and is executed whenever the associated constraint of the presented activities from the other selection is satisfied; and a designer component for grouping the received selection of activities in accordance with the received flow specification, said designer component generating a constrained activity group (CAG) including one or more of the presented activities from the another selection, said CAG defining at least one of the following conditions for the one or more of the presented activities from the another selection in the CAG;
the associated constraint can be disabled at any time after the constraint has been enabled;
when an enabled constraint becomes true, the enabled constraint declares that the associated activity is ready for execution and must be enabled;
when a completion condition of an executing activity is evaluated to be true at any time, any and all executing activities contained within the CAG are immediately cancelled, said designer component further merging the received other selection of the presented activities with the grouped selection of activities to create a workflow;wherein the designer component presents the activities from the first selection in the merged workflow according to the flow specification; during executing the presented activities from the first selection, wherein the designer component determines a change in the constraint in the activities from the another selection in the merged workflow, said change resulting from changes to data in the function included in the associated constraint; and wherein the designer component enables the execution of each of the presented activities from the another selection in the CAG when the associated constraint is satisfied as a function of the determined change, wherein a course of execution of the merged workflow is guided by the constraints associated with the contained activities from the another selection of the user. - View Dependent Claims (16, 17, 18, 19)
-
Specification