Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!snorkelwacker.mit.edu!ira.uka.de!iraun1!metzger From: metzger@t500m0.ira.uka.de (Metzger Rolf) Newsgroups: comp.lang.smalltalk Subject: Distributing Objects in Smalltalk-80 r4.0 Message-ID: Date: 10 Jun 91 13:42:21 GMT Sender: news@ira.uka.de (USENET News System) Distribution: comp.lang.smalltalk Organization: /usr/users_3/metzger/.organization Lines: 53 As a newcomer to Smalltalk I have to make the Smalltalk-80 system able to distribute objects among different machines or different images on the same machine. In the main points I can follow the suggestions of John Bennett (Distributed Smalltalk) and Paul McCullough (Transparent Forwarding). So I have ProxyObjects for the objects on the other machines and I did overwrite the 'does-not-understand'-message of the class ProxyObject, to forward the message to the remote machine. But I have some problems with the access of the objects on the remote machine and the management of errors occuring during the execution on the remote machine. Maybe, anyone can help me. My questions are: 1.) How can I access the objects on the remote machine ? I am working so far only with global objects, which I can access by their name in the Smalltalk-Dictionary. In the literature above they managed it with the Object-Pointer, but in Smalltalk-80 v4.0 this pointer is not unique. Is there anywhere an Object-Table, where every object is listed, or what can I do ? 2.) To save a complex object structure, I have the BOSS (Binary Object Streaming Service) of the Advanced Programming Toolkit. I have some problems to use it with an ExternalConnection and a ReadAppendStream. Does anyone have an example for me, how to communicate on Unix-Sockets and ReadAppendStreams with BOSS ? 3.) When I have ProxyObjects using the 'does-not-understand' message to forward the message to the remote machine, I have to overwrite some of the messages of class Object. But some messages as class and basicSize etc. may not be overwritten, says the documentation of the system. But e.g. to inspect a remote object, I have to overwrite such messages. But when I overwrite e.g. basicSize, I think the MemoryManagement will not work correct, because space is allocated for the size of the object on the remote machine and not for the size of the Proxy-Object.. What can I do here, and which messages must be overwritten ? This is all for now. I hope there is somebody, who can help me. Thanks so far ! Address: Rolf Metzger Mailaddress: D-7500 Karlsruhe METZGER%i70vca@iravcl.ira.uka.de Haendelstr. 25 Or: ++49/721/857351 tom@ira.uka.de West-Germany