- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Tue, 1 Feb 2005 18:17:08 -0500
- To: www-ws-desc@w3.org
- Message-ID: <OF38A7DC40.5CCBECA6-ON85256F9B.007DA5C8-85256F9B.007FE735@ca.ibm.com>
Amy, Yes, I think if we just allow Extension Components at the top level, then we can discard Component Equivalence and just use Infoset Equivalence. The real motivation for introducing the notion of component equivalence, was that the same document may get included or imported several times, e.g. via diamond inheritance where the base Interface is referenced by 2 apparently different URLs, or in fact different URLs. For example, you might include a copy of the original document. Given that we were willing to tolerate the above, we could also tolerate cuting and pasting of intact top level components, e.g. maybe I wanted to have a single WSDL document rather than one that included others. If these are really the only use cases, then we can just compare the infosets when forming the component model. If the infosets agree, then all is well, otherwise, we have conflicting definitions. By construction, the Component model never contains two equivalent components. Then we have constraints that state, for example, that each Interface component is uniquely identified by its QName. The alternative is to allow the Component Model to contain sets of equivalent components. Then we have the additional constraint that states, for example, that if two Interface components have the same QName then they must be equivalent. Arthur Ryman, Rational Desktop Tools Development phone: +1-905-413-3077, TL 969-3077 assistant: +1-905-413-2411, TL 969-2411 fax: +1-905-413-4920, TL 969-4920 mobile: +1-416-939-5063, text: 4169395063@fido.ca intranet: http://labweb.torolab.ibm.com/DRY6/ Amelia A Lewis <alewis@tibco.com> Sent by: www-ws-desc-request@w3.org 01/31/2005 02:48 PM To Arthur Ryman/Toronto/IBM@IBMCA cc www-ws-desc@w3.org Subject Re: Proposal for Simplifications to the Component Model On Mon, 31 Jan 2005 10:41:18 -0500 Arthur Ryman <ryman@ca.ibm.com> wrote: > www-ws-desc-request@w3.org wrote on 01/28/2005 06:23:54 PM: Oooh, a promotion! *laugh* > > 1. replace component equivalence with infoset equivalence [is this > > just for top-level elements?] > > Based on our discussion of the requirement for top-level extension > elements and attributes, I don't think infoset equivalence will work. > The upshot is that we will have to live with the more complex concept > of component equivalence. Here's the reason: > > There are two kinds of extensions that you could put in the top level: > 1) extension components, and 2) extension properties. An extension > component would presumably to treated like Interface, Binding, > Service, in the sense that it becomes something you could refer to, > but its presence doesn't alter the semantics of the other components. > > In constrast, an extension property is something that affects the > other components, like a Feature or Property component does. I assume > that you can put an extension property at the root and its presence > might affect some of the other components, i.e. that those other > components might acquire some {extension properties}. This is only > implicit in Part 1. > > Here's an example: > > Document 1: > <description> > <x:reliable/> > <interface name="Register"/> > <binding name="SOAPRegsiter"/> > </description> > > Document 2: > <description> > <interface name="Regsiter"/> > <binding name="SOAPRegsiter"/> > </description> > > Assume that the spec for <x:reliable> states that all Bindings > described in the document are reliable, but the extension does not > modify the semantics of any Interface or Service components. > > Isn't it true then that the two Interface components are equivalent, > but the two Binding components are not equivalent? /me primly refrains from pointing out the spelling discrepancy. > If you agree with the above, then we can't define equivalence at the > infoset level. This is because extensions at the top level *may* behave like features/properties (in scope for all components, effectively), rather than like components. You also point out, later in the same email, that features and properties are not permitted at the top level. If we were to say that feature/property-like extensions were not allowed at the top level, would we then be able to use infoset equivalence? Would it be worthwhile to do so? Is there a use case for placing a marker inside "description" in order that it be in scope for its siblings? Note that, compared to the scoping rules for features and properties (which have been criticized for complexity), this is quite ambiguous, since it effectively relies on either 1) sibling status (the set of previous-sibling+following-sibling) or 2) document order (but that's only an inference based on the example, not actually implied in your discussion). F&P instead rely on containment, with the additional linking between service/endpoint <-> binding <-> interface treated as forms of containment. But perhaps this is all irrelevant. Use cases? Is this the only obstacle to the use of infoset equivalence? Amy! -- Amelia A. Lewis Senior Architect TIBCO/Extensibility, Inc. alewis@tibco.com
Received on Wednesday, 2 February 2005 00:41:49 UTC