Removing ambiguity regarding exceptions on record

In section 6.2.3, it says:

"When two or more record elements are specified for the same roleType in an
interaction, with their causeException attributes set to indicate that an
exception should be caused, then one of the exception types MAY be caused.
The throwing of an exception has a non-observable predicate condition 
associated
implicitly with it, that decides if an exception is caused"

Due to the fact that this describes a non-observable predicate making 
the decision about which (if any) of the multiple exceptions are thrown, 
it means that it may be difficult for the other participants to 
deterministically identify the same path through the choreography.

I would suggest changing the sentence to prevent an exchange (or 
timeout) having multiple records with exceptions (i.e. have atmost one 
record with causeException set). A replacement sentence could be:

"Two or more record elements, that are specified for the same roleType 
in an interaction, with their causeException attribute set to indicate 
that an exception should be caused, MUST not be permitted."

OR

"Where a roleType has multiple record elements associated with an 
exchange or timeout, only one of these record elements MAY define a 
causeException attribute".


Regards
Gary

Received on Tuesday, 23 January 2007 17:47:48 UTC