Refinement Calculus

The 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 Carroll Morgan, especially with his book 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 program refinement, to an executable programming notation based on Dijkstra's language of guarded commands. Behaviour-preserving in this case means that any Hoare triple satisfied by a program should also be satisfied by any refinement of it, which notion leads directly to specification statements as pre- and postconditions standing, on their own, for any program that could soundly be placed between them.

Famous quotes containing the words refinement and/or calculus:

    You know that your toddler needed love and approval but he often seemed not to care whether he got it or not and never seemed to know how to earn it. Your pre-school child is positively asking you to tell him what does and does not earn approval, so he is ready to learn any social refinement of being human which you will teach him....He knows now that he wants your love and he has learned how to ask for it.
    Penelope Leach (20th century)

    I try to make a rough music, a dance of the mind, a calculus of the emotions, a driving beat of praise out of the pain and mystery that surround me and become me. My poems are meant to make your mind get up and shout.
    Judith Johnson Sherwin (b. 1936)