[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[news.eclipse.tools.uml2] Re: Message signature

Hi Eric,

It makes sense to me that the message signature is obtained from the sending
end in the case where a receiving event is present.
Ultimately, it is the sending end that knows what is trying to call or
invoke.   There are scenarios where what is received might get "mixed up" in
which case the receiving event and sending event might not match up.
Also, when you say "the signature would be an operation of the
receiveOperationEvent because it is a call to an operation on ClassB"...
this might not be true.   An interface would define the contract between
communicating parts (lifeline), however, a particular part (lifeline) might
not implement the contract in question in which case it would not know how
to respond to the message.
It is the sender that is aware of the contract and is trying to communicate
in terms of that contract.

The spec is trying to cover all the bases when it says to use the sending
end... although in your specific scenario, it might be ok to use the
receiving end.

 I would guess that the reason we even bother with receiving events for
signature derivation is when gates are introduced.   In that case, the
sending event might not be obtainable since it is outside the context of the
interaction being modeled.

One might argue that the message itself should know about the signature of
the operation, however, I believe that events were introduced as a way of
decoupling the message from the event so that the same event might be used
for other action modeling.  Events are a way of tieing together concepts
spread across different diagrams.



Cheers,

- James.



"Eric Kop" <koperic@xxxxxxxxxxx> wrote in message
news:ehaeb8$ifi$1@xxxxxxxxxxxxxxxxxxxx
> Hi,
>
> I have a question regarding the signature of a message. The UML2.1
> specification says that "if both a sending and a receiving message event
are
> present, the signature is obtained from the sending event". This seems odd
> to me, I would expect it to be the receiving event?
>
> I created two lifelines with connectable elements of respectively Class A
> and Class B.
> I created a synchCall message between the lifelines with a 'sending'
> messageOccurrenceSpecification referring to a sendOperationEvent referring
> to an operation defined on Class A; and with a 'receiving'
> messageOccurrenceSpecification referring to a receiveOperationEvent
> referring to an operation defined on Class B. I would expect the signature
> of the message would be the operation of the receiveOperationEvent,
because
> it is a call to an operation on Class B.
>
> Is the specification wrong or is my interpretation/expectation wrong?
>
> Regards,
> Eric Kop
>
>