skip to main content
10.1145/985072.985082acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Encapsulating concurrency with Early-Reply

Published:04 November 2002Publication History

ABSTRACT

Component methods often produce their final parameter values long before the method body is ready to terminate. To minimize client blocking, Early-Reply can be used to forward invocation results to the caller as soon as they are (safely) available. After executing Early-Reply, the method remainder and the client caller can proceed concurrently, modulo synchronization constraints. The prime motivation for Early-Reply, then, is to improve performance factors such as response time and resource utilization.Early-Reply received previous attention as a construct for explicit concurrent programming. It's value for sequential programming, however, has not been widely recognized. The present research supplies a formal treatment of Early-Reply as a basis for concurrent execution of sequential programs. In particular, we reformulate Early-Reply under local proof obligations that encapsulate concurrency as a (temporal) unit of information hiding. The upshot is that software developers can use Early-Reply to exploit the performance benefits of concurrent execution, without compromising the reasoning benefits of sequential programming.

References

  1. Gul Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, Mass., 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Pierre America. POOL-T: A parallel object-oriented language. In Akinori Yonezawa and Mario Tokoro, editors, Object Oriented Concurrent Programming, pages 199--220. MIT Press, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Denis Caromel. Toward a method of object-oriented concurrent programming. Communications of the ACM, 36(9):90--102, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Dennis de Champeaux, Douglas Lea, and Penelope Faure. Object-Oriented System Development. Addison-Wesley, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Tom Ender. Object-Oriented Programming with REXX. John Wiley and Sons, Ine, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Douglas E. Harms and Bruce W. Weide. Copying and swapping: Influences on the design of reusable software components. IEEE Trans. Software Engineering, 17(5):424--435, May 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Doug Lea. Concurrent Programming in Java: Design Principles and Patterns. Addison-Wesley, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Michael Philippsen. A survey of concurrent object-oriented languages. Concurrency: Practice and Experience, 12(10):917--980, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  9. Scott M. Pike and Nigamanth Sridhar. Early reply components: Concurrent execution with sequential reasoning. In Proceedings of the 7th International Conference on Software Reuse, volume 2319 of LNCS, pages 46--61. Springer-Verlag, April 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Michael L. Scott. The lynx distributed programming language: Motivation, design, and experience. Computer Languages, 16(3):209--233, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Michael L. Scott. Programming Language Pragmatics. Morgan Kaufmann, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. Encapsulating concurrency with Early-Reply

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      OOPSLA '02: Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
      November 2002
      131 pages
      ISBN:1581136269
      DOI:10.1145/985072

      Copyright © 2002 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 4 November 2002

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Upcoming Conference

    • Article Metrics

      • Downloads (Last 12 months)2
      • Downloads (Last 6 weeks)0

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader