A Practical Theory of Programming, 1993
Monographs in Computer Science Series

Author:

Language: English

52.74 €

In Print (Delivery period: 15 days).

Add to cartAdd to cart
A Practical Theory of Programming
Publication date:
247 p. · 17.8x25.4 cm · Paperback

52.74 €

Subject to availability at the publisher.

Add to cartAdd to cart
A Practical Theory of Programming
Publication date:
247 p. · 17.8x25.4 cm · Hardback
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.
1 Basic Theories.- Boolean Theory.- Number Theory.- Character Theory.- 2 Basic Data Structures.- Bunch Theory.- Set Theory.- String Theory.- List Theory.- 3 Function Theory.- Functions.- Quantifiers.- Function Fine Points.- 4 Program Theory.- Specifications.- Program Development.- Time.- Robustness.- Refinement in Place.- 5 Programming Language.- Scope.- Data Structures.- Control Structures.- Time Dependence.- Assertions.- Subprogram.- Alias.- Functional Programming.- 6 Recursive Definition.- Recursive Data Definition.- Recursive Program Definition.- Limits.- 7 Theory Design and Implementation.- Data Theories.- Program Theories.- Specification by Implementation.- 8 Concurrency.- Independent Composition.- Circuit Design.- Found Concurrency.- 9 Communication.- Implementability.- Input and Output.- Recursively Defined Communication.- Input Composition.- Reaction Controller.- Communicating Processes.- Power Series Multiplication.- 10 Exercises.- Basic Theories.- Basic Data Structures.- Function Theory.- Program Theory.- Programming Language.- Recursive Definition.- Theory Design and Implementation.- Concurrency.- Communication.- 11 Reference.- Justifications.- Sources.- Axioms and Laws.- Symbols and Names.- Precedence.