- From: Gary Brown <gary@pi4tech.com>
- Date: Tue, 16 Jan 2007 13:24:26 +0000
- To: Steve Ross-Talbot <steve@pi4tech.com>
- CC: WS-Choreography List <public-ws-chor@w3.org>
- Message-ID: <45ACD20A.2080104@pi4tech.com>
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 > > > > >
Received on Tuesday, 16 January 2007 13:24:51 UTC