Re: aggregation and ...



Date view Thread view Subject view Author view Attachment view

From: Tony Simons (a.simons@dcs.shef.ac.uk)
Date: Fri 14 Jun 2002 - 15:17:28 BST


Hi all,

Just throwing in my sixpennyworth.  To the best of my knowledge,
Brian Henderson-Sellers has done the most comprehensive analysis
of the meanings of different kinds of Part-Whole, Container-Contained
and other kinds of "meronymic" relationships that relate to the
notion of aggregation (or containment).  It's an eye-opener
because it includes things that other people don't usually think
about, such as where the part is the same kind of thing as the
whole (eg a piece of pie, or some water from a lake).

Use this as a touchstone.  Elsewhere, there's an awful lot of hot 
air expended on this subject, and I doubt that the standards have 
defined "aggregation" especially helpfully.  

Originally, I think the term came from the database community, where 
it became important to identify certain relationships (associations
in today's UML) as special, since you needed to load the whole and 
its co-dependent parts into memory in one pass.  It was a measure of
how likely you were to need to access the other records at the 
same time as the master record.  It was a way of predicting 
when you would later need to perform many database joins, so
instead you did it all in one go and cached the result.

UML aggregation doesn't necessarily imply existence dependency
of the parts on the whole.  You can have a part that lives
beyond, and participates in, several wholes (eg in the UK a
PROPERTY_SALE wrapping a PURCHASER and a VENDOR, who play the
complementary roles in a second PROPERTY_SALE, each, as part of
the chain of sales).  I think that UML composition (black diamond)
merely insists that the parts are "exclusive" to a given whole,
which is different from connascence (though that is compatible
with exclusivity).

--Tony

==========================================================================

Dr Anthony J H Simons                   a.simons@dcs.shef.ac.uk
Senior Lecturer in Computer Science     http://www.dcs.shef.ac.uk/~ajhs
Director of Teaching

Department of Computer Science          tel:  (+44) 114 22 21838
University of Sheffield                 dept: (+44) 114 22 21800
Regent Court, 211 Portobello Street     fax:  (+44) 114 22 21810
SHEFFIELD, S1 4DP                       univ: (+44) 114 22 22000
United Kingdom

==========================================================================

Date view Thread view Subject view Author view Attachment view