IP Library › Granted Patent US 9,824,322
Granted Patent B2
US 9,824,322 · App. 15/240,360 · Granted Nov 21, 2017

Computer-implemented method, computer program product and system for analyzing a control-flow in a business process model

Inventors: Cedric Favre (Rueschlikon, CH); Hagen Voelzer (Rueschlikon, CH)
Assignee: International Business Machines Corporation
G06Q10/0633G06Q10/04G06T11/206G06F3/04845G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,824,322
App. No.
15/240,360
Granted
Nov 21, 2017
Kind
B2
Abstract

A new technique to analyze the control-flow, i.e., the workflow graph of a business process model, which is called symbolic execution, is provided. Acyclic workflow graphs that may contain inclusive OR-gateways are considered; a symbolic execution for them is defined, which runs in quadratic time. In particular, this symbolic execution essentially comprises labeling edges of nodes of the graph such that a label assigned to a first edge comprises a set of one or more edge identifiers, each identifying a second edge that is an outgoing edge of an XOR-split or an IOR-split node in the graph, whereby executing the second edge ensures that the first edge will be executed. Such a scheme may permit a decision for any pair of control-flow edges or tasks of the workflow graph whether they are sometimes, never, or always reached concurrently. This has different applications in finding control- and data-flow errors.

Claims (28)

1. A computer program residing on a non-transitory computer-readable storage medium, comprising instructions for causing a computer system to implement steps for analyzing a control-flow in a business process, the steps comprising:

invoking a representation of the business process as an acyclic workflow graph containing a plurality of types of nodes and edges linking nodes of the graph;

labeling edges of the graph such that a label assigned to a first edge comprises a plurality of edge identifiers identifying respective edges, each of the edges identified being an outgoing edge of a split node in the graph, whereby executing any one of the identified edges ensures that the first edge will be executed; and

checking the labels for a deadlock using a processor, while labeling the edges of the graph, wherein a deadlock is found if a condition for relaxed soundness is true.

2. The computer program of claim 1 , wherein the graph has a unique source edge with a predefined label comprising a unique edge identifier identifying the source edge, and wherein labeling is initiated from the source edge.

3. The computer program of claim 1 , wherein the step of labeling further comprises propagating the labeling by labeling outgoing edges of the nodes of the graph with respective outgoing labels according to incoming labels of respective incoming edges of the nodes.

4. The computer program of claim 1 , wherein, at the step of labeling, a label of an outgoing edge of a split node of the graph contains my one edge identifier of the said outgoing edge.

5. The computer program of claim 1 , wherein the step of labeling is performed by applying, for each node, a propagation function in accordance with the type of the said each node.

6. The computer program of claim 1 , further comprising a step of:

if a deadlock is detected at the step of checking, returning to a user a characterization indicative of the detected deadlock via a graphical user interface (GUI).

7. The computer program of claim 6 , wherein the characterization indicative of the detected deadlock is returned to the user by graphically identifying in the GUI the node corresponding to the detected deadlock, two incoming edges thereof and their respective labels.

8. The computer program of claim 6 , wherein the acyclic workflow graph and the labels of the edges as obtained during the labeling step are graphically represented in the GUI.

9. The computer program of claim 1 , further comprising, prior to labeling, a step of detecting a lack of synchronization in the acyclic workflow graph.

10. The computer program of claim 1 , wherein the step of labeling is performed based on a maximum prefix of the acyclic workflow graph that does not contain a lack of synchronization.

11. The computer program of claim 1 , wherein labeling is performed by a single traversal of the graph.

12. A computer system, comprising one or more processors and a memory, operatively interconnected to one another and configured to implement steps for analyzing a control-flow in a business process, comprising:

invoking a representation of the business process as an acyclic workflow graph containing a plurality of types of nodes and edges linking nodes of the graph;

labeling edges of the graph such that a label assigned to a first edge comprises a plurality of edge identifiers identifying respective edges, each of the edges identified being an outgoing edge of a split node in the graph, whereby executing any one of the identified edges ensures that the first edge will be executed; and

checking the labels for a deadlock using a processor, while labeling the edges of the graph, wherein a deadlock is found if a condition for relaxed soundness is true.

13. The computer system of claim 12 , wherein the graph has a unique source edge with a predefined label comprising a unique edge identifier identifying the source edge, and wherein labeling is initiated from the source edge.

14. The computer system of claim 12 , wherein the step of labeling further comprises propagating the labeling by labeling outgoing edges of the nodes of the graph with respective outgoing labels according to incoming labels of respective incoming edges of the nodes.

15. The computer system of claim 12 , wherein, at the step of labeling, a label of an outgoing edge of a split node of the graph contains only one edge identifier of the said outgoing edge.

16. The computer system of claim 12 , wherein the step of labeling is performed by applying, for each node, a propagation function in accordance with the type of the said each node.

17. The computer system of claim 12 , further comprising a step of if a deadlock is detected at the step of checking, returning to a user a characterization indicative of the detected deadlock via a graphical user interface (GUI).

18. The computer system of claim 17 , wherein the characterization indicative of the detected deadlock is returned to the user by graphically identifying in the GUI the node corresponding to the detected deadlock, two incoming edges thereof and their respective labels.

19. The computer system of claim 12 , further comprising, prior to labeling, a step of detecting a lack of synchronization in the acyclic workflow graph.

20. The computer system of claim 12 , wherein the step of labeling is performed based on a maximum prefix of the acyclic workflow graph that does not contain a lack of synchronization.

21. The computer system of claim 12 , wherein labeling is performed by a single traversal of the graph.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2016
From: FAVRE, CEDRIC; VOELZER, HAGEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039475/0889 →
Priority Claims (1)
EP 10164396 · May 28, 2010 · regional
Continuity (3)
Continuation 13755949 · Jan 31, 2013
Continuation 13700643
Related Publication 20160358111A1 · Dec 8, 2016