HAL: A High-Level Actor Language and Its Distributed Implementation

We describe Hal, a high-level, actor-based language which has served as a test-bed for experimenting with powerful linguistic constructs for parallel and distributed programming. Hal is an architecture independent, concurrent object-oriented language which supports inheritance, synchronization constraints, continuation capture, synchronous and asynchronous message passing, and re ection. The Hal compiler has been used to execute actor programs on a number of shared and distributed memory machines. Hal allows powerful abstractions to be dened and reused. Furthermore, Hal supports the use of synchronization constraints at a ne-grained level and the use of software pipelining. In this paper, we describe the design of Hal, using speci c examples to illustrate its features. We then discuss some of the implementation issues in the run-time system.

[1]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[2]  Vineet Singh,et al.  Inheritance and synchronization with enabled-sets , 1989, OOPSLA '89.

[3]  Pierre America,et al.  A parallel object-oriented language with inheritance and subtyping , 1990, OOPSLA/ECOOP '90.

[4]  Akinori Yonezawa,et al.  An Actor-Based Metalevel Architecture for Group-Wide Reflection , 1990, REX Workshop.

[5]  Andrew A Chien,et al.  Concurrent Aggregates (CA): an Object-Orinted Language for Fine- Grained Message-Passing Machines , 1990 .

[6]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[7]  Charles L. Seitz,et al.  Cantor User Report: Version 2.0 , 1987 .

[8]  C. Tomlinson,et al.  Rosette: An object-oriented concurrent systems architecture , 1988, OOPSLA/ECOOP '88.

[9]  Svend Frølund,et al.  Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages , 1992, ECOOP.

[10]  I. G. BONNER CLAPPISON Editor , 1960, The Electric Power Engineering Handbook - Five Volume Set.

[11]  Laxmikant V. Kalé,et al.  Supporting Machine Independent Programming on Diverse Parallel Architectures , 1991, ICPP.

[12]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[13]  米沢 明憲 ABCL : an object-oriented concurrent system , 1990 .

[14]  Wilf R. LaLonde,et al.  Inside Smalltalk (Volume 1) , 1990 .

[15]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

[16]  Carl Roger Manning,et al.  Acore--the design of a core actor language and its compiler , 1987 .