Hi,
the UML 2 specification does not
grok (is silent on) containment.
However, by general consensus we know (agree) that shared aggregation
can only be containment of the target by reference and that containment of the target by value
can only be a composition.
In many tools (Rose for example) containment an aggregation are intimately linked (as indicated above). In EA they are separated; which, in my opinion, is no bad thing.

(Aggregation is a form of
meronymy - the relationship of part to the whole. UML 2 only provides for some of the 6 (generally accepted) forms of meronymy) BTW: sometimes meronymy is spelt meronomy (incorrectly in my view)
http://www.ilc.cnr.it/EAGLES96/rep2/node7.htmlAnyway, the crux of my post is: in those tools where aggregation and containment are linked, the containment control is in the opposite end to the role. Thus if Class A aggregates Class B, and the aggregation item is on the A end, when you look at the A end role there is a subcontrol marked "Containment of B" - where you can indicate "By Reference, By Value or Unspecified" - and the form of aggregation changes appropriately?.
In EA, the containment appears to be related to the role itself. Thus if I want to indicate the above example, I would go to the A role, mark the aggregation as shared, go to the B role and mark the containment as "By Reference"
Have I got this right?
Cheerz,
Paolo