Virtual threads in business process programs
View Patent ↗A method, system and apparatus for applying virtual threads in debugging a business process program. In accordance with the present invention, different activities in a business process can be associated with corresponding virtual thread identifiers where groups of the activities related to one another through corresponding links can be assigned a single virtual thread identifier. Based upon the association of activities with corresponding virtual thread identifiers, a directed graph of different activities of different virtual thread identifiers can be generated. Accordingly, debug operations including applying breakpoints, step over debugging and the like can be applied to a business process program regardless of the host platform for any one activity in the business process program.
1. A method for debugging a business process program comprising the steps of:
for each group of activities in the business process program which are related to each other by way of a link, each activity and link specified in a workflow language common grammar, assigning a unique virtual thread identifier to said group; and,
utilizing each assigned unique virtual thread identifier to perform debugging operations on the business process program, the debugging operations comprising setting and enforcing a breakpoint.
2. The method of claim 1 , further comprising the step of performing said assigning step synchronously in a business process engine.
3. The method of claim 1 , wherein said utilizing step comprises the step of utilizing each assigned unique virtual thread identifier to perform step over debugging.
4. The method of claim 1 , wherein said utilizing step comprises the step of utilizing each assigned unique virtual thread identifier to locate a mixed stack frame.
5. The method of claim 1 , further comprising the steps of:
generating a directed graph of the business process program based upon different activities linked to selected other activities by way of links; and,
performing said debugging operations by utilizing said directed graph.
6. The method of claim 5 , wherein said utilizing step comprises the step of utilizing each assigned unique virtual thread identifier to merge virtual threads in said directed graph.