Critics concerning containment in ArgoUML, that is where
one model element forms a component part of another.
The current version of ArgoUML has the following critics
in this category.
15.17.1.
Remove Circular Composition
Suggestion that there is a series of composition
relationships (associations with black diamonds) that form a
cycle, which is not permitted.
15.17.2.
Duplicate Parameter Name
Suggestion that a parameter list to an operation or
event has two or more parameters with the same name, which is
not permitted.
15.17.3.
Two Aggregate Ends (Roles) in Binary Association
Only one end (role) of a binary association can be
aggregate or composite. This a well-formedness rule of the
UML 1.4 standard.
Aggregation and composition are used to indicate
whole-part relationships, and by definition, the
“part” end cannot be aggregate.
To fix this, identify the “part” end of
the association, and use the critic wizard (the
Next> button, or manually set its aggregation to
none using the button 2 pop-up menu or the
property sheet.
Composition (more correctly called composite
aggregation) is used where there is a whole-part relationship
that is one-to-one or one-to-many, and the lifetime of the
part is inextricably tied to the lifetime of the whole.
Instances of the whole will have responsibility for creating
and destroying instances of the associated part. This also
means that a class can only be a part in one composite
aggregation.
An example of a composite aggregation might be a
database of cars and their wheels. This is a one-to-four
relationship, and the database entry for a wheel is
associated with its car. When the car ceases to exist in the
database, so do its wheels.
Aggregation (more correctly called shared aggregation)
is used where there is a whole-part relationship, that does
not meet the criteria for a composite aggregation. An example
might be a database of university courses and the students
that attend them. There is a whole-part relationship between
courses and students. However there is no lifetime
relationship between students and course (a student continues
to exist even after a course is finished) and the
relationship is many-to-many.
15.17.4.
Aggregate End (Role) in 3-way (or More) Association
Three-way (or more) associations can not have aggregate
ends (roles). This a well-formedness rule of the UML 1.4
standard.
Aggregation and composition are used to indicate
whole-part relationships, and by definition can only apply to
binary associations between model elements.
To fix this, manually select the association, and set
the aggregation of each of its ends (roles) to
none using the button 2 pop-up menu or the property
sheet.