Maximally Concurrent Programs

  • Authors:
  • Rajeev Joshi;Jayadev Misra

  • Affiliations:
  • -;-

  • Venue:
  • Maximally Concurrent Programs
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

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 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 call P maximal for the specification S. We argue in this paper that traditional specifications of concurrent programs are incomplete without some maximality requirement because they can often be implemented in a sequential fashion. Additionally, a maximal solution can be refined to a variety of programs each appropriate for execution on a different computing platform. In this paper, we suggest 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 many non-trivial examples. The method may also serve as a guide in constructing maximal programs.