Hi
Here are some initial comments on the examples related to the pi4soa
implementation.
assign-with-causeexception:
There is alot of unnecessary interactions, workunits etc just to test
an assignment. Also the variable associated with the assignment is
not initialized anywhere, so this would result in an exception before
the 'causeException' executes.
assign-without-causeexception:
Same problems as above.
channeltypes-with-identity*:
These choreographies only do a single interaction. To test whether an
endpoint is correctly associating channel instances through identity,
it would be necessary to do multiple interactions on different channels
identified by different identities which are chained.
channeltypes-with-passing:
Needs to have interactions on passed channel to demonstrate correct
passing.
channeltypes-with-usage*:
The usage property is primarily for guidance to the model checking -
so is it relevant when these tests seem to be for runtime conformance?
choreo-with-complete:
Have taken out the loop as this was irrelevant. Have moved the assign
to between the req4quote and acceptquote, as this then demonstrates
that the accept is not performed as both endpoints terminate early.
Also added assign on seller side, so that both participants are in step.
choreo-with-coordination:
Coordination not implemented in pi4soa - however this choreo has no
root choreo.
choreo-with-exception-block:
Missing alot of static type details and references from dynamic model
to those types.
choreo-with-finalizer-block:
Same as above - plus needs a sub-choreo performed to then show
finalize in action.
choreo-with-sequence:
Moved middle interaction outside workunit loop, as supposed to be
showing sequence.
choreo-with-parallel????
choreo-with-single-level:
Not sure what this is supposed to be testing, as looks similar to others.
choreo-with-subchoreo:
Too complex - just need to test that a sub-choreo is performed - so
stripped out
the loop in the top choreo and only dealing with a req/resp in the sub.
choreo-with-subchoreo-free:
Isn't this the same as the choreo-with-subchoreo example?
choreo-with-subchoreo-complete:
No point in completing the choreo at the end, and the root choreo is
being completed, which has already been tested. What is the purpose
of this test?
choreo-with-subchoreo-nofree:
Changed to be same as modified choreo-with-subchoreo, but taking away the
bound parameter, which is all that seemed to be the difference with
original version.
choreo-with-subchoreo-isolation:
The isolation is on the root choreo - it should be on the performed
sub-choreo that has bound variables that are shared with other
sibling choreos. How is this going to be tested though?
choreo-without-qos:
Not sure what this is supposed to be testing.
interaction-with-align-true:
Unimplemented feature.
interaction-with-exception-noaction:
No static definitions.
interaction-with-initiate:
Initiate flag is no longer relevant, so this test could be deleted.
interaction-with-record-causeexception:
Currently not supported due to ambiguous statement in spec section 6.2.3
"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"
- think that causeexception should be removed from here, and just occur
on the exchanges
which are deterministic
interaction-with-record-noCauseException:
How does this prove the fact that the record occurred? Possibly better
to assign
a value to a variable, and then have a choice which tests the value and
should
so the same interaction in both endpoints?
interaction-with-reqresp-causeexception and nocauseexception:
These should probably be variations of the
interaction-with-record-causeexception etc. At the moment they are too
complex for the simple test they represent.
interaction-with-timeout-causeException:
No timeout expression - no static definitions.
workunit-with-block:
Need concurrent paths, one to block and the other to restart the other
path when it completes.
workunit-with-guard:
Changed from what was attempting to use a loop (with no repetition
condition) to actually be a conditional, which should fail as the
acceptQuote variable is not available.
Steve Ross-Talbot wrote:
>
> I have fwd these to the list for wider comment.
>
>
> http://lists.w3.org/Archives/Public/www-archive/2007Jan/att-0023/choreo-examples.zzz
>
>
> Cheers
>
> Steve T
>
>
>
>
>