Data-driven process generator
First Claim
1. A method for analyzing a sequence of process steps to determine whether the process steps can be re-sequenced as a data-driven process, the method comprising:
- (a) analyzing each process step for pass-through data items;
(b) analyzing each data item output by a process step for redundant data generation;
(c) analyzing each combination of step pairs for tight-loop iteration;
(d) analyzing for implied iteration while creating a sequence of process steps;
(e) analyzing each process step in the sequence having initial input data items for connected iteration;
(f) analyzing each process step in the sequence having initial input data items for non-converging iteration;
(g) analyzing each process step in the sequence having output data items that are initial input data items to another process step for inconsistent iteration;
(h) analyzing each process step in the sequence having initial inputs for incomplete iteration; and
(i) if no pass-through data items, redundant data generation, tightloop iteration, implied iteration, connected iteration, non-converging iteration, inconsistent iteration, or incomplete iteration are detected, indicating that the sequence of process steps can be re-sequenced as a data-driven process.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of analyzing process steps and creating a data-driven process is disclosed. A data-driven process is a process that has its steps sequenced according to data relationships among the process steps, and the rule that a step is placed in the sequence only when all of its inputs exist. A data-driven process can only be created when all steps may be placed in the sequence according to this rule. The method determines if a process is data-driven by checking to see if any of the individual steps causes one or more errors which would prevent data-driven sequencing, and, if any errors are found, error correction is attempted in order to create a data-driven process.
-
Citations
17 Claims
-
1. A method for analyzing a sequence of process steps to determine whether the process steps can be re-sequenced as a data-driven process, the method comprising:
-
(a) analyzing each process step for pass-through data items; (b) analyzing each data item output by a process step for redundant data generation; (c) analyzing each combination of step pairs for tight-loop iteration; (d) analyzing for implied iteration while creating a sequence of process steps; (e) analyzing each process step in the sequence having initial input data items for connected iteration; (f) analyzing each process step in the sequence having initial input data items for non-converging iteration; (g) analyzing each process step in the sequence having output data items that are initial input data items to another process step for inconsistent iteration; (h) analyzing each process step in the sequence having initial inputs for incomplete iteration; and (i) if no pass-through data items, redundant data generation, tightloop iteration, implied iteration, connected iteration, non-converging iteration, inconsistent iteration, or incomplete iteration are detected, indicating that the sequence of process steps can be re-sequenced as a data-driven process.
-
-
2. A method for creating a data-driven process from a plurality of process steps, each process step having associated lists of data items which are inputs, initial inputs, outputs, and initial outputs, the method comprising:
-
(a) analyzing each process step in the sequence to detect passthrough data items; (b) analyzing each data item output by a process step to detect redundant data generation; (c) analyzing each combination of step pairs to detect tight-loop iteration; (d) analyzing each process step in the sequence having initial input data items to detect connected iteration; (e) analyzing each process step in the sequence having initial input data items to detect non-converging iteration; (f) analyzing each process step in the sequence having output data items that are initial input data items to another process step to detect inconsistent iteration; (g) analyzing each process step in the sequence having initial inputs to detect incomplete iteration; and (h) modifying to eliminate all detected pass-through data items, redundant data generation, tight-loop iteration, connected iteration, non-converging iteration, inconsistent iteration, and incomplete iteration. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for creating a data-driven process from a plurality of process steps, the method comprising:
-
(a) creating a first list comprising all process steps to be sequenced; (b) processing the first list to correct for errors which would prevent data-driven sequencing; (c) adding to a second list all data items which are an input to a process step, but are not output by any process step in the first list; (d) adding to a third list all process steps in the first list for which all input data items are in the second list; (e) moving all process steps from the third list to a sequenced list as concurrent steps; (f) adding all data items which are outputs or initial inputs of the concurrent steps to the second list; (g) deleting the concurrent steps from the first list; and (h) repeating (d) through (g) until the first list is empty. - View Dependent Claims (11, 12, 13)
-
-
14. A method for creating a data-driven process from a plurality of process steps, the method comprising:
-
(a) creating a first list comprising all process steps to be sequenced, wherein an INPUTS list, an INITIAL INPUTS list, an OUTPUTS list, and an INITIAL OUTPUTS list is created for each process step; (b) analyzing process steps of the first list and the INPUTS lists, INITIAL INPUTS lists, OUTPUTS lists, and INITIAL OUTPUTS lists of the process steps for errors which would prevent data-driven sequencing; (c) correcting for errors which would prevent data-driven sequencing; (d) adding to a second list, all data items which are an input to a process step, but are not output by any process step in the first list; (e) adding to a third list, all process steps in the first list for which all input data items are in the second list; (f) moving all process steps from the third list to a sequenced list as steps which may be performed in parallel; (g) adding all data items which are outputs or initial inputs of the steps which may be performed in parallel to the second list; (h) deleting the steps which may be performed in parallel from the first list; and (i) repeating (e) through (h) until the first list is empty. - View Dependent Claims (15, 16)
-
-
17. A method for creating a data-driven process from a plurality of process steps, each process step having associated lists of data items which are inputs, initial inputs, outputs, and initial outputs, the method comprising:
-
(a) analyzing each process step to detect pass-through data items; (b) analyzing each data item output by a process step to detect redundant data generation; (c) analyzing each combination of step pairs to detect tight-loop iteration; (d) creating a data-driven sequence and concurrently analyzing for implied iteration; (e) modifying to eliminate all detected implied iteration; (f) analyzing each process step in the sequence having initial input data items to detect connected iteration; (g) analyzing each process step in the sequence having initial input data items to detect non-converging iteration; (h) analyzing each process step in the sequence having output data items that are initial input data items to another process step to detect inconsistent iteration; (i) analyzing each process step in the sequence having initial inputs to detect incomplete iteration; and (j) modifying to eliminate all detected pass-through data items, redundant data generation, tight-loop iteration, connected iteration, non-converging iteration, inconsistent iteration, and incomplete iteration.
-
Specification