IP Library Granted Patent US 7,493,593
Granted Patent B2
US 7,493,593 · App. 11/056,761 · Granted Feb 17, 2009

Method for generating a business process execution language for web services executable workflow code from an unstructured cyclic business process model

Assignee: International Business Machines Corporation
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 7,493,593
App. No.
11/056,761
Granted
Feb 17, 2009
Kind
B2
Abstract

A method for generating a BPEL4WS executable workflow code from an unstructured cyclic business process model. The method inputs a graphical representation of the business process model using a graphical modeling language. The graphical representation comprises activities, decisions and an unstructured cycle including more than one entry or more than one exit to an activity or a decision. The method assigns continuation semantics to the graphical representation which comprises partitioning the activities and the decisions of the graphical representation into the past, present, and future. The method assigns a continuation variable to a start and an end of the graphical representation and assigns a continuation variable to each activity and each decision that has more than one incoming link or more than one outgoing link.

Claims (44)

1. A method for generating a BPEL4WS (Business Process Execution Language for Web Services) executable workflow code from an unstructured cyclic business process model, said method comprising:

inputting a graphic representation of said business process model using a graphical modeling language,

wherein said graphical representation comprises:

activties;

decisions; and

an unstructured cycle including more than one entry or more than one exit to an activity or a decision;

assigning a continuation semantics to said graphical representation, said assigning comprising:

partitioning said activities and said decisions of said graphical representation into past, present, and future;

assigning a continuation variable to a start and an end of said graphical representation; and

assigning a continuation variable to each activity and each decision that has more than one incoming link or ore than one outgoing link;

encoding said continuation semantics of said graphical representation as a preliminary workflow code of a BPEL4WS process in a computational tree, said encoding comprising:

linking successive activities and their assigned continuation variables, and encoding said linking as additions to said BPEL4WS process in said computational tree;

for a decision that branches to first and a second activity, linking said continuation variable assigned to said decision to said continuation variables assigned to said first and second activities, attributing a transition condition to each of said branches, and encoding said linking as additions to said BPEL4WS process in said computational tree; and

for a decision that branches to a third activity, which is not assigned a continuation variable, adding BPEL4WS process invoke and linking said BPEL4WS process invoke to a successive continuation variable, which is added to said computational tree;

normalizing cyclic links to form a non-cyclic graph of a BPEL4WS workflow code, corresponding to said preliminary workflow code; said normalizing comprising any of:

link elimination to eliminate empty activities and redefine links that reference empty activities;

link merging to replace links to the same empty activity with a single link that recombines transition conditions of replaced links; and

introducing a “while” activity to eliminate links that create cycles; and

outputting said BPEL4WS workflow code to a BPEL engine for execution.

2. The method according to claim 1 , wherein the unstructured cycle in the preliminary workflow code is replaced by a while-loop.

3. The method according to claim 1 , wherein the continuation semantics is encoded in the preliminary workflow code comprising activities which are linked by means of links.

4. The method according to claim 1 , wherein the continuation variables are transformed into empty activities.

5. The method according to claim 4 , wherein an empty activity is eliminated in the preliminary workflow code and links referring to said empty activity are redefined, if the empty activity occurs only once as target of a link.

6. The method according to claim 4 , wherein links to the same empty activity are replaced in the preliminary workflow code by a single link that recombines transition conditions of the replaced links.

7. A computing device for generating a BPEL4WS (Business Process Execution Language for Web Services) executable workflow code from an unstructured cyclic business process model, said computing device comprising:

a processor that:

receives a graphical representation of said business process model via inputs to said processor, said graphical representation using a graphical modeling language,

wherein said graphical representation comprises:

activities;

decisions; and

an structured cycle including more than one entry or more than one exit to an activity or a decision

assigns a continuation semantics to said graphical representation, said assigning comprising:

partitioning said activities and said decisions of said graphical representation into past, present, and future;

assigning a continuation variable to a start and an end of said graphical representation; and

assigning continuation variable to each activity and each decision that has more than one incoming link or more than one outgoing link;

encodes said continuation semantics of said graphical representation as a preliminary workflow code of a BPEL4WS process, said encoding comprising:

linking successive activities and their assigned continuation variables, and encoding said linking as additions to said BPEL4WS process in said computational tree;

for a decision that branches to first and a second activity, linking said continuation variable assigned to said decision to said continuation variables assigned to said first and second activities, attributing a transition condition to each of said branches, and encoding said linking as additions to said BPEL4WS process in said computational tree; and

for a decision that branches to a third activity, which is not assigned a continuation variable, adding a BPEL4WS process invoke and linking said BPFL4WS process invoke to a successive continuation variable, which is added to said computational tree; and

a transformation engine that transforms the preliminary workflow code into a non-cyclic BPEL4WS executable workflow code, wherein said transformation engine normalizes cyclic links to from a non-cyclic graph of a BPEL4WS workflow code, corresponding to said preliminary workflow code, said normalizing comprising any of

link elimination to eliminate empty activities and redefine links that reference empty activities;

link merging to replace links to the same empty activity with a single link that recombines transition conditions of replaced links; and

introducing a “while” activity to eliminate links that create cycles.

8. The computing device according to claim 7 , further comprising a workflow engine for executing the non-cyclic BPEL4WS executable workflow code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2005
From: KOEHLER, JANA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 016282/0622 →
Continuity (1)
Related Publication 20050209993A1 · Sep 22, 2005