Distributed and concurrent Squeak
Jerome Garcia
Jerome.Garcia at wj.com
Tue Oct 13 22:41:09 UTC 1998
I would like to second Patrick's desire and his lamentation that
communication and coordination is a bitch.
In fact, I would like to expand that desire to include the necessary
capability to run lots of Squeak images on a multitude of robots of
varying capabilities and with varying levels of autonomy but acting
cooperatively. I want to hook up a radio device to my PC and
initialize, communicate with, and control all these robots with as
little pain as possible. I would like to be able to communicate to
them in both synchronous and asynchronous modes. I would also like to
be able to debug any of the images from my PC.
I see some of this capability in my current work with semiconductor
processing equipment software. Our equipment runs distributed software
build on top of ControlWORKS which is a VisualWORKS framework for such
equipment. The controlling image runs on NT Workstation and
communicates to images running on VxWorks embedded systems which
eventually control the actuators for the hardware. Debugging of the
embedded images is done on the NT Workstation.
I lean toward the simple message passing approach. I want to be able
to ask an image via messages what it can do and how I should tell it
to do such things. I also want to be able to ask it if it can do some
particular thing I already have in mind. Of course, I want to be able
to do this programmatically.
Enough dreaming. Back to work.
Jerome E. Garcia
Jerome.Garcia at wj.com
jegarcia at adventurousmind.com
______________________________ Reply Separator _________________________________
Subject: Distributed and concurrent Squeak
Author: Patrick Logan <patrickl at servio.gemstone.com> at INTERNET
Date: 10/13/98 2:35 PM
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
|