skip to main content
10.1145/343477.343634acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
Article
Free Access

Toward a theory of maximally concurrent programs (shortened version)

Published:16 July 2000Publication History

ABSTRACT

Typically, program design involves constructing a program P that implements a given specification S; that is, the set P of executions of P is a subset of the set S of executions satisfying S. In many cases, we seek a program P that not only implements S, but for which P = S. Then, every execution satisfying the specification is a possible execution of the program; we then call P maximal for the specification S. We argue that maximality is an important criterion in the context of designing concurrent programs because it disallows implementations that do not exhibit enough concurrency. In addition, a maximal solution can serve as a basis for deriving a variety of implementations, each appropriate for execution on a specific computing platform.

This paper also describes a method for proving the maximality of a program with respect to a given specification. Even though we prove facts about possible executions of programs, there is no need to appeal to branching time logics; we employ a fragment of linear temporal logic for our proofs. The method results in concise proofs of maximality for several non-trivial examples. The method may also serve as a guide in constructing maximal programs.

References

  1. 1.K. M. Chandy and J. Misra. The drinking philosophers problem. A CM Transactions on Programming Languages and Systems, 6(4):632-646, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison Wesley, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, New Jersey, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.R. Joshi and J. Misra. Maximally concurrent programs. Formal Aspects of Computing, (to appear).Google ScholarGoogle Scholar
  5. 5.L. Lamport. What good is temporal logic? In R. E. A. Mason, editor, Information Processing 83: Proceedings of the IFIP 9th World Congress, pages 657-668, Paris, Sep 1983. IFIP, North-Holland.Google ScholarGoogle Scholar
  6. 6.R. Milner. Communication and Concurrency. International Series in Computer Science, C. A. R. Hoare, Series Editor. Prentice-Hall International, London, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.J. Misra. A logic for concurrent programming: Progress. Journal of Computer and Software Engineering, 3(2):273-300, 1995.Google ScholarGoogle Scholar
  8. 8.J. Misra. A logic for concurrent programming: Safety. Journal of Computer and Software Engineering, 3(2):239-272, 1995.Google ScholarGoogle Scholar
  9. 9.J. Misra. A discipline of multiprogramming, work in progress, ftp access at ftp://ftp, cs. utexas, edu/pub/psp/seuss/discipline, ps. Z, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Toward a theory of maximally concurrent programs (shortened version)

        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
          PODC '00: Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
          July 2000
          344 pages
          ISBN:1581131836
          DOI:10.1145/343477

          Copyright © 2000 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: 16 July 2000

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          PODC '00 Paper Acceptance Rate32of117submissions,27%Overall Acceptance Rate740of2,477submissions,30%

          Upcoming Conference

          PODC '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader