ant elder wrote:
Currently o.a.t.assembly.Implementation is extending
o.a.t.assembly.ComponentType, is there a reason for this, I guess I
though
an Implementation would have a ComponentType rather than be a
ComponentType?
...ant
Yes there is a reason for this. The current assembly model is designed
to be a logical model, a logical representation of the concepts of
component, componentType, constrainingType, independent of any syntax
used to describe them in XML, annotations or other artifacts.
So in a logical model, IMO a Component is an instance of a ComponentType
(in other words a Component has a ComponentType). An Implementation
exposes Services, requires References, declares Properties, and is a
(concrete) ComponentType.
The fact that aspects of the componentType are partly described in the
implementation artifact itself and (sometimes) in a separate
.componentType file does not change the Implementation -> ComponentType
relationship to a has-a instead of an is-a relationship. Actually, if we
were going to change the relationship to a has-a type relationship we
would realize quickly that both ends of the relationship always have
1..1 cardinality, which shows that it wouldn't be right.
Is there a specific issue with the fact that Implementation extends
ComponentType instead of pointing to it?
--
Jean-Sebastien
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]