| Dijkstra, E.W.: Guarded Commands, Nondeterminacy, and Formal Derivation of Programs, CACM Vol. 18, No. 8, acm Press (1975), S. 453-457 |
....space of the program, since this would defeat the purpose of abstraction. Autoabs implements the algorithm described in [NK00] which computes relevant predicates and an abstract program based purely on a syntax directed analysis of the program text. The analysis is based on weakest preconditions [Dij75] wlp s) which can be calculated by syntactic substitution. It also enjoys a completeness property: if the concrete program has an equivalent finite program, relative to bisimulation or simulation on the predicates in the property, the algorithm can compute a (possibly, different) finite and ....
E.W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. CACM, 18(8), 1975.
....to calculate an abstraction of the program, relative to a given shape property. Starting with the shape predicates in the property, the algorithm iteratively, and in a goal directed manner, discovers other predicates that are relevant to the property, by computing weakest preconditions (wp) [12]. It also constructs an abstraction where these predicates are represented with boolean variables: the process is an instance of predicate abstraction [14] The correctness of the abstract interpretation is guaranteed by the algorithm. An advantage is that non shape predicates (such as arithmetic ....
....[ F ] i; j) if A is empty, and when F = fng it is written as n. The above property can then be expressed formally by the linear temporal logic formula (8k : G(reach [ n] x; k) n1 ) G(true ne ) reach [ n] x; k) ne) The predicate reach [ n] x; k) holds at ne i its weakest precondition (wp) [12] holds at n4. While weakest preconditions for simple constructs can be computed by syntactic substitution, this is not true for second order predicates like reachability. We show in Section 3 how to compute wp for reachability: for the present discussion, it suces to know that the wp for this ....
E.W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. C.ACM, 18, 1975.
....hRe(U ) i, so complements of domain relations are domain relations. For example, the domain relation of guaranteed termination is e S . Intersecting this with the input output relation gives the safe input output relation r S Delta e S . In Dijkstra s predicate transformer semantics [13] [14] 15] there are two transformers associated with each statement S, namely wlp S ( and wpS ( called the weakest liberal precondition and weakest precondition , respectively. These transformers map sets of states to sets of states, so they are modeled by functions that map domain ....
Edsger W. Dijkstra, Guarded commands, nondeterminacy, and formal derivation of programs, Communications of the A.C.M. (1975), 453--457.
....element, true, being the whole state space and a bottom element, false, being the empty set. Two predicates are equivalent if the sets are equal and one entails another if the first is a subset of the second. A predicate transformer is a function from predicates to predicates. In 1975 Dijkstra [Dij75] proposed the guarded command language for modelling sequential imperative programs. A guard is a predicate that can be evaluated to either true or false; a command is a program fragment. Guarded commands can be given a weakest precondition semantics [Dij76] The weakest precondition predicate ....
E. W. Dijkstra. Guarded commands, nondeterminancy, and formal derivation of programs. Communications of the ACM, 18, 1975.
....In particular, the checker uses an automatic theorem prover to verify that the environment assumption A i is reflexive and transitive and then optimizes each iterated environment assumption A # i to A i . Once optimized, the i abstraction is then converted into a verification condition [Dij75, FS01] When generating this verification condition, procedure calls are handled by inlining, and loops are translated either using a programmer supplied loop invariant, or in an unsound, but useful, manner by unrolling loops some finite number of times [LSS99] The automatic theorem prover ....
E.W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8):453--457, 1975.
....name. Developers specify the name of the slot through the argumentSlot: message. The second possibility uses the mechanism provided by ProcedureWithSubject and requires the information described in Section 4.3.2. 4.3. 5 Conditional ConditionalProcedure corresponds to Dijkstra s guarded command [25]. It enables developers to alter the control flow in the workflow domain. At run time, conditionals determine how the framework navigates the 57 activity map representing the process definition. ConditionalProcedure is a concrete subclass of ProcedureWithGuard. The conditional implements a ....
Edsger W. Dijkstra. Guarded commands, nondeterminancy, and the formal derivation of programs. Communications of the ACM, 18(8):453--457, August 1975.
....an implicit barrier (represented by an AND logic gate) Handel also has a variant of alternation, whereby guards 7 We used Handel and Handel C for compilation and simulation, and Handel for synthesis. We did not use the earliest version of Handel, which is closer to occam than it is to C . 8 [40] are activated by communication events (including, unlike occam, output communication 8 ) Communication and synchronization is by channels through rendezvous. A delay statement, somewhat equivalent to the occam skip, causes a one cycle delay to prevent access to a shared resource or to break ....
E. W. Dijkstra. Guarded commands, nondeterminancy, and formal derivation of programs. Communications of ACM, 18(8):453-457, 1975.
...., P 2 L(s) iff P (s) true. The fairness condition of the fair TS is obtained in a straightforward manner from the condition F . We develop our algorithm under the assumption that the set of predicates is effectively closed under the application of the weakest liberal precondition transformer [Dij75] denoted by wlp(P ) in terms of the calculus, wlp(P ) hi( P ) Typical programming constructs can be rewritten into the program syntax presented above. For example, a guarded command [Dij75] which has the form g(X) U : e(X) defines the transition relation (g(X) V i : x i 2 U : ....
....is effectively closed under the application of the weakest liberal precondition transformer [Dij75] denoted by wlp(P ) in terms of the calculus, wlp(P ) hi( P ) Typical programming constructs can be rewritten into the program syntax presented above. For example, a guarded command [Dij75] which has the form g(X) U : e(X) defines the transition relation (g(X) V i : x i 2 U : x 0 i = e i (X) V i : x i 2 XnU : x 0 i = x i ) For guarded commands, wlp(P ) can be calculated by simple substitution as (g(X) P [U e(X) where P [U e(X) is the predicate ....
E.W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. In C.ACM, volume 18, 1975.
....by a wide range of users, not just by expert computer scientists. 3. 2 Background The continuous time part of # is based on DAEs (differential algebraic equations) The discrete event part is based on a combination of communicating sequential processes (CSP) with Dijkstra s guarded commands [12], such as described in [21] However, for communication, the channel concept from [22] is used. The # language differs considerably from other CSP variants. The reason for this is that most CSP variants are based on Hoare s CSP version of 1985 [22] This includes the CSP variants described in ....
E. W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8):453--457, 1975.
....issue of formal semantics. Decisions To allow moments of uncertainty to be specified, decisions have output triggers one for a postive outcome and one for a negative outcome which are are assigned LISA D predicates. These decision rules can be compared to guarded commands as introduced in [Dij75] As with guarded commands the decision rules of a decision are not necessarily disjoint. Therefore, nondeterministic choices can be modelled. The predicates may refer to values of variables and object instances of object stores and messages. Synchronous and asynchronous messaging is allowed by ....
E.W. Dijkstra. Guarded Commands, Nondeterminacy, and Formal Derivation of Programs. Communications of the ACM, 18(8):453--457, August 1975.
....and Section 2.2) and one making more extensive use of symbolic notation and presenting more detailed proofs (Section 2.7 and Section 2. 8) We then revisit these ideas in the context of two representative programming notations: 1) a theory oriented notation, Dijkstra s guarded command language [35, 37], where by theory oriented we mean a notation used primarily as a basis for formal work on program semantics, and (2) a practical programming notation, Fortran 90 [1, 46] where by practical programming notation we mean a notation used primarily for the development of applications, ....
....subobjects e.g. a scalar data object or a scalar element of an array. 28 2.4 arb composition and Dijkstra s guarded command language 2.4. 1 Dijkstra s guarded command language and our model It is straightforward to define the commands and constructors of Dijkstra s guarded command language [35, 37] in terms of our model. We sketch such definitions in Section 2.9. 2.4.2 Conditions for arb compatibility Giving syntactic restrictions that we know guarantee arb compatibility seems less problematical in Dijkstra s guarded command language than in a large practical programming language, simply ....
[Article contains additional citation context not shown here]
E. W. Dijkstra. Guarded commands, nondeterminacy, and formal derivations of programs. Communications of the ACM, 18(8):453--457, 1975.
....If none of the branches are enabled, execution of the selection statement is delayed. The selection statement is often applied to when statements. This combination leads to conditional selection. For example, the general conditional statement of the guarded command language (proposed by Dijkstra [Dij75], Dij76] of the form if c 1 S 1 c 2 S 2 : c k S k fi, which uses as a separator between alternatives, can be represented in our language by a selection statement formed out of when statements: when c 1 do S 1 ] or [when c 2 do S 2 ] or Delta Delta Delta or [when c k do S k ] ....
E.W. Dijkstra. Guarded commands, nondeterminancy, and formal derivation of programs. Comm. ACM, 18(8):453--457, 1975.
....to stand for either conjunctive or disjunctive. 5 A set of predicates is called linear if its elements can be arranged in a monotonic (strengthening or weakening) denumerable sequence. 16 In the following, we make use of three predicate transformers characterizing the semantics of actions [Dij75] These are Weakest Precondition (wp) For an action ff and a state predicate q, wp :ff:q characterizes precisely those initial states beginning in which each execution of ff terminates in a state satisfying q. Weakest Liberal Precondition (wlp) For an action ff and a state predicate q, wlp ....
E. W. Dijkstra. Guarded commands, nondeterminacy, and the formal derivation of programs. Communications of the ACM, 8:453--457, 1975. 263
....must hold when a message is extracted (receive : when) A special form of this condition is to wait for a message from a particular sender (receive : from) Guarded Commands. Another well known proposal for coordination in life routines, called guarded commands, was introduced by Dijkstra [89]: if G 1 Gamma StmtList 1 [ G 2 Gamma StmtList 2 : Gn Gamma StmtList n end If in the above if statement one of the boolean conditions (guards) G 1 G n holds, the corresponding list of statements is executed, for example a particular message can be received. If several guards ....
E. W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8):453--457, August 1975.
....vice versa. The behavior is non deterministic when there are multiple willing senders and or receivers, although we draw it as a queue here. ations on the same channel match. An important primitive is the non deterministic choice, originating from sequential languages proposed by Dijkstra [8], which does one out of a list of sends and receives, whichever can complete first by having a matching receive send. In this paper, we examine protocols for the efficient implementation of general non deterministic communication over synchronous channels. This problem is typically ignored by ....
E. W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Comm. ACM, 18:453--457, 1975.
....in which a Send follows a F ileRead. Diagrams like Figure 1 are impractical to draw and hard to understand if set Q of automaton states is large or transition function # is complex. We can avoid these di#culties by encoding Q # for an automaton in multiple variables and by using guarded commands [4] to describe the transition function for the security automaton. Guarded command B # S (5) specifies that the state transition defined by program fragment S occurs whenever predicate B is satisfied by the current input symbol and the current state of the automaton. In (5) B is called the ....
Dijkstra, E.W. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM 18, 8 (Aug. 1975), 453--457. 19
....in [BHG87] Message delays cannot change the semantics of communicating programs that support serializability. The languages at the serializability communication level give the programmer the impression that message delivery does not take time. Orca [BT91] uses the ideas of guarded commands [Dij75] and shared objects in an imperative language. Concurrent logic languages [Gre87, Sha89] like Concurrent Prolog, Flat Concurrent Prolog, Guarded Horn Clauses, and Parlog combine the CSP model with a logic programming language. The single assignment property of shared logical variables makes ....
E. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8), August 1975. BIBLIOGRAPHY 47
No context found.
Dijkstra, E.W.: Guarded Commands, Nondeterminacy, and Formal Derivation of Programs, CACM Vol. 18, No. 8, acm Press (1975), S. 453-457
No context found.
E. W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8):453--457, Aug. 1975.
No context found.
E. W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. In Comm of ACM, volume 18(8), Aug 1975.
No context found.
E.W. Dijkstra. Guarded Commands, Nondeterminacy, and Formal Derivation of Programs. Communications of the ACM, 18(8):453--457, August 1975.
No context found.
E.W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Comm. ACM, 8:453--457, August 1975.
No context found.
E.W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8):453--457, 1975.
No context found.
Edsger W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8):453--457, August 1975.
No context found.
E.W. Dijkstra. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM, 18(8):453--457, 1975.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC