Compilation of a highly parallel Actor-Based Language

  • W. Kim
  • G. Agha
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 757)


Hal is a High-level Actor-based Language. Hal supports a number of communication mechanisms, local synchronization constraints, inheritance, and restricted forms of reflection. This paper discusses some issues in compiling Hal. Specifically, we describe three source-level transformations used by the compiler for Hal. Two of the transformations translate RPC-style message sending into asynchronous message sending. The third transformation performs code motion to optimize the implementation of replacement behavior. This optimization results in the reduction of object code size as well as execution time.


Actor concurrency synchronization constraint inheritance optimization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.Google Scholar
  2. 2.
    G. Agha. Concurrent Object-Oriented Programming. Communications of the ACM, 33(9):125–141, September 1990.Google Scholar
  3. 3.
    G. Agha, S. Frølund, R. Panwar, and D. Sturman. A Linguistic Framework for Dynamic Composition of Fault-Tolerance Protocols. In Proceedings of the Third IFIP Working Conference on Dependable Computing for Critical Applications, pages 197–207, Palermo (Sicily), Italy, September 1992. International Federation of Information Processing Societies. preprint.Google Scholar
  4. 4.
    G. Agha, C. Houck, and R. Panwar. Distributed Execution of Actor Systems. In Proceedings of Fourth Workshop on Languages and Compilers for Parallel Computing, Santa Clara, 1991.Google Scholar
  5. 5.
    G. Agha, I. Mason, S. Smith, and C. Talcott. Towards a Theory of Actor Computation. In Third International Conference on Concurrency Theory (CONCUR '92), LNCS, pages 565–579. Springer-Verlag, August 1992.Google Scholar
  6. 6.
    R. H. Campbell, V. Russo, and G. Johnston. Choices: The Design of a Multiprocessor Operating System. In Proceedings of the USENIX C++ Workshop, pages 109–123, Santa Fe, New Mexico, November 1987. IEEE.Google Scholar
  7. 7.
    S. Frølund. Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages. In O. Lehrmann Madsen, editor, Proceedings of ECOOP '92, LNCS 615, pages 185–196. Springer-Verlag, June/July 1992.Google Scholar
  8. 8.
    S. Hiranandani, K. Kennedy, and C.-W. Tseng. Compiling Fortran-D for MIMD Distributed Memory Machines. Communications of the ACM, 35(8):66–80, August 1992.Google Scholar
  9. 9.
    C. Houck and G. Agha. Hal: A High-level Actor Language and Its Distributed Implementation. In 21st International Conference on Parallel Processing (ICPP '92), volume II, pages 158–165, St. Charles, IL, August 1992.Google Scholar
  10. 10.
    L. Kale. The CHARM(3.0) Programming Language Manual. University of Illinois, February 1992.Google Scholar
  11. 11.
    D. A. Kranz. ORBIT: An Optimizing Compiler for Scheme. PhD thesis, Yale University, February 1988. YALEU/DCS/RR-632.Google Scholar
  12. 12.
    W. LaLonde and J. Pugh. Inside Smalltalk, volume 1. Prentice Hall, 1990.Google Scholar
  13. 13.
    C. Manning. Acore: The Design of a Core Actor Language and Its Compiler. Master's thesis, MIT, Artificial Intelligence Laboratory, August 1987.Google Scholar
  14. 14.
    S. Matsuoka, K. Wakita, and A. Yonezawa. Analysis of Inheritance Anomaly in Concurrent Object-Oriented Languages. ECOOP/OOPSLA'90 Workshop on Object-Based Concurrent Systems, August 1990.Google Scholar
  15. 15.
    O. Nierstrasz and M. Papathomas. Viewing Objects as Patterns of Communicating Agents. In Proceedings OOPSLA/ECOOP '90, pages 38–43, October 1990. Published as ACM SIGPLAN Notices, volume 25, number 10.Google Scholar
  16. 16.
    B. C. Smith. Reflection and Semantics in a Procedural Language. Technical Report 272, Massachusetts Institute of Technology. Laboratory of Computer Science, 1982.Google Scholar
  17. 17.
    N. Venkatasubramaniam, G. Agha, and C. Talcott. Scalable Distributed Garbage Collection for Systems of Active Objects. In Proceedings International Workshop on Memory Management, St. Malo, France, September 1992. ACM SIGPLAN and INRIA. To Appear.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • W. Kim
    • 1
  • G. Agha
    • 1
  1. 1.University of Illinois at Urbana-ChampaignUSA

Personalised recommendations