Advertisement
|
This page contains an archived post to the Design Forum (formerly called the Flexible Java Forum) made prior to February 25, 2002.
If you wish to participate in discussions, please visit the new
Artima Forums.
Message:
Composition, Aggregation, Membership, Assembly, . . .
Posted by Lois Goldthwaite on 03 Dec 1998, 7:55 AM
For a short discussion on this topic that packs in more than you ever wanted to know about it, look at an article by Brian Hendersen-Sellers in JOOP, the Nov-Dec. 97 issue. I heard Brian make a talk on the OPEN methodology and modeling language, where he distinguished between aggregation/composition (a whole made up of two or more parts in some configuration where the relationships are important -- e.g. you have to put the parts of a sailboat together in the right order for it to be useful), membership (a whole made up of one or more parts but in no particular relationship to each other -- e.g. a club of people), and containment (I suppose here there is even less connection between the parts, as with a bus filled with passengers). The OPEN notation includes symbols for each of the above. The one for aggregation/composition is a circle with a plus sign in it, intended to resemble a Phillips-head screw used to assemble things together. UML's open and filled diamonds don't get much respect in OPEN circles. The above-mentioned article also discusses relationships like stuff-object (a bicycle is partly steel, cappuccino is partly milk), portion-object (a slice of bread is the same substance as the entire loaf), place-area (Austin is part of Texas), member-bunch (a tree is part of a forest), member-partnership (an invariant form of the previous category; Ginger and Fred are a dance couple). The bibliography for the article lists sources for further reading, including one called "A Taxonomy of Part-Whole Relations."
Replies:
|