A common approach in software engineering is to apply during the design phase a variety of structured techniques like top-down design, decomposition and abstraction, while only subsequently, in the implementation phase, is the design tested to ensure reliability. But this approach neglects the fact that central aspects of software design and program development have a strong formal character which admits tool support for the construction of reliable and correct computer systems based on formal reasoning. This monograph provides information for engineers building practical tools. The author...
A common approach in software engineering is to apply during the design phase a variety of structured techniques like top-down design, decomposition a...