Bültmann & Gerriets
A Practical Theory of Programming
von Eric C. R. Hehner
Verlag: Springer New York
Reihe: Monographs in Computer Science
E-Book / PDF
Kopierschutz: PDF mit Wasserzeichen

Hinweis: Nach dem Checkout (Kasse) wird direkt ein Link zum Download bereitgestellt. Der Link kann dann auf PC, Smartphone oder E-Book-Reader ausgeführt werden.
E-Books können per PayPal bezahlt werden. Wenn Sie E-Books per Rechnung bezahlen möchten, kontaktieren Sie uns bitte.

ISBN: 978-1-4419-8596-5
Auflage: 1993
Erschienen am 08.09.2012
Sprache: Englisch
Umfang: 247 Seiten

Preis: 53,49 €

Inhaltsverzeichnis
Klappentext

1 Basic Theories.- Boolean Theory.- Axioms and Proof Rules.- Expression and Proof Format.- Formalization.- Number Theory.- Character Theory.- 2 Basic Data Structures.- Bunch Theory.- Set Theory.- String Theory.- List Theory.- Multidimensional Structures.- 3 Function Theory.- Functions.- Abbreviated Function Notations.- Scope and Substitution.- Quantifiers.- Function Fine Points.- Substitution versus Distribution.- Function Inclusion and Equality.- Function Composition.- List as function.- 4 Program Theory.- Specifications.- Specification Notations.- Specification Laws.- Refinement.- Conditions.- Programs.- Program Development.- Refinement Laws.- List Summation.- Binary Exponentiation.- Time.- Real Time.- Recursive Time.- Termination.- Linear Search.- Binary Search.- Fast Exponentiation.- Fibonacci Numbers.- Robustness.- Refinement in Place.- 5 Programming Language.- Scope.- Variable Declaration.- Variable Suspension.- Data Structures.- Arrays.- Records.- Control Structures.- While Loop.- Repeat Loop.- Exit Loop.- Two-Dimensional Search.- For Loop.- Minimum Sum Segment.- Go To.- Time Dependence.- Assertions.- Checking.- Backtracking.- Subprogram.- Result Expression.- Function.- Procedure.- Alias.- Functional Programming.- Function Refinement.- 6 Recursive Definition.- Recursive Data Definition.- Construction and Induction.- Least Fixed-Points.- Recursive Data Construction.- Recursive Program Definition.- Recursive Program Construction.- Loop Definition.- Limits.- 7 Theory Design and Implementation.- Data Theories.- Data-Stack Theory.- Data-Stack Implementation.- Simple Data-Stack Theory.- Data-Queue Theory.- Data-Tree Theory.- Data-Tree Implementation.- Program Theories.- Program-Stack Theory.- Program-Stack Implementation.- Fancy Program-Stack Theory.- Weak Program-Stack Theory.- Program-Queue Theory.- Program-Tree Theory.- Specification by Implementation.- Data Transformation.- 8 Concurrency.- Independent Composition.- Laws of Independent Composition.- List Concurrency.- Circuit Design.- Security Switch.- Found Concurrency.- Buffer.- Insertion Sort.- 9 Communication.- Implementability.- Input and Output.- Communication Timing.- Recursively Defined Communication.- Input Composition.- Merge.- Monitor.- Reaction Controller.- Communicating Processes.- Channel Declaration.- Deadlock.- 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.



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.


andere Formate
weitere Titel der Reihe