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