Patent ID: 7168077
Filing Date: 2007-01-23
Classification: G06Q

Abstract:
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.