The DOWL distributed object-oriented language

Bruno Achauer · Communications of the ACM · 1993

ith the advent of workstations and efficient networks, distributed systems are becoming common, and these systems are inherently more complex to program than their centralized counterparts.The additional mechanisms introduced to access information on distant nodes are a major source of complexity.Within a single address space, procedure call is a well-understood mechanism for the transfer of both control and data.In contrast, messagebased systems require the programmer to deal with the details of message packaging, locating the message target, and asynchronous communication.Remote procedure call (RPC) [4] provides', the familiar procedure call abstraction and hides most of the details of control and data transfer.However, the programmer is still responsible for locating the target of the call.Other problems arise from subtle semantic differences between RPC and local procedure call and because RPC imposes a client/server model on the distributed application [16].Recently, the object-oriented paradigm has attracted much interest because it achieves data abstraction, software modularity, and code reuse in a natural way.Operations on an object are invoked by sending messages to the object.Thus, communication among objects maps readily to the communication in a distributed system, and local and remote invocation are both syntactically and semantically identical.Since there is no distinction between local and remote objects, it is possible to move objects at run time between the nodes of the distributed system, thus allowing for dynamic load adaptation and reconfiguration.However, total transparency is not desirable: a few distribution-related features are required to take full advantage of distribution and to tune performance (e.g., to keep related objects close together to avoid remote invocation), but their use can be deferred to a late implementation (preinstallation) phase.Integrating distribution and objectoriented languages has attracted much attention in recent years.Some well-known systems offering both location-independent invocation and object migration are Emerald [5,6,10], Amber [7], and Distributed Smalltalk [2,3,8, 11].Emerald is a strongly typed, object-based language.It provides several language constructs to exploit the distributed environment: • Mobility of objects can be restricted

Read the paper · More papers on PaperTik