Understanding programming and programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theor
A Practical Theory of Programming
โ Scribed by Hehner, Eric C. R
- Publisher
- Springer-Verlag
- Year
- 1993
- Tongue
- English
- Leaves
- 243
- Series
- Monographs in Computer Science
- Edition
- 1993
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
There are several theories of programming. The first usable theory, often called ''Hoare's Logic'', is still probably the most widely known. In it, a specification is a pair of predicates: a precondition and postcondition (these and all technical terms will be defined in due course). Another popular and closely related theory by Dijkstra uses the weakest precondition predicate transformer, which is a function from programs and postconditions to preconditions. lones's Vienna Development Method has been used to advantage in some industries; in it, a specification is a pair of predicates (as in Hoare's Logic), but the second predicate is a relation. Temporal Logic is yet another formalism that introduces some special operators and quantifiers to describe some aspects of computation. The theory in this book is simpler than any of those just mentioned. In it, a specification is just a boolean expression. Refinement is just ordinary implication. This theory is also more general than those just mentioned, applying to both terminating and nonterminating computation, to both sequential and parallel computation, to both stand-alone and interactive computation. And it includes time bounds, both for algorithm classification and for tightly constrained real-time applications
๐ SIMILAR VOLUMES
<p><B>A Theory and Practice of Program Development</B> provides a comprehensive introduction to a software development method based on VDM-SL. Each development step is rigorously justified, and the strategies and transformations used are justified and explained ma thematically. The approach provides
Real-life decisions are usually made in the state of uncertainty (randomness, fuzziness, roughness, etc.). How do we model optimization problems in uncertain environments? How do we solve these models? In order to answer these questions, this book provides a self-contained, comprehensive and up-to-d