| John K. Bennett. The Design and Implementation of Distributed Smalltalk. In Proceedings of the Second ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 318--330, Orlando, Florida, October 1987. Special Issue of SIGPLAN Notices, Volume 22, Number 12, December, 1987. |
....on an object in Emerald or Amber is always executed at the location of the object, using remote procedure call if the object is remote. The argument objects of a remote invocation can also be moved to the site of the invocation by specifying call by move parameter passing. Distributed Smalltalk [Ben87], Sloop [Luc87] Ivy [Li88] DEMOS UP [PUS3] Par [CA89] and Comandos [MG89] have migration mechanisms similar to those in Emerald and Amber. In certain situations neither remote procedure call (commonly referred to as function shipping) nor object migration (commonly referred to as ....
J.K. Bennett. The design and implementation of Distributed Smalltalk. In Proceedings of the Object-Oriented Programming Systems Languages and Applications Conference, pages 318-330, 1987.
....2.1. Implementing inheritance in distributed architectures Despite the diffusion of both object oriented models and distributed architectures, only a few systems and proposals take into account the problem of implementing inheritance in a distributed environment. In Distributed Smalltalk (DS) [11], the whole class inheritance graph is required to be co resident with its instances. Co residence is obtained both by partitioning classes in the distributed architecture and by replicating some of them (notably system classes) Objects can be moved (or copied) from one site to another where ....
Bennett, J.K., "The Design and Implementation of Distributed Smalltalk, " Proc. of the 2nd Annual Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), pp. 318-330, ACM Press, October 1987.
....for a system object in the programming language world, ffl The export mechanism, used to export a language object to the system world, where it can be treated as a system object. The proxy introduced in our technique is much the same as the proxies used in any other system [McCullough 87] Bennett 87] However, the proxy is not sufficient for 1 users who want to treat the two types of objects in the same fashion. Thus, we propose a mechanism for treating a language object as a system object. Any system user can send a message to a language object, if it is exported, in the same way as it can ....
....object (not an abstraction of the entire system world) The language user can use system services as an effect of message passing, as in the uni object single language model (See Figure 3. 1) The idea and principle of using a proxy bears close resemblance to those of other systems [McCullough 87] Bennett 87] In these systems, a proxy was introduced to communicate with other remote Smalltalk objects. In our framework, however, a proxy is introduced to use system services in a more flexible manner than is possible 6 a Language world proxy language object system object System world message ....
John K. Bennett. The Design and Implementation of Distributed Smalltalk. In Proceedings of Object-Oriented Programming Systems, Languages and Applications in
....and shell instances the processes of the OS. The most important difference between BETA and Emerald is that Emerald is lacking support for persistent objects 6 . The proxy approach has been used in a number of implementations of distributed object systems. For example, Distributed Smalltalk [2] uses the concept of proxy objects in the implementation. In contrast to Smalltalk, BETA is a statically typed language using runtime type checks only at assignments where covariance means that type checking is not possible at compile time [11] The pattern of a BETA object is immutable, thereby ....
....7 The proxy approach Until this point we have primarily been focusing on the logical model of distributed programming in BETA. This section briefly discusses a general proxy based implementation of distributed BETA. The implementation of distributed BETA is based on the notion of proxy objects [2]. One possible alternative would be to use a single large (e.g. 64 bit) distributed shared memory [6, 9] However, this possibility is ruled out by the CSCW applications needing support for heterogeneous wide area networks. In the proxy approach, remote references are, as illustrated in figure 9, ....
J.K. Bennett. The design and implementation of distributed smalltalk. In OOPSLA PROCEEDINGS, 1987.
....parts of an application invoke remote objects, the problem set to the programmer is the transparency of access to these objects. This is typically done with a two layer mechanism : a reference layer and a communication layer. Reference layer may be implemented by proxies [Decouchant 86] Bennett 87] A proxy is an object available in a given machine that stands for an other object living in another one. Messages that are sent to the proxy are automatically routed to the remote object. Communication layer may be implemented by a RPC library, called RPC Talk [Wolinski 94] that we developed ....
Bennett, John K. The Design and Implementation of Distributed Smalltalk. Proceedings of OOPSLA '87, pp. 318-330 (1987).
....the object migration facilities have been developed [15, 1, 8, 2] Also, a computational model, called the Computational Field Model [17] has been proposed for the optimized allocation of objects. Most current distributed programming languages (DPLs) such as Emerald [8] Distributed Smalltalk [3], and COOL [7] provide the programmer with explicit object location control through programming languages. These languages have location control facilities such as explicit movement, object attachment, and parameter passing. However, these DPLs have two problems. First, the location This work ....
....Section 7 summarizes this paper. 2 Object Migration in DPLs In this section, we discuss several useful object location control facilities which are necessary in DPLs and the problems with existing DPLs. 2. 1 Object Location Control Facilities DPLs such as Emerald [8] Distributed Smalltalk [3] and COOL [7] feature a language primitive for explicit object movement. Programmers can move objects between hosts by using this primitive whenever necessary. Programmers may also wish to explicitly specify which objects move together. If an object references other objects, these referenced ....
John. K. Bennett. The Design and Implementation of Distributed Smalltalk. In Proceedings of ACM OOPSLA'87, pages 318--330, October 1987.
....objects in CST. CST is thus an object oriented concurrent language [22] HoME is just an objectoriented language in which processes can be executed in parallel. CST is implemented on a uniprocessor, not a multiprocessor. Examples of Smalltalk which can be used on a distributed environment are [3] [5] 16] These systems allow objects on different machines to be connected by a network for sending and responding to messages. We did not design HoME on the premise that HoME can be executed on a distributed environment. 7 Concurrent Programming in HoME Section 2 discussed concurrent ....
John K. Bennett, The Design and Implementation of Distributed Smalltalk, Proc. of OOPSLA'87, 318-330, 1987.
.... A need Message passing control is the corner stone of a broad range of applications from application analysis (trace[BH90, PWG93] interaction diagrams, class affinity graphs) to the introduction of new language features (multiple inheritance[BI82] interfaces [Sch96] distributed systems[GGM95, Ben87, McC87] active objects [Bri89] CLOS is one of the rare languages that made the effort to explicitly provide message passing control at the metalevel via its MOP [KdRB91, Bec95] In Smalltalk, # This research is supported by the Swiss National Science Foundation, grant 2000 46947.96. This ....
....that display interaction diagrams, class affinity graphs, graphic traces [BH90, PWG93, Bra96, Mic96] The second category is Smalltalk language extension. In such a case message passing control allows one to define new features from within the language itself: Garf [GGM95] Distributed Smalltalk [Ben87] or [McC87] introduce object distribution in a transparent manner. Language features like multiple inheritance [BI82] backtracking facilities [LG88] instance based programming [Bec93b, Bec93a, Hop94] Java interfaces [Sch96] or inter objects connections [DBFP95] have been introduced. Futures ....
[Article contains additional citation context not shown here]
J. K. Bennett. The Design and Implementation of Distributed Smalltalk. In OOPSLA'87, pp 318--330, 1987.
.... languages have been designed, see for instance Hybrid [30] Pool [3] DROL [34] and more recently Java [23] Also, many object oriented languages have been extended to address concurrency, parallelism, and distribution issues, see for instance ConcurrentSmalltalk [35] Distributed Smalltalk [9], Eioeel [11] ProActive [14] 1 2 Most of these works ooeer a setting for easy parallel, distributed, and concurrent programming, starting from a sequential application, and making it run on a parallel or distributed architecture. Some languages provide a unied syntax (no syntactic ....
J. K. Bennett. The design and implementation of Distributed Smalltalk. In Proc. OOPSLA '87, ACM SIGPLAN Notices 22 (12), pages 318330, December 1987.
....the object migration facilities have been developed [15, 1, 8, 2] Also, a computational model, called the Computational Field Model [17] has been proposed for the optimized allocation of objects. Most current distributed programming languages (DPLs) such as Emerald [8] Distributed Smalltalk [3], and COOL [7] provide the programmer with explicit object location control through programming languages. These languages have location control facilities such as explicit movement, object attachment, and parameter passing. However, these DPLs have two problems. First, the location control ....
....Section 7 summarizes this paper. 2 Object Migration in DPLs In this section, we discuss several useful object location control facilities which are necessary in DPLs and the problems with existing DPLs. 2. 1 Object Location Control Facilities DPLs such as Emerald [8] Distributed Smalltalk [3] and COOL [7] feature a language primitive for explicit object movement. Programmers can move objects between hosts by using this primitive whenever necessary. Programmers may also wish to explicitly specify which objects move together. If an object references other objects, these referenced ....
John. K. Bennett. The Design and Implementation of Distributed Smalltalk. In Proceedings of ACM OOPSLA '87, pages 318--330, October 1987.
....feature names in the class, however. Local variables are initialized to void at the beginning of a routine or iter. 2.3.2 Assignments Simple assignment statements are used to assign objects to locations and can also declare local variables. a: 5 b(7) c: 5 A: d: 5 [3] 5 e[7,8] 5 11 B: [7,8,9]: 5 : f g:INT: 5 h: 5 The expression on the righthand side must have a return type which conforms to the declared type of the location specified by the lefthand side. We consider each of the allowed forms for the lefthand side in turn. ffl a: 5, ident. If ident refers to a local variable, to ....
....call on self with a semantics that is described in the next item. ffl b(7) c: 5, A: d: 5 ident. These forms are syntactic sugar for calls on a routine named ident with the righthand side as an argument. The two examples would be transformed into b(7) c(5) and A: d(5) ffl [3] 5, e[7,8] 5, B: [7,8,9]: 5. These forms are syntactic sugar for calls on a routine named aset with the array index expressions and the righthand side as arguments. The three examples would be transformed into aset(3,5) e.aset(7,8,5) and B: aset(7,8,9,5) ffl : f. When the lefthand side is an underscore, the righthand ....
[Article contains additional citation context not shown here]
John K. Bennett. The Design and Implementation of Distributed Smalltalk. In OOPSLA '87 Conference Proceedings, pages 318--330, October 4-8 1987. Proceedings also published as: SIGPLAN Notices, Vol 22, No 12, December 1987.
....have been added to Smalltalk. Whereas Decouchant and the system of Schelvis and Bledoeg (Oc e Netherland) extended the Smalltalk virtual machine, the other projects chose to add proxy and message objects at the virtual image level. synchronization. fault tolerance. Availability: References: [27] [77] 159] 168] 189] 2.40 Distributed Smalltalk Process Developer: Description: Extension of Goldberg and Robson s Smalltalk (see section 2.92) oo. See Smalltalk 80 (section 2.92) memory model. parallelism. See Smalltalk 80 (section 2.92) The fork message can handle the node ....
John K. Bennet. The design and implementation of distributed Smalltalk. In Proc. of OOPSLA'87, Conf. on Object-Oriented Programming Systems, Languages, and Applications, pages 318--330, Orlando, Florida, October 4--8, 1987. ACM SIGPLAN Notices 22(12).
.... Harold Carr Gamma carr cs.utah.edu Distributed Eiffel [103] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A m y t i v i t c a y r a d n u o b Distributed Smalltalk Object [31, 84, 172, 181, 208] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A m y t i v i t c a y r a d n u o b 46 Distributed Smalltalk Process [157] Phi Phi Delta Delta H H A A Phi Phi Delta Delta H H A A m y t i v i t c a y r a d n u o b DoPVM ....
John K. Bennet. The design and implementation of distributed Smalltalk. In Proc. of OOPSLA '87, Conf. on Object-Oriented Programming Systems, Languages, and Applications, pages 318--330, Orlando, Florida, October 4--8, 1987. ACM SIGPLAN Notices 22(12).
....libraries [94, 33, 27, 90] SOS [206, 169] Rosette [217] POOL2 [8, 9, 10] We have however described some of their more interesting characteristics earlier. Parallel Versions of Smalltalk We first look at some parallel implementations of Smalltalk. Distributed Smalltalk Bennett [31] describes an implementation of Distributed Smalltalk on a network of Sun 2 workstations. It aims to support a multi user environment and to allow interaction among multiple processes on different workstations. It does not contain any language extension to Smalltalk. The implementation does not ....
John K. Bennett. The Design and Implementation of Distributed Smalltalk. In OOPSLA '87 Conference Proceedings, pages 318--330, October 4-8 1987. Proceedings also published as: SIGPLAN Notices, Vol 22, No 12, December 1987.
....Distributed Object Management within a Loosely Coupled Repository Environment mentation of mobility features and requires significant restrictions concerning the use of memory pointers within mobile objects. There have also been several distributed extensions to the Smalltalk system, for example [Ben87a, Cor90a]. These approaches enable Smalltalk objects to move between workstations and to be invoked transparently. The approaches summarized above only support transient objects and do not incorporate persistent storage. As opposed to that, the Hermes system [Bla89a] supports persistent mobile objects. A ....
J. K. Bennett, "The Design and Implementation of Distributed Smalltalk," ACM OOPSLA Conf., Orlando, pp. 318-330 (1987).
....that has never been referable outside the node. We chose a simple synchronization between the global and local garbage collectors on each node by not reclaiming garbage in the sweep phase of the global collector. Instead the global collector clear the ReferenceGivenOut bit for the garbage objects [Bennett 87] The local collector will then be able to collect the garbage next time it runs. To secure that the local collector does not sweep objects in the gray set of the global collector, we defer a local garbage collection until the global gray set on the node has no local references. This delay is ....
John K. Bennett. The design and implementation of distributed smalltalk. In OOPSLA'87, ACM Conference on Object-Oriented Programming, Systems, Languages and Applications, Proceedings published in: SIGPLAN Notices 22(12), pages 318--330, ACM SIGPLAN, Association for Computing Machinery, Orlando, Florida, USA, October 1987.
....created from them. Most models supporting the class concept also define a number of rules for them, for example that a class should always be co located with its instances. These are important distinguishing parameters because in this example the rule can have impact on an object s mobility [2]. 2.1.3 Naming Object models have different ways of identifying and referencing objects. Objects may be identified by a symbolic name or have some universally unique identifier (UUID) Object models may allow different symbolic names to be assigned to the same object or require that there is a ....
....method should be executed is a feature of many object oriented languages. Distributed object models use this mechanism for various things. To see why it is important to discuss dynamic binding, consider the following example. Dynamic binding is an integral part of the Distributed Smalltalk model [2]. To determine which method code should be executed, the system has to traverse the class hierarchy to find the parent class that implements the method. If the class hierarchy is distributed over the system 1 the look up process can become rather expensive since it might have to cross the ....
BENNETT, J. K. The Design and Implementation of Distributed Smalltalk. In Proceedings OOPSLA (Orlando, Fl., Oct. 1987), ACM, pp. 318--330.
....facilities. Indeed, Smalltalk 76 [17] was the first language to cast the elements of an object oriented language itself, such as classes, as first class objects. The ability to trap messages that are not understood has been used to implement encapsulators [26] and proxies in distributed systems [2, 23]. The ability to manipulate contexts has been used to implement debuggers, back trackers [21] and exception handlers [15] The ability to compile code dynamically is used by the standard programming environments and makes it easy to define new code management tools. Smalltalk programmers can ....
....the original methods and which are the new selectors. 3.4 Dispatching Wrapper One way to wrap new behavior around existing methods is to screen every message that is sent to an object as it is dispatched. In Smalltalk, the doesNotUnderstand: mechanism has long been used for this purpose [26, 2, 10, 12, 14] This approach works well when some action must be taken regardless of which method is being called, such as coordinating synchronization information. Given some extra data structures, it can be used to implement wrapping on a per method basis. For example, Classtalk [8] used doesNotUnderstand: to ....
John K. Bennett. The design and implementation of distributed Smalltalk. In Proceedings OOPSLA '87, pages 318-330, December 1987. Published as ACM SIGPLAN Notices, volume 22, number 12.
....magnitude longer than an instruction cycle. This is particularly the case for RISC processors. For efficiency, avoiding the processor idling while waiting for a response is vital. In most evaluations of distributed protocols, communication overhead is the principal metric. Published measurements [Bennett, 1987; Schelvis and Bledoeg, 1988] indicate remote cell access to be slower than local by two orders of magnitude. According to Arvind and Iannucci [1987] two main issues must be addressed by a successful exploitation of multiple processors: latency and synchronization. In general, processes that ....
....Like El Habbash et al. [1992] Shapiro et al. [1990] propose a total ordering on sites to avoid thrashing. Fuchs [1995] and Piquer [1995] describe how mark scan can be applied to the inverse reference graph. 3.4. 3 Pipelined Reference Counting In a prototype distributed Smalltalk 80 system, Bennett [1987] describes a scheme that uses deferred reference counting for local collection and both a mark scan and reference counting collector for global collection. The collector relies on the local garbage collector to enumerate the exit records, called proxy cells. Bennett s fast global reference counter ....
[Article contains additional citation context not shown here]
Bennett JK (1987) The design and implementation of distributed Smalltalk, OOPSLA '87, ACM SIGPLAN Notices 22(12), 318-330.
....to preserve the logical type of the migrated object. In addition, Trap Do is applicable to a variety of existing programming languages. This property contrasts with typical systems in which either original languages [11, 1] are developed or a single language is extended for distribution [20, 2, 12]. Generally, it is a difficult task to migrate objects in existing systems as pointed out in Douglis and Ousterhout [8] In brief, this is because the entire state of an object may be scattered in the operating system data structures. Trap Do provides the distributed dynamic methods that utilizes ....
John K. Bennett. The design and implementation of distributed smalltalk. In ACM OOPSLA'87, pages 318--330, 1987.
....are used as representatives when referencing actors in other ORGs. This mechanism of remote reference and reference interpretation during communication is the same mechanism used in distributed (OBCP) implementations for addressing and communicating with remote objects. see for instance [Bennett 87] One correspondence with the symbolic interactionist based DAI social theory is that the general mechanism of arbitrary symbolization of actions and objects has been proposed as a basis for social aggregation and the development of mind [Charon 79] Moreover, the formation of dynamic ....
J.K. Bennett, "The Design and Implementation of Distributed Smalltalk," OOPSLA'87, Special Issue of SIGPLAN Notices, 22(12), pages 318--330, December 1987.
No context found.
John K. Bennett. The Design and Implementation of Distributed Smalltalk. In Proceedings of the Second ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 318--330, Orlando, Florida, October 1987. Special Issue of SIGPLAN Notices, Volume 22, Number 12, December, 1987.
....the user from the fine details of remote interaction improves both productivity and reliability. In this chapter we will describe how these and other design decisions that we have discussed in the preceding chapters are implemented in Distributed Smalltalk. This information is summarized in [Bennett 87] 71 6.1 An Overview of Distributed Smalltalk Distributed Smalltalk is implemented on top of a prototype version of the PS Smalltalk interpreter [Deutsch 84] The implementation is written primarily in Smalltalk. The system currently runs on a network of Sun 2 workstations linked by a 10 ....
John K. Bennett. The Design and Implementation of Distributed Smalltalk. In Proceedings of the Second ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 318--330, Orlando, Florida, October
No context found.
John K Bennet. The Design And Implementation of Distributed Smalltalk. Technical report, Department of Computer Science, University of Washington, 1987.
No context found.
J. K. Bennett. The Design and Implementation of Distributed Smalltalk. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Norman Meyrowitz, editor, volume 22, pages 318--330, New York, NY, 1987. ACM Press.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC