Distributed and concurrent Squeak
Patrick Logan
patrickl at servio.gemstone.com
Tue Oct 13 21:35:00 UTC 1998
I would like to create an application which runs seamlessly across
multiple machines and platforms, but it's too hard because the
communication and coordination is a bitch.
Possible solution:
Expand the "image" concept to encompass an
entire "world".
Not having access to a Sun platform I've never run Self, but the
descriptions I've read make it sound like Self did something like
this, at least for the development "half" (the other half being
the deployment "half").
Basically I want collaboration with little pain and lots of gain.
Another approach is the simple message passing approach. This would be
interesting to consider, given Alan Key's recent email to this list
about "messages" vis-a-vis "objects".
Consider the programming language named Erlang from Ericsson. It is a
concurrent and distributed language with no shared memory. All
communication is by sending high-level messages. Receivers can pattern
match on messages with time outs, etc. What Erlang calls "processes"
can be linked to each other for high level process control and
reliability.
There are several production-quality communications programs built
with hundreds of thousands of lines of Erlang code, so it seems to
have some practicality, which may meet the "lots of gain"
requirement. The simplicity of it seems to meet the "little pain"
requirement.
Another approach is the Linda model which provides more of a "shared
name space". The Erlang approach provides a name space of processes
where Linda provides a name space of messages. Gemstone provides a
model of the "worldwide multi-user image" but that is a much more
complicated approach for the implementor.
--
Patrick Logan mailto:patrickl at gemstone.com
Voice 503-533-3365 Fax 503-629-8556
Gemstone Systems, Inc http://www.gemstone.com
"I am not a Church numeral; I am a free variable!"
More information about the Squeak-dev
mailing list
|