|
|
Showing 1 - 2 of
2 matches in All Departments
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.
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 theories to date. In the
theoretical model, a specification is just a boolean expression and
refinement is just an ordinary implication. The author develops a
practical and broad method for writing precise specifications and
designing programs whose executions probably satisfy the
specifications. Beginning with preparatory material in logic,
numbers, sets, lists, functions and relations, the book advances
further into program theory, the heart of the book. Subsequent
chapters may be selected or omitted according to course emphasis.
The text will be useful to students in courses on programming
methodology or verification at the advanced undergraduate or
beginning graduate level, as well as for software engineers in the
field. All technical terms are explained and then demonstrated in
the book wherever possible. No advanced mathematical knowledge or
programming language is assumed.The book contains numerous
exercises and worked-out solutions for specific exercises.
Transparency masters and solutions for the remaining exercises are
available from the author.
|
You may like...
Amsterdam
Christian Bale, Margot Robbie, …
DVD
R210
Discovery Miles 2 100
Loot
Nadine Gordimer
Paperback
(2)
R367
R340
Discovery Miles 3 400
Moonfall
Halle Berry, Patrick Wilson, …
Blu-ray disc
R309
Discovery Miles 3 090
|
Email address subscribed successfully.
A activation email has been sent to you.
Please click the link in that email to activate your subscription.