A language with distributed scope - CiteSeerX

May 31, 1995 - Luca Cardelli. Digital Equipment Corporation, Systems Research Center .... distributed environments: for telecollaboration, telemarketing, navigation, etc. ... The situation is analogous to the extension of local procedure call to.
140KB Sizes 2 Downloads 274 Views
Contents

Obliq

Distributed Scripting ......................................................... 3 Obliq Language Overview ................................................4 What Makes a Good Distributed Scripting Language?..... 6 Distributed Lexical Scoping ..............................................7 Uses of Obliq ....................................................................8 Binaries / Documentation ..................................................8 Objects ..............................................................................9 Object Operations............................................................10 Network objects ..............................................................12 Lexical Scoping and Closures ......................................... 13 Legend ............................................................................. 14 Value Transmission......................................................... 15 Distributed Techniques ................................................... 17 A Compute Server ........................................................... 18

A language with distributed scope Luca Cardelli Digital Equipment Corporation, Systems Research Center http://www.research.digital.com/SRC/personal/Luca_Cardelli/home.html [email protected]

Remote Execution Engines ............................................. 20 Remote Agents ............................................................... 22 Agent Migration ............................................................. 25 Agent Hopping ............................................................... 28 Safe Execution ................................................................ 34 Concurrency in Obliq ..................................................... 35 Self-inflicted Operations................................................. 36 Protected Objects ............................................................ 37 Serialized Objects ........................................................... 38 Obliq Concurrency Primitives ........................................ 40 A Serialized Queue ......................................................... 42 Object Migration............................................................. 44 Modula-3 Network Objects ............................................ 49 References....................................................................... 50

Abstract Obliq is lexically-scoped, untyped, interpreted language that supports distributed object-oriented computation. Obliq objects have state and are local to a site. Obliq computations can roam over the network, while maintaining network connections. Distributed lexical scoping is the key mechanism for managing distributed computations.

May 31, 1995 11:28 AM

Obliq

1

May 31, 1995 11:28 AM

Obliq

2

Distributed Scripting

Obliq Language Overview

¢ Scripting languages are (normally) interpreted languages used to coordinate applications. They are particularly popular for connecting system services (programmed in “real languages”) to human interfaces (non-programmable). They are supposed to be used mostly by end-users and system managers.

¢ Distributed computation 1 network objects (i.e. network interfaces). Obliq supports objects in this spirit, relying for its implementation on Modula-3's network objects [2].

¢ Recently, scripting languages have emerged for coordinating activities in distributed environments: for telecollaboration, telemarketing, navigation, etc. ¢ Scripting languages are often used to coordinate applications that are written in normal languages. However, there are situations in which a scripting language, with its libraries and user interface capabilities, can be used to program an entire application; even a distributed one.

May 31, 1995 11:28 AM

Obliq

3

¢ Simple and powerful object