- Refinement calculus
Refinement calculus is a formalized approach to stepwise
refinement for program construction. The required behaviour of the final executable program is specified as an abstract and perhaps non-executable "program", which is then refined by a series of correctness-preserving transformations into an efficiently executable program.Proponents include
Ralph-Johan Back , who originated the approach in his 1978 PhD thesis "On the Correctness of Refinement Steps in Program Development", and [http://www.cse.unsw.edu.au/db/staff/info/carrollm.html Carroll Morgan] , especially with his book " [http://web.comlab.ox.ac.uk/oucl/publications/books/PfS/ Programming from Specifications] " (Prentice Hall, 2nd edition, 1994, ISBN 0-13-123274-6). In the latter case, the motivation was to link Abrial's specification notation Z, via a rigorous relation of behaviour-preserving programrefinement , to an executable programming notation based onDijkstra 's language ofguarded commands . "Behaviour-preserving" in this case means that anyHoare triple satisfied by a program should also be satisfied by any refinement of it, which notion leads directly to " [http://www.ecs.soton.ac.uk/~mjb/refcalc-tut/home.html#morgan specification statements] " as pre- and postconditions standing, on their own, for any program that could soundly be placed between them.External links
* [http://www.abo.fi/~backrj/index.php?page=Refinement%20calculus%20all.html Refinement Calculus information]
* [http://www.ecs.soton.ac.uk/~mjb/refcalc-tut/home.html Refinement Calculus tutorial]
Wikimedia Foundation. 2010.