Re: hasa in UML

All,

I'm not sure if from Frank's description it's clear when you use
those "birds" in UML and when you don't.  It's my understanding
that by using them, you are extending the basic modeling
capability of the language, which means you've found the basics
to be deficient for your special purpose.

In my ever humble opinion, you'd want to actually see a standard
modeling effort *fail* (and have people agree on that failure) before
you go off and invent your own modeling semantics under the
wide umbrella of the UML.

I'm sure the UML amigos put those guillemots in there so as not
to lose market share in fringe cases. That doesn't mean every
case that comes down the highway is a fringe case, and jumping
early to a higher level of sophistication has the unfortunate side-effect
of short-circuiting critical review of the design being modeled.  It
kills the delicate question "Is this stuff already too complicated?" in
the crib.

Good luck, amigos.

--Walden


----- Original Message ----- 
From: "Francis McCabe" <fgm@fla.fujitsu.com>
To: "Cutler, Roger (RogerCutler)" <RogerCutler@chevrontexaco.com>
Cc: <www-ws-arch@w3.org>
Sent: Monday, June 02, 2003 2:27 PM
Subject: Re: hasa in UML


> 
> Roger:
>    Thanks for the vote of confidence!
> 
>    I apologize abut the guillemots.
> 
>    It is a standard UML way of naming things. Its official name is 
> stereotype. Essentially, if you want to have a standard relationship, 
> or a standard class etc. (but its less common there), you can give an 
> independent definition of it and then use it. Where you do use it, you 
> enclose the name in guillemots (a kind of double chevron character) to 
> signify that the name has an independent definition.
> 
> Frank
> 
> On Monday, June 2, 2003, at 11:12  AM, Cutler, Roger (RogerCutler) 
> wrote:
> 
> > Frank:
> >
> > Once again you have gone over my head -- what the heck is meant by
> > "guillemots" in this context?  It's come up previously in this thread,
> > but now it seems to be a serious suggestion. The only meaning for this
> > word that I can find is a bird -- a narrow billed auk, to be exact,
> > which is an arctic bird that looks pretty penguin-like to me but
> > apparently it flies.
> >
> > Although you have never in any way implied such, I am personally quite
> > willing to recognize you as an expert with core compentency somewhere 
> > in
> > the area of these formal descriptions and let you get on with it.
> > Particularly since you seem to be willing not only to state opinions 
> > but
> > also to spend a lot of time and effort actually DOING things that way.
> > That counts for a lot in my book.
> >
> > -----Original Message-----
> > From: Francis McCabe [mailto:fgm@fla.fujitsu.com]
> > Sent: Monday, June 02, 2003 12:44 PM
> > To: Cutler, Roger (RogerCutler)
> > Cc: www-ws-arch@w3.org
> > Subject: Re: hasa in UML
> >
> >
> > Roger:
> >
> > Just to answer the question about the origin of is-a and has-a...
> >
> > It turns out that properly defining these is pretty tricky. Chris's
> > defn found 14+ definitions of have, and even the first definition
> >
> >   To be in possession of: already had a car.
> >
> > is the subject of many PhD theses!
> >
> > I would say that 90+% of people would start with the taxonomic POV of
> > is-a; where the fundamental starting point is that there are a bunch of
> > `things' out there that need to be classified. However, the logic POV
> > also has a long history.
> >
> > A really good book on this is "knowledge representation" by John Sowa.
> > He is something of a maverick due to his passionate defense of a
> > British philosopher/logician John Pierce.
> >
> > My definitions were colored by my preferences, but my definition of
> > has-a was an attempt to rationally reconstruct the UML modeler's
> > concept of aggregation. As it happens, my PhD was in this area. It was
> > published by Prentice-Hall as "Logic and Objects".
> >
> > I have had a number of conversations about UML with Jim Odell, one of
> > the founders of the OO modeling movement. He was also a co-chair of the
> > OMG TC that steered the original UML through (I can't recall its name).
> > He recommends using guillemots for our purposes.
> >
> > My brief was to look at UML, and to see if we can use it straight. I
> > think the answer is that we can use it; but not 'straight'.
> >
> > Frank
> >
> >
> >
> >
> > On Friday, May 30, 2003, at 07:54  PM, Cutler, Roger (RogerCutler)
> > wrote:
> >
> >> Good grief.
> >>
> >> I had assumed from Martin's posting that aggregation is a well-known,
> >> standard term in UML.  If it is, and you have just missed it, perhaps
> >> he should chime in.  If not ...
> >>
> >> If not, perhaps somebody -- anybody -- could give us some rough idea
> >> what "has a" means to UML people?  I recall that the UML folk seemed
> >> to be real clear (well, at least Martin seemed to be real clear) that
> >> usages of "has a" consistent with your definition were inconsistent
> >> with UML usage -- so surely SOMEBODY must have some idea why or
> >> how????  If it is clearly different, could somebody give a hint in
> >> what way it is different?
> >>
> >> If not -- could we please just forget about it?
> >>
> >> On another tack -- did your definitions of "is-a" and "has-a" just
> >> come out of your imagination, or are they consistent with some
> >> standard usage in a discipline other than UML?  If the latter, would
> >> it be possible to provide citations?
> >>
> >> -----Original Message-----
> >> From: Francis McCabe [mailto:fgm@fla.fujitsu.com]
> >> Sent: Friday, May 30, 2003 4:42 PM
> >> To: www-ws-arch@w3.org
> >> Subject: hasa in UML
> >>
> >>
> >>
> >> UML does not, in fact, has a direct notion of aggregation.
> >>
> >> There are three concepts that might be pressed into the service of
> >> aggregation:
> >>
> >> Association (3.41 and following)
> >> Composite Object (3.40)
> >> Collaboration diagrams (3.65 and following)
> >>
> >> Association is simply a relationship. There is no additional semantics
> >
> >> built-in. We can define our own form of association called has-a (but
> >> we are trying to avoid that right?)
> >>
> >> "A composite object represents a high-level object made of tightly
> >> bound parts. This is an instance of a composite class, which implies
> >> the composition aggregation between the class and its parts. A
> >> composite object is similar to (but simpler and more restricted than)
> >> a collaboration; ..."
> >>
> >> I do not think that this meets our needs. It is not accurate to say
> >> that a service is composed of X + an identifier.
> >>
> >> Collaborations on the other hand are not what is going on either:
> >>
> >> "A collaboration is used for describing the realization of an
> >> Operation or Classifier."
> >>
> >> Frank
> >>
> >> On Friday, May 30, 2003, at 02:10  PM, Cutler, Roger (RogerCutler)
> >> wrote:
> >>
> >>>
> >>> Well, that's progress of a sort.  Now what do "generalization" and
> >>> "aggregation" mean, and how does this differ from the current
> >>> definition?
> >>>
> >>
> >>
> >>
> >
> >
> >
> 

Received on Monday, 2 June 2003 17:50:18 UTC