Generating process models from workflow logs
First Claim
Patent Images
1. A method of generating a graph model of a process executed by a computer, comprising the steps of:
- (a) under control of the computer, automatically identifying one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and
(b) under control of the computer, automatically analyzing the log to identify relationships between the activities to create the graph model of the process.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method, apparatus, and article of manufacture that constructs graph models from logs of past, unstructured executions of the given process. The graph model so produced conforms to the dependencies and past executions present in the log. By providing graph models that capture the previous executions of the process, this technique allows easier introduction of a workflow system and evaluation and evolution of existing processes.
185 Citations
49 Claims
-
1. A method of generating a graph model of a process executed by a computer, comprising the steps of:
-
(a) under control of the computer, automatically identifying one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) under control of the computer, automatically analyzing the log to identify relationships between the activities to create the graph model of the process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method of generating a graph model of a process executed by a computer, comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing step further comprises the steps; (1) initializing the graph model, wherein E is initially empty; (2) for each process in the log L and for each pair of activities u,v in the log L such that the activity u terminates before the activity v starts, add an edge (u,v) to E; (3) removing edges from E that appear in both directions; and (4) computing a transitive reduction of G, wherein the transitive reduction is a smallest sub-graph of G that has a same closure as G.
-
-
31. A method of generating a graph model of a process executed by a computer, comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing step further comprises the steps; (1) initializing the graph model, where E is initially empty; (2) for each process execution in the log L, and for each pair of activities u,v such that the activity u terminates before the activity v starts, add an edge (u,v) to E; (3) removing edges from E that appear in both directions; (4) for each strongly connected component of the graph model G, removing all edges from E that are between vertices in the strongly connected component; (5) for each process execution in the log L; (i) finding an induced sub-graph of G; (ii) computing a transitive reduction of the induced sub-graph of G; and (iii) marking those edges in E that are present in the transitive reduction; and (6) removing unmarked edges from E. - View Dependent Claims (32)
-
-
33. A method of generating a graph model of a process executed by a computer, comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing step further comprises the steps; (1) initializing the graph model, where E is initially empty; (2) examining each execution in the log L and uniquely identifying each activity recorded in the log L, so as to create a new set of vertices defined as V'"'"' and a new graph model defined as G=(V'"'"',E'"'"'); (3) for each process execution in the log L and for each pair of activities u,v such that the activity u terminates before the activity v starts, adding an edge (u,v) to E'"'"'; (4) removing edges from E'"'"' that appear in both directions; (5) for each strongly connected component of the graph model G, removing all edges from E'"'"' that are between vertices in the strongly connected component; (6) for each process execution present in the log L; (i) finding an induced sub-graph of the graph model G'"'"'; (ii) computing a transitive reduction of the sub-graph; and (iii) marking those edges in E'"'"' that are present in the transitive reduction; (7) removing unmarked edges from E'"'"'; and (8) in the graph model so obtained by steps (1)-(7) above, merging the vertices that correspond to different instances of a same activity in the graph model, thus reverting to an original act of vertices V.
-
-
34. A method of generating a graph model of a process executed by a computer, comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the analyzing step further comprises the steps of; (1) finding a topological order of the graph model; (2) maintaining two arrays for each vertex v of the graph model, wherein a first array stores descendants of the vertex v, and a second array stores successors of vertex v; and (3) visiting each vertex in the graph model in reverse topological order. - View Dependent Claims (35)
-
-
36. A computer-implemented apparatus for generating a graph model of a process executed by a computer, comprising:
-
(a) a computer having a monitor attached thereto; and (b) means, performed by the computer, for; (1) under control of the computer, automatically identifying one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (2) under control of the computer, automatically analyzing the log to identify relationships between the activities to create the graph model of the process.
-
-
37. An article of manufacture comprising a computer program carrier readable by a computer and embodying one or more instructions executable by the computer to perform method steps of generating a graph model of a process executed by a computer, the method comprising the steps of:
-
(a) under control of the computer, automatically identifying one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) under control of the computer, automatically analyzing the log to identify relationships between the activities to create the graph model of the process.
-
-
38. A computer-implemented apparatus for generating a graph model of a process executed by a computer, comprising:
-
(a) a computer having a monitor attached thereto; and (b) means, performed by the computer, for; (i) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (ii) analyzing the patterns in the computer to create the graph model of the process wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing means further comprises means for; (1) initializing the graph model, wherein E is initially empty; (2) for each process in the log L and for each pair of activities u,v in the log L such that the activity u terminates before the activity v starts, add an edge (u,v) to E; (3) removing edges from E that appear in both directions; and (4) computing a transitive reduction of G, wherein the transitive reduction is a smallest sub-graph of G that has a same closure as G.
-
-
39. A computer-implemented apparatus for generating a graph model of a process executed by a computer, comprising:
-
(a) a computer having a monitor attached thereto; and (b) means, performed by the computer, for; (i) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (ii) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing means further comprises means for; (1) initializing the graph model, where E is initially empty; (2) for each process execution in the log L, and for each pair of activities u,v such that the activity u terminates before the activity v starts, add an edge (u,v) to E; (3) removing edges from E that appear in both directions; (4) for each strongly connected component of the graph model G, removing all edges from E that are between vertices in the strongly connected component; (5) for each process execution in the log L; (i) finding an induced sub-graph of G; (ii) computing a transitive reduction of the induced sub-graph of G; and (iii) marking those edges in E that are present in the transitive reduction; and (6) removing unmarked edges from E. - View Dependent Claims (40)
-
-
41. A computer-implemented apparatus for generating a graph model of a process executed by a computer, comprising:
-
(a) a computer having a monitor attached thereto; and (b) means, performed by the computer, for; (i) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (ii) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and wherein the analyzing means further comprises means for; (1) initializing the graph model, where E is initially empty; (2) examining each execution in the log L and uniquely identifying each activity recorded in the log L, so as to create a new set of vertices defined as V'"'"' and a new graph model defined as G=(V'"'"',E'"'"'); (3) for each process execution in the log L and for each pair of activities u,v such that the activity u terminates before the activity v starts, adding an edge (u,v) to E'"'"'; (4) removing edges from E'"'"' that appear in both directions; (5) for each strongly connected component of the graph model G, removing all edges from E'"'"' that are between vertices in the strongly connected component; (6) for each process execution present in the log L; (i) finding an induced sub-graph of the graph model G'"'"'; (ii) computing a transitive reduction of the sub-graph; and (iii) marking those edges in E'"'"' that are present in the transitive reduction; (7) removing unmarked edges from E'"'"'; and (8) in the graph model so obtained by means (1)-(7) above, merging the vertices that correspond to different instances of a same activity in the graph model, thus reverting to an original act of vertices V.
-
-
42. A computer-implemented apparatus for generating a graph model of a process executed by a computer, comprising:
-
(a) a computer having a monitor attached thereto; and (b) means, performed by the computer, for; (i) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (ii) analyzing the patterns in the computer to create the graph model of the process, wherein the analyzing means further comprises means for; (1) finding a topological order of the graph model; (2) maintaining two arrays for each vertex v of the graph model, wherein a first array stores descendants of the vertex v, and a second array stores successors of vertex v; and (3) visiting each vertex in the graph model in reverse topological order. - View Dependent Claims (43)
-
-
44. An article of manufacture comprising a computer program carrier readable by a computer and embodying one or more instructions executable by the computer to perform method steps of generating a graph model of a process executed by a computer, the method comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing step further comprises the steps; (1) initializing the graph model, wherein E is initially empty; (2) for each process in the log L and for each pair of activities u,v in the log L such that the activity u terminates before the activity v starts, add an edge (u,v) to E; (3) removing edges from E that appear in both directions; and (4) computing a transitive reduction of G, wherein the transitive reduction is a smallest sub-graph of G that has a same closure as G.
-
-
45. An article of manufacture comprising a computer program carrier readable by a computer and embodying one or more instructions executable by the computer to perform method steps of generating a graph model of a process executed by a computer, the method comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing step further comprises the steps; (1) initializing the graph model, where E is initially empty; (2) for each process execution in the log L, and for each pair of activities u,v such that the activity u terminates before the activity v starts, add an edge (u,v) to E; (3) removing edges from L that appear in both directions; (4) for each strongly connected component of the graph model G, removing all edges from E that are between vertices in the strongly connected component; (5) for each process execution in the log L; (i) finding an induced sub-graph of G; (ii) computing a transitive reduction of the induced sub-graph of G; and (iii) marking those edges in E that are present in the transitive reduction; and (6) removing unmarked edges from E. - View Dependent Claims (46)
-
-
47. An article of manufacture comprising a computer program carrier readable by a computer and embodying one or more instructions executable by the computer to perform method steps of generating a graph model of a process executed by a computer, the method comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the graph model is defined as G=(V, E), V is a set of activities of the process, E is a set of edges of the graph model, the log is defined as L, and the analyzing step further comprises the steps; (1) initializing the graph model, where E is initially empty; (2) examining each execution in the log L and uniquely identifying each activity recorded in the log L, so as to create a new set of vertices defined as V'"'"' and a new graph model defined as G=(V'"'"',E'"'"'); (3) for each process execution in the log L and for each pair of activities u,v such that the activity u terminates before the activity v starts, adding an edge (u,v) to E'"'"'; (4) removing edges from E'"'"' that appear in both directions; (5) for each strongly connected component of the graph model G, removing all edges from E'"'"' that are between vertices in the strongly connected component; (6) for each process execution present in the log L; (i) finding an induced sub-graph of the graph model G'"'"'; (ii) computing a transitive reduction of the sub-graph; and (iii) marking those edges in E'"'"' that are present in the transitive reduction; (7) removing unmarked edges from E'"'"'; and (8) in the graph model so obtained by steps (1)-(7) above, merging the vertices that correspond to different instances of a same activity in the graph model, thus reverting to an original act of vertices V.
-
-
48. An article of manufacture comprising a computer program carrier readable by a computer and embodying one or more instructions executable by the computer to perform method steps of generating a graph model of a process executed by a computer, the method comprising the steps of:
-
(a) retrieving one or more records of activities representing one or more executions of the process from a log stored in the computer to determine patterns in the executions of the process; and (b) analyzing the patterns in the computer to create the graph model of the process, wherein the analyzing step further comprises the steps of; (1) finding a topological order of the graph model; (2) maintaining two arrays for each vertex v of the graph model, wherein a first array stores descendants of the vertex v, and a second array stores successors of vertex v; and (3) visiting each vertex in the graph model in reverse topological order. - View Dependent Claims (49)
-
Specification