OK, I give up!

The benefits of telling my beginner UML students *not* to send messages
to actors are dubious, and there are better ways of teaching.

Simplest thing: in a sequence diagram, an outbound message that crosses
the system boundary does not imply the same sort of thing as messages
within the system.  I can then talk about the weird behaviour of human
actors vs. inhuman actors.

Oldfield and Angay win the virtual beer.

Alan Yezierski, of hartfordlife.com, gets special mention (and a beer),
because I initially misread his domain as hardforlife.com, and that
improved my day.

Yezierski also prompts me to add a few footnotes:

Misreading of "No, no, a thousand times no!" is based on use of "no" as
a logical negation, when that is clearly not the intention of the
speaker.  "No parking" and "no rocket scientist" are examples of
negation.  A linguist would characterize "No!" as an expletive, I think
-- meaning that they don't know what to do with it when they are
parsing.  Hooting at a linguist also creates numerous academic problems.

"If human actors can't receive messages when we use sequence diagrams
during design activities, shouldn't they also be restricted from sending
them?" -Yezierski.  That's stated like a syllogism, but it doesn't
follow.  We are using design tools to reveal what the system must retain
and do, and a message to an object from an actor implies an operation of
the object -- a kind of information about the system that we do not get
from messages *to* the actor.  Our biased interest in the system creates
an asymmetry.

"When was the last time you told your interface 'OnOpenButtonClick' ?"
-Yezierski.  Actually, this is a real good point about semantics.  One
of my objects would "hear" the human say "handleClick(openButton)",
because all messages are injunctive -- they command the object to do
something.  I find that this rule makes it easier for me to understand
the sequence diagram, and produces a useful semantics at implementation
time.

"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?"  Actually, that is what Prof. T has been saying --
you can send a message to a nonhuman actor, according to the old
Tarkington Kung Fu.  The new Kung Fu (take a sip of your beer) applies
polymorphism to messages, by saying that you *can* send a message to a
human, but the implications of messaging are different across the system
boundary.  Whew!

Thanks, everybody!  This has been fun.  Now, I shall trudge wearily back
into the dank cave where I mark endless stacks of newbie case studies. .
. .

-Eric
************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Post or Reply to: [EMAIL PROTECTED]
* Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
*    http://www.rational.com/support/usergroups/rose/rose_forum.jsp
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*    To: [EMAIL PROTECTED]
*    Subject: <BLANK>
*    Body: unsubscribe rose_forum
*************************************************************************

Reply via email to