The weakest prespecification (Q1091121)

From MaRDI portal
Revision as of 09:36, 18 June 2024 by ReferenceBot (talk | contribs) (‎Changed an Item)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
scientific article
Language Label Description Also known as
English
The weakest prespecification
scientific article

    Statements

    The weakest prespecification (English)
    0 references
    0 references
    0 references
    1987
    0 references
    This paper introduces the concept of the weakest prespecification of program Q with respect to specification R, written \(Q\setminus R\), and explores its basic properties within the framework of the relational calculus. The weakest prespecification serves the same purpose as Dijkstra's weakest precondition, but generalises it in four ways. (1) The specification R describes not only the desired properties of the final values of the variables, but also their desired relationship with the initial values; such specifications are normal in specification languages like VDM and Z. (2) The program Q may be just the specification of a program still to be written. Consequently, the weakest prespecification can assist in splitting a task R into two subtasks Q and \(Q\setminus R\). (3) A partial relation R is taken as the specification of a guarded command, thus guarded commands can be specified and implemented independently, before being collected into a set with if or do. (4) The programming language is extended to include general recursion.
    0 references
    weakest prespecification
    0 references
    relational calculus
    0 references
    weakest precondition
    0 references
    guarded command
    0 references
    general recursion
    0 references

    Identifiers