Re: Workunit blocking - an alternative that addresses both sets of required semantics

The way the 'hasDuration/DeadlinePassed' functions would work with a WU with block=true
were given by me as an example that demonstrates the existing semantics of WU with block=true. 

As another example look at the variablesAligned() function text and also look at the example (c) in
the WorkUnit section that uses this function with a WU having block=true.

--
Nick
  ----- Original Message ----- 
  From: Gary Brown 
  To: public-ws-chor@w3.org 
  Sent: Monday, December 06, 2004 12:12 PM
  Subject: Workunit blocking - an alternative that addresses both sets of required semantics



  Based on the discussion on tonight's conference call, I believe the only reason that was given for needing the additional "or the guard condition evaluates to "false" " text, was to cater for the 'hasDuration/DeadlinePassed' functions.

  If this is the case, then I believe that these functions should be treated in the same way as variables are within the following text - i.e. the blocking semantics should be specified explicitly in respect of those concepts. This would mean that it would not be necessary to apply the blocking semantics to all conditions that may evaluate to false, but only those that contain one of the duration/deadline functions. 

  Therefore I propose changing the text from:
  If the attribute block is set to "true" and one or more required Variable(s) are not available or the guard condition evaluates to "false", then the Work Unit MUST block. When the required Variable information specified by the guard condition become available and the guard condition evaluates to "true", then the Work Unit is matched.

  to:

  If the attribute block is set to "true", then the condition will be examined to determine if it satisfies the necessary constraints for it to be evaluated. If the constraints are not satisfied, then the workunit will suspend pending all of the constraints being satisfied. These constraints define that all the variables referenced in the condition must be available, and any time related functions (i.e. hasDurationPassed and hasDeadlinePassed) must evaluate to true. When the constraints have been satisfied, the guard condition will be evaluated. If the result is "true", then the Work Unit is matched, otherwise the Work Unit is disabled.



  Regards

  Gary

Received on Monday, 6 December 2004 21:19:58 UTC