Pattern 37 (Task Postcondition - Data Value)

FLASH animation of Task Postcondition - Data Value pattern

Description

Data-based postconditions can be specified for tasks based on the value of specific parameters at the time of execution. The postconditions can utilize any data elements available to the task with which they are associated. A task can only proceed if the associated postcondition evaluates positively.

Example

Execute the Fill Rocket task until rocket-volume is 100%.

Motivation

Implementation of this pattern would ensure that a task could not complete until nominated output parameters had a particular data value or are in a specified range.

Implementation

Similar to Task Postcondition - Data Existence pattern (WDP36), two options exist for handling the achievement of specified values for data elements at task completion:

  • Delay execution until the required values are achieved.
  • Implicitly re-run the task.

Context

There are no specific context conditions associated with this pattern.

Implementation

The implementation metheds for this pattern adopted by the various tools examined are identical to those described for Task Postcondition - Data Existence pattern (WDP36) except for BPMN which does not support value-based postconditions.

Issues

None identified.

Solutions

N/A.

Evaluation Criteria

An offering achieves full support if it has a construct that satisfies the description of the pattern. It rates as partial support if there are limitations on the range of data elements that can be included in postconditions.

Product Evaluation

To achieve a + rating (direct support) or a +/- rating (partial support) the product should satisfy the corresponding evaluation criterion of the pattern. Otherwise a - rating (no support) is assigned.

Product/Language

Version

Score

Motivation

Staffware 9 +/- Indirectly achievable via validation functions linked to release form commands
Websphere MQ Workflow 3.4 + Directly supported by specifying exit condition based on the required parameter value. Where exit condition is not met, task automatically repeats
FLOWer 3.0 + Modelling elements can have a postcondition. Task will not complete until the postcondition (which should be based on the required parameter value) is met
COSA 4.2 - Not supported
XPDL 1.0 - Not supported
BPEL4WS 1.1 - Not supported
BPMN 1.0 - Not supported
UML 2.0 + Directly supported. Both action and activity constructs include local preconditions and postconditions based on logical expressions framed in OCL
Oracle BPEL 10.1.2 - Not supported
jBPM 3.1.4 - jBPM does not support this pattern.
OpenWFE 1.7.3 - OpenWFE does not support this pattern.
Enhydra Shark 2 +/- Enhydra Shark does not fully support this pattern. It only validates the type of the output data items.

Summary of Evaluation

+ Rating

+/- Rating

  1. Direct postcondition support at task level
  2. Must support internal task repetition
  1. Limited range of postcondtions supported
  2. Programmatic extensions required