W3C home > Mailing lists > Public > www-ws-arch@w3.org > June 2003

Re: hasa in UML

From: Francis McCabe <fgm@fla.fujitsu.com>
Date: Mon, 2 Jun 2003 10:44:25 -0700
Cc: www-ws-arch@w3.org
To: "Cutler, Roger (RogerCutler)" <RogerCutler@chevrontexaco.com>
Message-Id: <D9E04A36-9521-11D7-BBC0-000393A3327C@fla.fujitsu.com>

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 13:45:31 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:20 GMT