--- Begin Message ---
I can't seem to get Lotus Notes and IE to work together to make this a
reply in the forum itself, so I am replying directly to you.

As with almost all "rules", the validity of the statement that actors
should not receive messages depends on the context.  At one extreme,
perhaps the tool in which the diagram is being depicted might use the
diagram as part of code generation.  In that case, there could be a
restriction against sending messages to actors because the code generation
process would not work properly if messages to actors were allowed.  In
most other contexts, I would not consider that restriction valid.  The
point of a diagram is to communicate.  To facilitate communication we
create rules (i.e. grammar) to help structure the communication and make it
more easily and accurately understood.  However, there are times when
communication is facilitated by "breaking" the traditional rules.

Sometimes the "rules" aren't applied in the proper context.  The use of
double negatives in language is a good example.  The statement "I don't
have no money" is ambiguous.  A mathematical application of the rule about
negatives would say that since there are an even number of negatives, the
statement means that the person does have money.  Let's assume that is the
rule and that if the speaker's intent was to say he was broke, he stated it
incorrectly.  The speaker has made an error in the use of language.  Now
consider the statement, "No, No, a thousand times No."  Since we compute
that the speaker has concatenated an even number of "No"s, we could
interpret the speaker's intent to be "Yes".  That clearly is not the intent
of the statement.  Stringing together negatives for emphasis is clearly a
valid use of negatives.

If the sequence diagram is being used during requirements gathering, it is
being used to help depict the problem to be solved.  Operations are part of
the solution, so the messages in the sequence diagram should not correspond
directly to operations at this point.  Why shouldn't we be allowed to show
the interaction (and these diagrams are more generically called interaction
diagrams) between an actor and an object in the system as a message?

If human actors can't receive messages when we use sequence diagrams during
design activities, shouldn't they also be restricted from sending them?  A
user interacts with the system through a user interface.  He doesn't send
messages to the user interface, he interacts in a way that causes an event
to take place within the interface.  The event in the interface then sends
one or more messages to participating objects.  When was the last time you
told your interface "OnOpenButtonClick" ?  If you accept that, then why
have human actors in sequence diagrams at all?

What about actors that are other systems?  If that system has a public API
why can't I send a message to it and depict that message in the sequence
diagram?  If I can't send that message, won't I be missing some key
information about how the system should function?

I guess that ultimately I am arguing against the premise that a message in
a sequence diagram must represent an operation.  I view messages more
abstractly.  They represent interaction between objects, some of which may
finally be implemented as operations.  To limit them to only depicting
operations limits the usefulness of sequence diagrams.
*************************************************************************

PRIVILEGED AND CONFIDENTIAL: This communication, including attachments, is
for the exclusive use of addressee and may contain proprietary,
confidential and/or privileged information.  If you are not the intended
recipient, any use, copying, disclosure, dissemination or distribution is
strictly prohibited.  If you are not the intended recipient, please notify
the sender immediately by return e-mail, delete this communication and
destroy all copies.

*************************************************************************


--- End Message ---

Reply via email to