Lots of concurrency

Ken Kahn kenkahn at toontalk.com
Tue Oct 30 19:32:58 UTC 2001


Richard A. O'Keefe wrote:

>
> The question I think is interesting is whether telling students to
> think in terms of objects TALKING to each other makes it harder for
> them to think of concurrent implementations.  Would some other
> metaphor (perhaps sending couriers with messages, or thinking about
> a factory with things concurrently moving from machine to machine
> at the same time) make it easier for them to think of and understand
> concurrency?
>

Before settling upon a carrier pidgeon metaphor for communcation in ToonTalk
I considered lots of other alternatives including a postal system with mail
carriers and mail boxes, rivers where you can place floating messages to
those downstream, wires, fax machines, email, and telephones. I never
considered face-to-face talking since I took for granted that objects are
spread out spatially. I think the answer to Richard's question is that the
right choice of metaphor can significantly facilitate thinking and
understanding concurrent programs.

Wires may be how messages are really passed within and between computers but
wires are not an ideal metaphor. The messages are invisible. Wires cannot be
sent along wires. Directionality isn't apparent. Wireless communication is
even worse.

Talking or telephones aren't good because both parties need to be available
at the same time. Many-to-1 communication by telephone is confusing. While
phone numbers can be communicated over the phone that would lead to a model
where numbers denote objects or communication channels. So can they be made
up and dialed at random? Not good.

Even the postal system doesn't provide an ideal metaphor. If you want to
send the receiving end of a communication channel to someone do you have to
pick up your mail box and send it by mail to someone? And then does the
postal system know that the mailbox has moved or do you need to think about
forwarding addresses?

A bird that when given something flies to her nest and leaves it there and
returns works out very well. You can give a bird a box that might contain
other birds and nests - not too strange. The only strange thing is that a
bird always finds her nest no matter where it has been moved to. But that
doesn't seem to cause any confusion.

> All I know about Ken Kahn's ToonTalk is what I've read in this thread,
> but it sounds as though uses a "physical" rather than "verbal"
> metaphor, so I think his observations are particularly interesting here.
>

You all are welcome to try out ToonTalk. There is a free trial version and
you are all welcome to try to beta version as well. It only runs on PC with
Windows (or Macs emulating a PC with Windows - don't know about Linux
emulators). Details at www.toontalk.com

Best,

-ken kahn






More information about the Squeak-dev mailing list