Download:
|
by Ralph-johan Back, Ralph-johan Back, Michael Butler, Michael Butler
Acta Informatica
http://www.tucs.abo.fi/Pub/1996/TechRep/tBaBu96.ps.gz
Add To MetaCart
Abstract:
In the refinement calculus, program statements are modelled as predicate transformers. A product operator for predicate transformers was introduced by Martin [16] and Naumann [22] using category theoretic considerations. In this paper, we look more closely at the refinement-oriented properties of this operator and at its applications. We also generalise the definition of the product operator to form what we call a fusion operator. Together, the fusion and product operators provide us with algebraic ways of composing program statements in the refinement calculus in order to model effects such as conjunction of specifications, simultaneous execution, and embedding of smaller programs into larger contexts. 1
Citations
|
2677
|
Communicating Sequential Processes
– Hoare
- 1995
|
|
1153
|
A Method of Programming
– Dijkstra, Feijen
- 1988
|
|
993
|
The Z Notation: a Reference Manual
– Spivey
- 1992
|
|
489
|
The B Book: Assigning Programs to Meanings
– Abrial
- 1996
|
|
416
|
Programming From Specifications
– Morgan
- 1994
|
|
135
|
A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming
– Morris
- 1987
|
|
116
|
The specification statement
– Morgan
- 1988
|
|
103
|
Correctness Preserving Program Refinements: Proof Theory and Applications
– Back
- 1980
|
|
98
|
Introduction to HOL
– Gordon, Melham
- 1993
|
|
61
|
Systematic Software Development Using VDM, second edition
– Jones
- 1990
|
|
52
|
Stepwise refinement of parallel algorithms
– Back, Sere
- 1990
|
|
47
|
Data refinement of predicate transformers
– Gardiner, Morgan
- 1991
|
|
43
|
Data refinement refined
– He, Hoare, et al.
- 1986
|
|
36
|
Class refinement and interface refinement in object-oriented program
– Mikhajlova, Sekerinski
- 1997
|
|
36
|
Laws of data refinement
– Morris
- 1989
|
|
29
|
Decentralisation of process nets with centralised control
– Back, Kurki-Suonio
- 1983
|
|
23
|
Exploring summation and product operators in the refinement calculus
– Back, Butler
- 1995
|
|
18
|
Stepwise Refinement of Communicating Systems
– Butler
- 1997
|
|
18
|
The refinement calculator: proof support for program refinement
– Butler, Grundy, et al.
- 1997
|
|
17
|
Preordered Categories and Predicate Transformers
– Martin
- 1991
|
|
11
|
Two-Categories and Program Structure: Data Types, Refinement Calculi, and Predicate Transformers
– Naumann
- 1992
|
|
11
|
The lattice of data refinement
– Wright
- 1994
|
|
10
|
Refinement concepts formalised in higher order logic
– Back, Wright
- 1990
|
|
10
|
The cuppest capjunctive capping, and Galois
– Morgan
- 1994
|
|
6
|
Relational programming laws in the tree, list, bag, set hierarchy
– Hoogendijk, Backhouse
- 1994
|
|
3
|
Adding specification constructs to the refinement calculus
– Ward
- 1993
|
|
2
|
Categorical Semantics of Programming Languages
– Jifeng, Hoare
- 1990
|
|
1
|
Joining specification statements. Available from http://www.research.digital.com/SRC/personal/Rustan Leino/papers.html
– Leino, Manohar
- 1996
|
|
1
|
A unified theory of data refinement. Abo Akademi
– Wright
- 1994
|