XPDL Extensions

OBE provides a number of XPDL extensions to enrich its workflow semantics. In some cases these extensions were inspired by useful semantics supported by the predecessor language WPDL but not present in XPDL. In other cases the extensions addressed real-life requirements of commercial applications built upon OBE. In all cases the extension is invoked by attaching an <xpdl:ExtendedAttribute Name="obe.*"> element to an appropriate scope as described in the following table, in which the 'Scope' column is an XPath expression that identifies the nodes in an XPDL document to which the extended attribute may be applied.

Name Scope Syntax Description
obe.AssignmentStrategy //Activity
//WorkflowProcess
/Package
<xpdl:ExtendedAttribute
Name="obe.
AssignmentStrategy ">
<obe:
AssignmentStrategy
Id="strategy-id"
ExpandGroups="true|false"?/>
</xpdl:ExtendedAttribute>
Specifies how work items are assigned to activity performers.
obe.Bounds //Activity
<xpdl:ExtendedAttribute
Name="obe.Bounds">
<obe:
Bounds x="x" y="y"
  width="w"? height="h"?
/>
</xpdl:ExtendedAttribute>
Defines the graphical bounds of an activity in the OBE Designer.
obe.Calendar //Activity
//WorkflowProcess
/Package
<xpdl:ExtendedAttribute
Name="obe.Calendar"
Value="calendar-id"/>
Specifies a business calendar against which temporal computations are performed.
obe.CompletionStrategy //Activity
//WorkflowProcess
/Package
<xpdl:ExtendedAttribute
Name="obe.CompletionStrategy"
Value="strategy-id"/>
Specifies how work item completion affects the parent activity state.
obe.Loop //Activity[BlockActivity]
<xpdl:ExtendedAttribute
Name="obe.Loop">
<obe:
Loop>
<!-- One of: -->
<obe:ForEach
DataField="attribute-id">?
<In .../>
<obe:ForEach>
<obe:Until>?
<xpdl:Condition .../>
</obe:Until>
<obe:While>?
<xpdl:Condition .../>
</obe:While>
</obe: Loop>
</xpdl:ExtendedAttribute>
Supports iteration. (From WPDL)
obe.ToolMode //Activity/Tool
<xpdl:ExtendedAttribute
Name="obe.ToolMode"
Value="SEQUENTIAL|PARALLEL"/>
Specifies how to sequence tool invocations. (From WPDL)
obe.Target //Activity/Tool
<xpdl:ExtendedAttribute
Name="obe.Target"
Value="attribute-id"/>
Specifies the target object for a tool invocation.
obe.Event //Transition
//WorkflowProcess
<xpdl:ExtendedAttribute Name="obe.Event">
<obe:Event Id="event-id" Count="n"?>
<xpdl:ActualParameters>?
<xpdl:ActualParameter ... />*
</xpdl:ActualParameters>
</obe:Event>
</xpdl:ExtendedAttribute>
Defines an event-triggered transition or workflow.
obe.Timer //WorkflowProcess
<xpdl:ExtendedAttribute Name="obe.Timer">
<obe:Timer Id="event-id" Count="n"?
  Interval="duration"
 Calendar="cal-id"
Recoverable="true|false"?>
<xpdl:ActualParameters>?
<xpdl:ActualParameter ... />*
</xpdl:ActualParameters>
</obe:Timer>
</xpdl:ExtendedAttribute>
Defines a time-triggered workflow.