Ken Webb 2010-03-04T12:17:22Z
jBPM is "a workflow management system", that can support multiple process languages including its own jPDL.
Xholon includes a jPDL mechanism. All or part of a Xholon hierarchical structure can be composed of jPDL nodes. These can be exported as a true jPDL file. As far as Xholon is concerned, the nodes in a jPDL subtree are very similar to the nodes in a state machine subtree.
The following XML is part of a Xholon application, exported in jPDL format. The figure shows this XML displayed using the jPDL diagram editor.
<?xml version="1.0" encoding="UTF-8"?> <!-- Automatically generated by Xholon version 0.8, using org.primordion.xholon.io.Xholon2Jpdl.java Sat Apr 11 17:40:53 EDT 2009 1239486053406 model: PinFactory www.primordion.com/Xholon --> <process-definition xmlns="" name="PinFactory"> <start-state name="start"></start-state> <task-node name="TreatBrassWire_1"> <transition to="DrawWire_2"></transition> </task-node> <task-node name="DrawWire_2"> <transition to="StraightenWire_3"></transition> </task-node> <task-node name="StraightenWire_3"> <transition to="CutWire_4"></transition> </task-node> <task-node name="CutWire_4"> <transition to="Point_5"></transition> </task-node> <task-node name="Point_5"> <transition to="Sharpen_6"></transition> </task-node> <task-node name="Sharpen_6"> <transition to="CutSections_7"></transition> </task-node> <task-node name="CutSections_7"> <transition to="TurnHeads_8"></transition> </task-node> <task-node name="TurnHeads_8"> <transition to="CutHeads_9"></transition> </task-node> <task-node name="CutHeads_9"> <transition to="SoftenHeads_10"></transition> </task-node> <task-node name="SoftenHeads_10"> <transition to="StrikeHeads_11"></transition> </task-node> <task-node name="StrikeHeads_11"> <transition to="TreatPins_12"></transition> </task-node> <task-node name="TreatPins_12"> <transition to="WhitenPins_13"></transition> </task-node> <task-node name="WhitenPins_13"> <transition to="QuenchPins_14"></transition> </task-node> <task-node name="QuenchPins_14"> <transition to="DryPins_15"></transition> </task-node> <task-node name="DryPins_15"> <transition to="WearPins_16"></transition> </task-node> <task-node name="WearPins_16"> <transition to="PrickPins_17"></transition> </task-node> <task-node name="PrickPins_17"> <transition to="DrivePins_18"></transition> </task-node> <task-node name="DrivePins_18"> </task-node> <end-state name="end"></end-state> </process-definition>