- From: Williams, Stuart <skw@hplb.hpl.hp.com>
- Date: Fri, 11 Jan 2002 10:24:30 -0000
- To: "'Christopher Ferris'" <chris.ferris@sun.com>
- Cc: xml-dist-app@w3.org
Hi Chris, Thank you... the notational approach is a little amateur process algebra on my part and is very close to either CCS or CSP. I can get some help locally on making it properly one or the other. The point about an algebra being that it has a set of rules for its manipulation that preserve meaning. I don't think I would be in favour wholly inventing a new notation for this... I would much rather that we use a common existing PA notation, reference the appropriate work (spec/text book) and if necessary provide a brief and informal note on how to read it. Another point of the presentation was to abstract away from < and the low level structure and encoding of the message itself, whereas i have the sense of you trying to pull those things back in... what about the binding specific wrappers that preceed/follow the infoset serialisation... it don't think we want to go there. The presentation avoids 'in'ness and 'out'ness which you introduce: > srrmessage := out SOAPRequest in ( SOAPResponse | SOAPFault | null ) This is perhaps a subtlety, but imagine monitoring the 'wire' close to the requester and/or close to the responder. PA expressions describe what happens on the wire irrespective of whether you are thinking of requester or responder. Your expression, quoted above, is written from the POV of a requester, not from the POV of the 'wire' or a 'responder'. A further subtlety worth noting is that monitoring close to the requester or responder may reveal differing experiences of the interaction - monitoring close to the responder its is possible for message exchange to appear to have been successful, whereas close to the requester it may appear to have failed. One last point is that the PA/wire-trace based presentation turns each message into a start (or fail) and an end (or fail) event and makes the potential for temporal overlaps explicit (in response to Eamon's observation [1]). In contrast, the expression above, turns request and response messages back into discrete units which make it difficult to expose the possibilities for such overlap - as Eamon points out a flaw of the current FSM design (the FSM presentation could be fixed to treat both the start an end each message with a graphical and tabular presentation that refelected the state machine implicit in the PA expression - ie we could get something that was absolutely equivalent with our current diagram/tabular style - the main advantages of this approach are terseness, and formality). Feel's like I'm pushing back strongly... I don't mean to... personally I think it would be a lot more work to 'invent' a notation rather than 'borrow' one. That said, I would agree that BNF could/can be use to capture this kind of behaviour too and that a BNF style of notation could be adopted, personnally I am less familar with it's use for such purposes. If we were to go that way, then I think we would still have to abstract away from the particular encodings of infosets (when describing MEPs) and focus on tokens that represent the start, end and failure of messages from the point of view of monitoring the wire. regards and thanks, Stuart [1] http://lists.w3.org/Archives/Public/xml-dist-app/2001Dec/0038.html > -----Original Message----- > From: Christopher Ferris [mailto:chris.ferris@sun.com] > Sent: 10 January 2002 23:16 > To: xml-dist-app@w3.org > Subject: Re: Wire Trace approach to MEP/Binding descriptions. > > > +1 > > I like the direction that this is taking. > I find the notation to be succinct, if not a little > confusing, but that can be worked... > > Specifically, I find the dot notation to be > a little akward. It might be useful instead to > express the concept of "followed by" such that > it also included the direction (although, this > would bias things to one perspective I suppose). > > It might also be interesting to explore use of BNF > or a derivative for the notation so that it was > more familiar to the reader. This would also provide > for the ability to describe with more specificity > any specific constraints on the messages such as > required headers, faults, etc. > > e.g. > > srrmessage := out SOAPRequest in ( SOAPResponse | SOAPFault | null ) > SOAPRequest := SOAPEnvelope SOAPHeader > SOAPRequestBody SOAPEnvelopeTerminator > SOAPResponse := SOAPEnvelope SOAPHeader > SOAPRequestBody SOAPEnvelopeTerminator > SOAPFault := SOAPEnvelope SOAPHeader > SOAPFaultBody SOAPEnvelopeTerminator > > SOAPRequestBody := "<" [NSQ ":"] "Body" { attr } ">" [CRLF] > request SOAPBodyTerminator > SOAPResponseBody := "<" [NSQ ":"] "Body" { attr } ">" [CRLF] > response SOAPBodyTerminator > SOAPFaultBody := "<" [NSQ ":"] "Body" { attr } ">" [CRLF] > SOAPFault SOAPBodyTerminator > SOAPFault := "<fault>" [CRLF] > SOAPEnvelopeTerminator := "</" [NSQ ":"] "Envelope>" > SOAPHeaderTerminator := "</" [NSQ ":"] "Header>" > SOAPBodyTerminator := "</" [NSQ ":"] "Body>" > attr := NSDecl | STRING "=" STRING > NSDecl := "xmlns" [":" NSQ] "=" URI > URI := ... > > Cheers, > > Chris > > Marc Hadley wrote: > > > Jean-Jacques Moreau wrote: > > > >> +1 > >> > >> IMHO, the current tables are not accurate enough (compared > to this other > >> approach) and consumme too much space (I hate to say this > now that I have > >> done the HTML to XML conversion, but...). > >> > > > > +1, I find this notation very succinct. > > > > Marc. > > > >
Received on Friday, 11 January 2002 05:28:46 UTC