and how is is-a and has-a as defined in our doc any less or more powerful
than uml.
its all about set theory and if you choose to model bad sets thats up to
you.
Martin.
> -----Original Message-----
> From: www-ws-arch-request@w3.org [mailto:www-ws-arch-request@w3.org]On
> Behalf Of Cutler, Roger (RogerCutler)
> Sent: Friday, May 30, 2003 10:43 AM
> To: Francis McCabe; www-ws-arch@w3.org
> Subject: RE: isa and hasa in UML
>
>
>
> This is REALLY discouraging. I thought that the UML experts in the room
> at Rennes were saying that "everybody knows" what has-a means in UML,
> and all you have to do is strip it out of your favorite undergraduate
> textbook.
>
> I have a strong feeling of distaste for ditching the definition of
> "has-a" currently in the document, which at least has the virtue that I
> can understand and apply it, in favor of a definition that appears to be
> like the Indian rope trick -- something that everybody knows exists
> because somebody else has seen it.
>
> -----Original Message-----
> From: Francis McCabe [mailto:fgm@fla.fujitsu.com]
> Sent: Friday, May 30, 2003 12:01 PM
> To: www-ws-arch@w3.org
> Subject: isa and hasa in UML
>
>
>
> This is in partial fulfillment of my action item re is-a and has-a
> w.r.t. UML
>
> 0. There is a rather (unintentionally) funny comment in the UML 2.0
> spec:
>
> 2.3.2.3 Semantics
> The meanings of the constructs are defined using natural language.
> ...
>
> (This is after a lot of promises of being formal.)
>
> However, UML uses OCL for those cases where natural language is not
> enough. OCL is similar to a first order predicate calculus. Having said
> that, the spec does not use OCL very often; including for the
> definition of relationships such as generalization (is-a) and
> association (has-a kind of)
>
> 1. As I have indicated earlier, UML does not have a precise notion of
> is-a. The closest is the generalization relationship. This is defined
> in 3.50:
>
> Generalization is the taxonomic relationship between a more general
> element and a more specific element that is fully consistent and that
> adds additional information.
>
> A couple of comments:
>
> 1. Basing is-a on taxonomics raises some serious logical issues. This
> is analogous to basing everything on sets: every member of the penguin
> set is also a member of the bird set.
>
> The problem is that it becomes really difficult to talk about weird or
> abstract sets. Basing is-a on this would lead to the following
> counter-intuitive result: every unicorn is a yeti. (There are no
> documented instances of either, so the set of unicorns and yetis is
> indistinguishable.)
>
> A more serious issue, sticking with birds for the moment, is that it is
> similarly hard to talk about properties of birds such as flying: we
> could not express the fact that all birds except penguins fly.
>
> An even more serious issue is that we need to capture the following
> situation:
>
> A service has an identifier
>
> A Web service is a service
> A Web service has a URI
>
> The Web service's URI counts_as the service identifier
>
> It is that counts_as that is beyond the capabilities of UML's
> generalization. We *could* extend UML's generalization, and that may be
> the best overall approach. In fact, we would really need to do that for
> all our relationships, use <is-a> and <has-a> and *never* rely on UML's
> built-in relationships. <is-a> and <has-a> could probably be defined in
> OCL.
>
>
> More to follow....
> Frank
>
>
>
>
>
>
>