System and method of executing and controlling workflow processes
First Claim
1. A method of building, executing and controlling a workflow process without using a compiled workflow engine to execute and control the workflow process wherein the method is performed by a computer and comprises steps of:
- providing a control logic for the workflow process;
providing a process model for the workflow process;
creating a message that requests execution of an activity, the message including activity-specific data and activity status data;
processing the message according to the process model and control logic for the workflow process; and
wherein the activity is comprised of one activity or a plurality of sub-activities, and the control logic includes at least one logic instruction selected from the group consisting of;
a serial instruction indicating that the activity should be executed promptly, and if the activity executes successfully then a completed status is associated with the activity, and if the activity does not execute successfully then a failed status is associated with the activity,an AND-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if all of the sub-activities execute successfully then a completed status is associated with the activity, and if any of the sub-activities do not execute successfully then a failed status is associated with the activity,an OR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity,an XOR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed in order of decreasing priority, from highest priority to lowest priority, until either a sub-activity executes successfully or the sub-activity having the lowest priority does not execute successfully, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity,a CON-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, a determination is made if each sub-activity meets a specified condition, and if all sub-activities that meet the specified condition execute successfully then a completed status is associated with the activity, and if all of the sub-activities that meet the condition do not execute successfully then a failed status is associated with the activity,an iteration instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should be executed cyclically until a determination is made if a specified iteration condition is satisfied, and if the iteration condition is satisfied then a completed status is associated with the activity.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of executing and controlling a workflow process includes a request-response control process for coordinating activities between a plurality of entities, whereby an entity creates and sends a message requesting execution of an activity and another entity receives, parses and responds to the request. The message includes activity-specific data and activity status data. The activity status data signifies, for example, whether a corresponding activity has been successfully performed (i.e., completed) or failed. Process information, including control logic for the workflow process, is specified in an at least one uncompiled document, which may include an extensible stylesheet and an extensible markup language document. A document type definition defines the structure of the document. The control logic may include serial, AND-parallel, OR-parallel, XOR-parallel, CON-parallel and iterative instructions and a definition of successful completion and/or failure for an activity according to the control logic. The control logic also specifies a forward transition for a completed activity and a backward transition for a failed activity. A parser processes the message according to the control logic for the workflow process and the document type definition. A compiled workflow engine and database are not required.
-
Citations
27 Claims
-
1. A method of building, executing and controlling a workflow process without using a compiled workflow engine to execute and control the workflow process wherein the method is performed by a computer and comprises steps of:
-
providing a control logic for the workflow process; providing a process model for the workflow process; creating a message that requests execution of an activity, the message including activity-specific data and activity status data; processing the message according to the process model and control logic for the workflow process; and wherein the activity is comprised of one activity or a plurality of sub-activities, and the control logic includes at least one logic instruction selected from the group consisting of; a serial instruction indicating that the activity should be executed promptly, and if the activity executes successfully then a completed status is associated with the activity, and if the activity does not execute successfully then a failed status is associated with the activity, an AND-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if all of the sub-activities execute successfully then a completed status is associated with the activity, and if any of the sub-activities do not execute successfully then a failed status is associated with the activity, an OR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, an XOR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed in order of decreasing priority, from highest priority to lowest priority, until either a sub-activity executes successfully or the sub-activity having the lowest priority does not execute successfully, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, a CON-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, a determination is made if each sub-activity meets a specified condition, and if all sub-activities that meet the specified condition execute successfully then a completed status is associated with the activity, and if all of the sub-activities that meet the condition do not execute successfully then a failed status is associated with the activity, an iteration instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should be executed cyclically until a determination is made if a specified iteration condition is satisfied, and if the iteration condition is satisfied then a completed status is associated with the activity. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for executing and controlling a workflow process without a compiled workflow engine to execute and control the workflow process, comprising:
-
means for providing a control logic for the workflow process; means for providing a process model for the workflow process; means for creating a message that requests execution of an activity, the message including activity-specific data and activity status data; means for processing the message according to the process model and control logic for the workflow; and wherein the activity is comprised of one activity or a plurality of sub-activities, and the control logic includes at least one logic instruction selected from the group consisting of; a serial instruction indicating that the activity should be executed promptly, execution of the activity is completed if the activity is performed, and execution of the activity is failed if the activity does not perform, an AND-parallel instruction, the AND-parallel indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if all of the sub-activities execute successfully then a completed status should be associated with the activity, and if any of the sub-activities do not execute successfully then a failed status should be associated with the activity, an OR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, an XOR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed in order of decreasing priority, from highest priority to lowest priority, until either a sub-activity executes successfully or the sub-activity having the lowest priority does not execute successfully, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, a CON-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, a determination is made if each sub-activity meets a specified condition, and if all sub-activities that meet the specified condition execute successfully then a completed status is associated with the activity, and if all of the sub-activities that meet the condition do not execute successfully then a failed status is associated with the activity, an iteration instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should be executed cyclically until a determination is made if a specified iteration condition is satisfied, and if the iteration condition is satisfied then a completed status is associated with the activity, and the system further includes means for associating a completed status with the activity if the activity executes successfully, and means for associating a failed status with the activity if the activity does not execute successfully. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of building, executing and controlling a workflow process without using a compiled workflow engine to execute and control the workflow process, wherein the method is performed by a computer and comprises steps of:
-
analyzing the workflow process into a unit; arranging the unit under a set of rules; associating the unit with a workflow control logic; creating a process model; requesting an activity; processing the activity based on the process model and the workflow control logic; and sending a response when the activity is complete, wherein the process model is specified in a document type definition language, wherein the activity is specified in a extensible mark up language, wherein the workflow control logic is specified in an extensible style sheet language, and wherein the workflow control logic is comprised of at least one instruction from the group consisting of; a serial instruction indicating that an activity should be executed promptly, and if the activity executes successfully then a completed status is associated with the activity, and if the activity does not execute successfully then a failed status is associated with the activity, an AND-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if all of the sub-activities execute successfully then a completed status is associated with the activity, and if any of the sub-activities do not execute successfully then a failed status is associated with the activity, an OR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, an XOR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed in order of decreasing priority, from highest priority to lowest priority, until either a sub-activity executes successfully or the sub-activity having the lowest priority does not execute successfully, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, a CON-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, a determination is made if each sub-activity meets a specified condition, and if all sub-activities that meet the specified condition execute successfully then a completed status is associated with the activity, and if all of the sub-activities that meet the condition do not execute successfully then a failed status is associated with the activity, an iteration instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should be executed cyclically until a determination is made if a specified iteration condition is satisfied, and if the iteration condition is satisfied then a completed status is associated with the activity. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A system for executing and controlling a workflow process without a compiled workflow engine to execute and control the workflow process, comprising:
-
a message processor; a process unit that defines a process model; a control unit that provides a workflow control logic; and a message unit that sends and receives a message between activities; and wherein each activity is comprised of one activity or a plurality of sub-activities, and the control unit comprises a control logic that includes at least one logic instruction selected from the group consisting of; a serial instruction indicating that the activity should be executed promptly, execution of the activity is completed if the activity is performed, and execution of the activity is failed if the activity does not perform, an AND-parallel instruction, the AND-parallel indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if all of the sub-activities execute successfully then a completed status should be associated with the activity, and if any of the sub-activities do not execute successfully then a failed status should be associated with the activity, an OR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, an XOR-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed in order of decreasing priority, from highest priority to lowest priority, until either a sub-activity executes successfully or the sub-activity having the lowest priority does not execute successfully, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity, a CON-parallel instruction indicating that, if the activity is comprised of a plurality of sub-activities, a determination is made if each sub-activity meets a specified condition, and if all sub-activities that meet the specified condition execute successfully then a completed status is associated with the activity, and if all of the sub-activities that meet the condition do not execute successfully then a failed status is associated with the activity, an iteration instruction indicating that, if the activity is comprised of a plurality of sub-activities, the sub-activities should be executed cyclically until a determination is made if a specified iteration condition is satisfied, and if the iteration condition is satisfied then a completed status is associated with the activity, and the system further includes means for associating a completed status with the activity if the activity executes successfully, and means for associating a failed status with the activity if the activity does not execute successfully. - View Dependent Claims (22, 23, 24)
-
-
25. A method for defining a process control logic and a process model for a workflow, wherein the method is performed by a computer and comprises steps of:
-
creating a block model representing a workflow process, and transforming the block model into one or more uncompiled computer processable documents that do not require a compiled workflow engine for processing, with the one or more uncompiled computer processable documents defining a process control logic and a process model, wherein the block model is comprised of a tree-structured model of blocks, wherein the blocks in the tree of blocks include one or more blocks from the group comprising; an AND-parallel block indicating that, if an activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if all of the sub-activities execute successfully then a completed status is associated with the activity, and if any of the sub-activities do not execute successfully then a failed status is associated with the activity; an OR-parallel block indicating that, if an activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed concurrently, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity; an XOR-parallel block indicating that, if an activity is comprised of a plurality of sub-activities, the sub-activities should promptly be executed in order of decreasing priority, from highest priority to lowest priority, until either a sub-activity executes successfully or the sub-activity having the lowest priority does not execute successfully, and if a sub-activity executes successfully then a completed status is associated with the activity, and if all of the sub-activities do not execute successfully then a failed status is associated with the activity; a CON-parallel block indicating that, if an activity is comprised of a plurality of sub-activities, a determination is made if each sub-activity meets a specified condition, and if all sub-activities that meet the specified condition execute successfully then a completed status is associated with the activity, and if all of the sub-activities that meet the condition do not execute successfully then a failed status is associated with the activity; and an iteration block indicating that, if an activity is comprised of a plurality of sub-activities, the sub-activities should be executed cyclically until a determination is made if a specified iteration condition is satisfied, and if the iteration condition is satisfied then a completed status is associated with the activity. - View Dependent Claims (26, 27)
-
Specification