![]() |
CiteULike | ![]() |
kozima's CiteULike | ![]() |
![]() |
|
![]() |
Register | ![]() |
Log in | ![]() |
The temporal semantics of concurrent programsby: Amir Pnueli
|
Reviews
[Write a review of this article]
Find related articles from these CiteULike users
Find related articles with these CiteULike tags
Posting History
AbstractThe formalism of Temporal Logic is suggested as an appropriate tool for formalizing the semantics of concurrent programs. A simple model of concurrent program is presented in which n processors are executing concurrent n disjoint programs under a shared memory environment. The semantics of such a program specifies the class of state sequences which are admissible as proper execution sequences under the program. The two main criteria which are required are 1. (a) Each state is obtained from its predecessor in the sequence by exactly one processor performing an atomic instruction in its process. 2. (b) Fair Scheduling: no processor which is infinitely often enabled will be indefinitely delayed. The basic elements of Temporal Logic are introduced in a particular logic framework DX. The usefulness of Temporal Logic notation in describing properties of concurrent programs is demonstrated. A construction is then given for assigning to a program P a temporal formula W(P) which is true on all proper execution sequences of P. In order to prove that a program P possesses a property R1, one has only to prove the implications W(P)[superset or implies]R. An example of such proof is given. It is then demonstrated that specification of the Temporal character of the program's behavior is absolutely essential for the unambiguous understanding of the meaning of programming constructs.
BibTeX record
RIS record