First class continuation facilities in concurrent programming language Harmony/2

  • Ken Wakita
Invited Talk 6
Part of the Lecture Notes in Computer Science book series (LNCS, volume 907)

Abstract

Harmony/2 is an Actor based object-oriented concurrent programming language. Its novel features include two frameworks of first class continuations, namely method continuations and message continuations. The article addresses the technical difficulty in integration of first class continuation facilities and concurrency models (VST problem) and then proposes two frameworks of first class continuation. Both frameworks prevent VST problem and guarantee system's soundness. Method continuation framework is a variant of traditional first continuation facility with added delayed installation semantics. It allows the safe use of continuations beyond objects' boundary and thus enabling construction of arbitrary control structures in concurrent environment. Message continuation framework is based on the observation that a message represents the continuation after the message sending. History sensitive semantics (one-shot property) and dynamic extent property given to message continuations makes the system free of VST. Two-way characteristics and synchronization semantics enables construction of arbitrary communication structures with high degree of concurrency.

Keywords

Message Passing Method Continuation Class Message Concurrency Model Future Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Agh86]
    G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, 1986.Google Scholar
  2. [AM91]
    A. Appel and D. MacQueen. Standard ML of New Jersey. In M. Wirsing, editor, Third International Symposium on Programming Language Implementation and Logic Programming, Lecture Notes in Computer Science, New York, August 1991. Springer-Verlag.Google Scholar
  3. [Ame87]
    P. America. POOL-T: A parallel object-oriented language. In A. Yonezawa and M. Tokoro, editors, Object-Oriented Concurrent Programming, pages 199–220. MIT Press, Cambridge, Mass., 1987.Google Scholar
  4. [Chi92]
    A. Chien. Concurrent Aggregates. MIT Press, 1992.Google Scholar
  5. [CR91]
    W. Clinger and J. Rees. Revised4 report on the algorithmic language scheme. ACM LISP Pointers, IV(3), July 1991.Google Scholar
  6. [FH84]
    D. P. Friedman and C. T. Haynes. Constraining control. In Conference Record of the ACM Symposium on Principles of Programming Languages, pages 245–254, 1984.Google Scholar
  7. [Hal85]
    R. Halstead. Multilisp: A language for concurrent symbolic computation. ACM Trans. on Programming Languages and Systems, pages 501–538, October 1985.Google Scholar
  8. [IM89]
    T. Ito and M. Matsui. A parallel lisp language pailisp and its kernel specification. In T. Ito and Jr. R. H. Halstead, editors, Proceedings of US/Japan Workshop on Parallel Lisp, volume 441 of LNCS, pages 58–100. Springer-Verlag, June 1989.Google Scholar
  9. [Kob]
    N. Kobayashi. Personal discussion.Google Scholar
  10. [KW89]
    M. Katz and D. Weise. Continuing into the future: On the interaction of futures. In T. Ito and Jr. R. H. Halstead, editors, Proceedings of US/Japan Workshop on Parallel Lisp, volume 441 of LNCS, pages 101–102, 1989.Google Scholar
  11. [KY94]
    N. Kobayashi and A. Yonezawa. Towards foundations for concurrent object-oriented programming. In Proceedings of ACM Conference on Object-Oriented Systems, Languages, and Applications, pages 31–45, 1994.Google Scholar
  12. [Nie87]
    O. M. Nierstrasz. Active objects in Hybrid. In Object-Oriented Programming Systems, Languages and Applications, volume 22(12), pages 243–253. SIGPLAN Notices (ACM), December 1987.Google Scholar
  13. [QD93]
    C. Queinnec and D. DeRoure. Design of a concurrent and distributed language. In Jr. R. H. Halstead and T. Ito, editors, Proceedings of US/Japan Workshop qn Parallel Symbolic Computing: Languages, Systems, and Applications, volume 748 of LNCS, pages 234–259. Springer-Verlag, October 1993.Google Scholar
  14. [RHH89]
    Jr. R. H. Halstead. New ideas in parallel lisp: Language design, implementation, and programming tools. In T. Ito and Jr. R. H. Halstead, editors, Proceedings of US/Japan Workshop on Parallel Lisp, volume 441 of LNCS, pages 2–57. Springer-Verlag, June 1989.Google Scholar
  15. [Shi88]
    Etsuya Shibayama. How to invent distributed implementation schemes of an object-based concurrent language: A transformational approach. In Proceedints of Object-Oriented Programming Systems, Languages and Applications (OOPSLA '88), pages 297–305, 1988.Google Scholar
  16. [Sto77]
    J. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, Cambridge, MA, 1977.Google Scholar
  17. [TMY93]
    K. Taura, S. Matsuoka, and A. Yonezawa. An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers. In Proceedings of the Symposium on Principles & Practices of Parallel Programming (PPoPP '93), pages 218–228, 1993.Google Scholar
  18. [Wak93]
    K. Wakita. First class messages as first class continuations. In proceedings of ISOTAS '93 (LNCS 742), pages 442–459, Kanazawa, November 1993.Google Scholar
  19. [Wak94]
    K. Wakita. A concurrent language harmony/2 and its first class continuation mechanism (in Japanese). Technical Report COMP93-79, SS93-47, IEICE (The Institute of Electronics, Information and Communication Engineers), 1994.Google Scholar
  20. [Wan80]
    M. Wand. Continuation-based multiprocessing. In Conference Record of the 1980 Lisp Conference, pages 19–28, 1980.Google Scholar
  21. [YBS86]
    A. Yonezawa, J.-P. Briot, and E. Shibayama. Object-oriented concurrent programming in ABCL/1. In Object-Oriented Programming Systems, Languages and Applications, volume 21(11), pages 258–268. SIGPLAN Notices (ACM), November 1986.Google Scholar
  22. [Yon90]
    A. Yonezawa. ABCL: An Object-Oriented Concurrent System. MIT Press, Cambridge, Mass., 1990.Google Scholar
  23. [YT86]
    Y. Yokote and M. Tokoro. The design and implementation of ConcurrentSmalltalk. In Object-Oriented Programming Systems, Languages and Applications, volume 21(11), pages 331–340. SIGPLAN Notices (ACM), November 1986.Google Scholar
  24. [YT87]
    Y. Yokote and M. Tokoro. Concurrent programming in ConcurrentSmalltalk. In A. Yonezawa and M. Tokoro, editors, Object-Oriented Concurrent Programming, pages 129–158. MIT Press, Cambridge, Mass., 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Ken Wakita
    • 1
  1. 1.Tokyo Institute of TechnologyTokyoJapan

Personalised recommendations