journal article
LitStream Collection
Formal models of stepwise refinements of programs
Mili, Ali; Desharnais, Jules; Gagné, Jean Raynomd
doi: 10.1145/27632.28054pmid: N/A
Of the many ways to express program specifications, three of the most common are: as a pair of assertions, an input assertion and an output assertion; as a function mapping legal inputs to correct outputs; or as a relation containing the input/output pairs that are considered correct. The construction of programs consists of mapping a potentially complex specification into a program by recursively decomposing complex specifications into simpler ones. We show how this decomposition takes place in all three modes of specification and draw some conclusions on the nature of programming.