| E. W. Dijkstra and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988. |
....significantly, while verification is tied to analysis and support tools, program derivation deals with the very essence of the design process, the way one thinks about problems and constructs solutions. In sequential programming, formal derivation enjoys a long standing and prestigious tradition [4, 5, 7, 8, 14, 15]. By contrast, derivation is a relatively new concern in concurrent programming. Although a clean and comprehensive characterization of the field is difficult to make and is beyond the scope of this paper, three general directions seem to have emerged in the concurrency area. Constructivist ....
E. Dijkstra and W. Fiejen. A Method of Programming. Addison-Wesley, Reading, MA, 1988.
....towards completion of the task of the loop and denotes completion when it value reaches zero. Dijkstra s theory had a strong impact on first course teaching at a number of locations e.g. CalTech [9] Griffith University [8] and a profound impact on programming of small but difficult algorithms [10, 11]. THE KERNEL LANGUAGE APPROACH A Kernel Language should define the essential concepts of programming without any unnecessary complexities. A KL should be Turing complete so that any program can be expressed in it. A professional level implementation of a KL should exist so that theoretical ....
Dijkstra, Edsger W., Feijen, W.H.J., A Method of Programming, Addison Wesley, (1988).
....significantly, while verification is tied to analysis and support tools, program derivation deals with the very essence of the design process, the way one thinks about problems and constructs solutions. In sequential programming, formal derivation enjoys a long standing and prestigious tradition [4, 5, 7, 8, 14, 15]. By contrast, derivation is a relatively new concern in concurrent programming. Although a clean and comprehensive characterization of the field is difficult to make and is beyond the scope of this paper, three general directions seem to have emerged in the concurrency area. Constructivist ....
E. Dijkstra and W. Fiejen. A Method of Programming. Addison-Wesley, Reading, MA, 1988.
....any paper by these authors is probably worth investigating. One of the rst books on how to write correct programs is [Dij76] In this book a series of problems are tackled and elegant, correct programs are developed to solve the problems using formal techniques. A follow on from [Dij76] is [DF88] Rather mathematical for the general reader, but again making the point that good program development is about thinking, not hacking. A more accessible account of a method of software development due to Edsgar Dijkstra is [Gri81] Yet another approach to program development is [Heh84] This text ....
E. W. Dijkstra and W. H. J. Feijen. A Method of Programming. Addison-Wesley, 1988.
....significantly, while verification is tied to analysis and support tools, program derivation deals with the very essence of the design process, the way one thinks about problems and constructs solutions. In sequential programming, formal derivation enjoys a long standing and prestigious tradition [4, 5, 7, 8, 14, 15]. By contrast, derivation is a relatively new concern in concurrent programming. Although a clean and comprehensive characterization of the field is difficult to make and is beyond the scope of this paper, three general directions seem to have emerged in the concurrency area. Constructivist ....
E. Dijkstra and W. Fiejen. A Method of Programming. Addison-Wesley, Reading, MA, 1988.
....around a concept of statements, where sequential execution of simple and structured statements changes the state. With Algol, Pascal, Modula ( 3) and Oberon we had and have some rather elegant languages and with Dijkstra s language of non deterministic constructs (and guarded commands) [34, 35] we have imperative languages which have spurred the academic interest in proof systems and techniques of proving properties of imperative programs [34] 3.7.3 Logic Programming Languages In logic programming one programs with truth values (through so called resolution theoremproving) 5 ....
E.W. Dijkstra and W.H.L. Feijen. A Method of Programming. Addison-Wesley, 1988.
....any two successive output events at the receiver; Space Complexity: The maximal amount of space required at each node, per incident link, measured in bits of memory. 3 Description of the Algorithms When presenting the code of the algorithms we use the guarded commands language of Dijkstra [DF88] where the code of each process is in the form G 1 A 1 2G 2 A 2 2 : G l A l 2. The code is executed by repeatedly selecting an arbitrary i from all guards G i which are true and executing A i . A guard G i is a conjunction of predicates. The predicate Receive M is true when a message M ....
E. W. Dijkstra and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988.
....is borrowed, with appropriate adjustments, from [ABH 92] Section 3 recapitulates basic notions and a fundamental theorem on concept lattices. Section 4 describes an extension and applications of formal concepts. Equational proofs are presented 2 in the style introduced by W.H.J. Feijen in [DF88] 2 Basic de nitions In this section we recall some useful de nitions and theorems about Galois connections. In what follows we take A and B to be sets, A and B to be set variables, and A = A; vA ) and B = B; vB ) to be posets. When this will not lead to confusion we drop the subscripts from ....
E.W. Dijkstra and W.H.J. Feijen. A method of programming. AddisonWesley, Reading, Mass., 1988.
....usual R Gamma1 ; writing R Gamma1 might have led us to suspect that R Gamma1 is the inverse of R with respect to the composition operator ffi , which is not true in general. Proofs We adopt the proof style put forward by Dijkstra, Feijen, van Gasteren, and others. See for example [6] and [7] The reader should have little problem in understanding our calculations without any prior knowledge of this style. We have two comments to make about the proof style. First of all, monotonicity properties of the operators of relational calculus are used so frequently that they are ....
E.W. Dijkstra and W.H.J. Feijen. A Method of Programming. Addison--Wesley, 1988.
....:Q Delta x) called de Morgan s Law . The reader can, by the use of de Morgan s Law, reformulate the above given rules for the universal quantification in terms of the existential quantification. 2.3 Proofstyle The proofs in this report are presented in the style introduced by W.H.J. Feijen in [DF88] It gives a clear overview of a proof and leaves sufficient room for the hints. In general it looks like: P = f hint 1 g Q = f hint 2 g R The expressions P , Q and R can contain one or more free variables. From the above proof we can deduce that P = Q for all instantiations of free ....
Edsger W. Dijkstra and W.H.J. Feijen. A Method of Programming. AddisonWesley, Amsterdam, 1988.
....4 Formal Description and Proofs In this section, we formally state the code of the slide, the Majority, the Labels and the Data Dispersal Algorithms, prove their correctness, and analyze their complexities. The presentation of the code is based on the language of guarded commands of Dijkstra [DF88] where the code of each process is of the form Select G 1 A 1 2G 2 A 2 2 : G l A l End Select: The code is executed by repeatedly selecting an arbitrary i from all guards G i which are true and executing A i . A guard G i is a conjunction of predicates. The predicate Receive M is ....
E. W. Dijkstra and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988.
....network , rather than about the sum of values of the counters in the network , and make our arguments more readable. 3.3 The Code In this section, we present the code of our protocol. Following [AMS89, AGR92] the presentation of the code is based on the language of guarded commands of Dijkstra [DF88] where the code of each process is of the form Select G 1 A 1 2 G 2 A 2 2 : 2 G l A l End Select: The code is executed by repeatedly selecting an arbitrary i from all guards G i which are true, and executing A i . Each guard G i is a conjunction of predicates. The predicate Receive M ....
E. W. Dijkstra and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988.
....wanted to provide the researchers this facility so that they can specify their self stabilizing algorithms as simply as they present them in the literature. It has been common in the literature to express distributed algorithms with a syntax similar to the the Guarded Command language of Dijkstra [Dij76, DF88]. In the description of self stabilizing distributed algorithms, a similar practice has been followed by many researchers. For example, see [Dij74, GK93, Hua93, Her90, BP89, AG92, SRR94, SRR95, KPBG94, Sch93, AB93, BGM93, EK89, FD94, Hoe94] Further, many of the self stabilizing distributed ....
E. W. Dijkstra and W. H. J. Feijen. A Method of Programming. Addison-Wesley Publishing Co., 1988.
....theory of programming as one that includes appropriate methods for specifying programs, for reasoning about specifications, for deriving correct programs, and for transforming programs to accommodate machines available for their execution. Dijkstra provided such a theory for sequential programming [8]. Chandy and Misra s UNITY model did the same for concurrent programming. UNITY programs consist of a fixed set of variables and a fixed set of conditional multiple assignment statements. Program specification, design, and verification is supported by a proof logic given in terms of assertions of ....
Dijkstra, E. W., and Fiejen, W. H. J., A Method of Programming, Addison-Wesley, Wokingham, England, 1988.
....statement in turn specifies computation of new state by modifying previous state via actions (e.g. assignments) The current state of a program is constituted by the current set of values of all its variables. The repeated execution of a (simple) statement leads to a path in the state space [1] of a program whereas the repeated evaluation of a simple expression does not change the current state and always yields the same result. Thus, while the effect of executing a (simple) statement is the modification of state, evaluating a simple expression affects nothing besides computing a value, ....
Dijkstra, E.W. and W.H.J. Feijen (1988). A Method of Programming, Addison_Wesley.
....developed. Let us now develop program S , whose normal postcondition we want to be Q1 . Moreover, the theorem from Chapter 4 tells us that any raise statement in S must have precondition Q0 . Twice using the well known technique of replacing a constant by a variable (see, e.g. 17] 29, Ch. 16] [20], 77, Ch. 8] or [5, Ch. 4] we find invariants P0 : 0 i M h 8m; n 0 m i 0 n N . a[m; n] 6= x i P1 : P0 i 6= M 0 j N h 8 n 0 n j . a[i; n] 6= x i for the outer and inner loops, respectively, and calculate S as i : 0 ; do i 6= M 7 j : 0 ; do j 6= N 7 establish ....
....x is first encountered. The operation of this program is thus easy to understand. Finally, consider a similar program that, without exceptions, uses stronger guards to facilitate exiting the loops before i = M and j = N , respectively. For example, twice applying the Bounded Linear Search Theorem [17, 20], we arrive at the program b; m : false; 0 ; do :b m 6= M 7 c; n : false; 0 ; do :c n 6= N 7 c; i; j; n : a[m; n] x; m; n; n 1 od ; b; m : c; m 1 od . In addition to having more complicated invariants (because the invariants need to record the information to prove the ....
E.W. Dijkstra and W.H.J. Feijen. A Method of Programming. Addison-Wesley, 1988.
....of problems finding the longest segment in a sequence or the largest rectangle in a plane. We demonstrate the effectiveness of the table by showing efficient and uniform solutions for ten sample problems. Those include problems from programming text books and programming methodology literatures[3, 5, 12, 13]. Our programming methodology based on P segment tables was taught to about 100 sophomore computer science students in one semester programming courses in 1994 and 1995. We have conducted a survey through class exercises, examinations, and questionnaires in order to find out whether the method ....
.... j) j fx[p[i 1] Gamma x[i] 0j = igfx[p[i 1] Gamma x[i] 0j = p[i 1]g Therefore, p[i] can be computed as follows: p[i] ae i if x[p[i 1] Gamma x[i] 0 p[i 1] if x[p[i 1] Gamma x[i] 0 The algorithm above gives an O(n) time and space solution of the largest segment sum problem[3, 5], that is, to find the largest segment sum of all the segments in a given sequence y. 2.3. Type 1 and Type 2 Relations Let us think about right end unique relations P such that even though some p[i] s need O(n) computation, amortized computation time and space for all p[i] s is O(n) when the ....
[Article contains additional citation context not shown here]
E. W. Dijkstra and W. H. J. Feijen. A Method of Programming. Addison-Wesley, Reading, Massachusetts, 1988.
....of N successive inputs whether it is K rotated, the latter determines whether the whole sequence thus far received is K rotated. 1 Introduction For sequential program design a calculational way of programming has been developed so as to construct a program and its correctness proof hand in hand [1]. According to this technique programs are derived from their formal specifications by manipulating formulae. Since at each step of the derivation the correctness is preserved the program is correct by design, and, consequently, a correctness proof afterwards becomes superfluous. By means of an ....
E.W. Dijkstra and W.H.J. Feijen, A Method of Programming (Addison-Wesley, Reading, Massachusetts, 1988).
.... However, there is a complete BNF grammar for a method which is very close to the Refinement Calculus in[5] Also, an entire explanation of the Refinement Calculus can be found in[10] and the syntax of Dijkstra Guarded Command which is the stem of the Refinement Calculus is specified formally in[3]. Taking our inspiration from[10] we build an abstract syntax of RC which comprises only the specification statement and the Sequential Composition operator( Abstract syntax of RC: SpecSt : Frame [PreCondition ; PostCondition] j SpecSt SpecSt The definitions of Frame, PreCondition and ....
Dijkstra E. W. , Feijen W.H.J., A Method of Programming, Addison Wesley, 1988
....the process could just fetch another (unlocked) copy instead. 6. Experimental Results In order to check the impact of the presented techniques, we have implemented a couple of Gamma benchmarks. These benchmarks include the knapsack problem (KP) Sedgewick 1988) the shortest path problem (SPP) (Dijkstra and Feijen 1988) (the corresponding Gamma programs are taken from (Mussat 1991) and the parsing problem Shared Memory Implementation of the Gamma Operation 11 Table 2. Runtimes of the shortest path problem on one and six processors in seconds. Here, the graph forms a n Theta n matrix. 1 processor 6 ....
....runtimes can be found in Tables 1, 2, 3, 4 and 5, respectively. For different problem sizes, we have tested the following approaches: original: the original (sequential) imperative algorithm (written in C) as presented in (Sedgewick 1988) dynamic programming approach for knapsack problem) (Dijkstra and Feijen 1988) (Dijkstra algorithm for SPP) and (Kasami 1965, Younger 1967) CYK algorithm) naive: the straightforward implementation of a (roughly) corresponding Gamma scheme, order: the approach using an improved order of element selections and an eager evaluation of parts of the reaction condition (see ....
Dijkstra, E.W., Feijen, W.H.J. (1988). A Method of Programming. Addison-Wesley.
No context found.
E. W. Dijkstra and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988.
No context found.
E. W. Dijkstra, and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988.
No context found.
E. W. Dijkstra and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988.
No context found.
E.W. Dijkstra and W.H.J. Feijen. A Method of Programming. Addison-Wesley Publishing Company, 1988.
No context found.
E. W. Dijkstra and W. H. J. Feijin. A Method of Programming. Addison-Wesley, 1988.
First 50 documents
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