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>