Patent ID: 7493593

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