Compound AUI

Dear all,

concerning the problem of AbstractCompoundIU, I attach a picture which
might compound (pun intended) the different needs.

In this case we are not applying the Composite pattern, thus leaving
the possibility that a AbstractInteractionUnit not originally compound
might become it. A boolean attribute compound is used to this effect.
The way in which an AbstractInteractionUnit (for which compound==true)
is composed, is described through an explicit AIUComposition class,
which could be used for the qualification of the composition. At the
moment I propose one type of qualification, i.e. the rationale,
expressed with reference to a choice of PRESENTATION (the elements in
the composition have to be presented together) and BEHAVIOUR (the
realisation of a behaviour at the compound level requires that the
behaviour is propagated to units in the composition). Other literals
might be added to CompositionRationaleKInd. The attribute
compositionRationale is therefore an array of possible literals. The
same composition could be used for many reasons, or a unit might
entertain different compositions for different reasons, e.g. a certain
set of elements must be presented together, but only some of them have
to react together, plus possibly some others. The multiplicities
reflect these possible choices.

Consequences:

1. there is no AbstractCompoundIU as such (which either had to be
included in the metamodel according to the composite pattern, or could
not be derived from the existence of the aggregation as a class).

2. the composition is totally flexible. New compositions can  be added
or old ones removed, or reasons for composition can change

3. we can add some semantics to the composition itself.

4. some validity constraints are needed: compositions exist only if
the value of compound for a AIU is true, a rationale kind can appear
only once in any composition for a same AIU.

I hope this helps.

best

paolo

Received on Thursday, 20 September 2012 08:51:58 UTC