A Squeak Packaging Proposal

ajh18 at cornell.edu ajh18 at cornell.edu
Fri Aug 10 17:00:53 UTC 2001


Hans-Martin Mosner <hmm at heeg.de> wrote:
> Smalltalk is all about messages being sent to objects, and objects being
> returned as results. As the sender of a message, you're not supposed to
> know much about the class or implementation version of the objects you
> interact with.

I agree, polymorphism and encapsulation are great programming
abstractions, but at the (distributed) system level, after the program
is written, you want to know that all execution paths in the program
will work, and don't care anymore about how it was written (message
passing, function calls, gotos...).

Let me better explain my vision.  I picture a Squeak environment, which
is a package plus all its prerequisites, as being equivalent to today's
image.  It contains all the globals, classes, and methods that processes
running in it will ever need.  Other environments may also be active
with their own processes, but this is like running separate images
(except they share common packages).

Lets define a Squeak system as a set of processes running in a single
Squeak environment (equivalent to a running image today).  Then a
distributed Squeak system is a set of processes running in a single
Squeak environment, but on multiple machines.  This means the Squeak
environment has to be duplicated on every machine, and kept in synch
when globals change, etc.

A distributed Squeak system has objects dispersed among different
machines, but with both intra- and inter- machine pointers, it makes it
appear like one big image of objects.  When a process sends a message to
a remote object that leg of that process continues on the remote
machine.  Also, objects are free to move to different machines.  A load
balancing process, for example, could take advantage of this.

With packages we can create distributed systems impromtu, by combining
all packages of interested parties into the prerequisites of a new
package and making that new package the environment for the new
distributed system.

I hope this explains things a bit more.
Thanks,
Anthony




More information about the Squeak-dev mailing list