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 *************************************************************************
