A Practical Theory Of Programming

Author: Eric C.R. Hehner
Publisher: Springer Science & Business Media
ISBN: 1441985964
Size: 71.38 MB
Format: PDF, Mobi
View: 2268
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.

A Theory Of Objects

Author: Martin Abadi
Publisher: Springer Science & Business Media
ISBN: 1441985980
Size: 37.91 MB
Format: PDF
View: 1146
By developing object calculi in which objects are treated as primitives, the authors are able to explain both the semantics of objects and their typing rules, and also demonstrate how to develop all of the most important concepts of object-oriented programming languages: self, dynamic dispatch, classes, inheritance, protected and private methods, prototyping, subtyping, covariance and contravariance, and method specialization. An innovative and important approach to the subject for researchers and graduates.

Parsing Techniques

Author: Dick Grune
Publisher: Springer Science & Business Media
ISBN: 0387689540
Size: 31.42 MB
Format: PDF, ePub, Docs
View: 3326
This second edition of Grune and Jacobs’ brilliant work presents new developments and discoveries that have been made in the field. Parsing, also referred to as syntax analysis, has been and continues to be an essential part of computer science and linguistics. Parsing techniques have grown considerably in importance, both in computer science, ie. advanced compilers often use general CF parsers, and computational linguistics where such parsers are the only option. They are used in a variety of software products including Web browsers, interpreters in computer devices, and data compression programs; and they are used extensively in linguistics.

Theoretical And Practical Aspects Of Spin Model Checking

Author: Dennis Dams
Publisher: Springer
ISBN: 3540482342
Size: 54.56 MB
Format: PDF, Mobi
View: 2218
Increasing the designer’s con dence that a piece of software or hardwareis c- pliant with its speci cation has become a key objective in the design process for software and hardware systems. Many approaches to reaching this goal have been developed, including rigorous speci cation, formal veri cation, automated validation, and testing. Finite-state model checking, as it is supported by the explicit-state model checkerSPIN,is enjoying a constantly increasingpopularity in automated property validation of concurrent, message based systems. SPIN has been in large parts implemented and is being maintained by Gerard Ho- mann, and is freely available via ftp fromnetlib.bell-labs.comor from URL http://cm.bell-labs.com/cm/cs/what/spin/Man/README.html. The beauty of nite-state model checking lies in the possibility of building \push-button" validation tools. When the state space is nite, the state-space traversal will eventually terminate with a de nite verdict on the property that is being validated. Equally helpful is the fact that in case the property is inv- idated the model checker will return a counterexample, a feature that greatly facilitates fault identi cation. On the downside, the time it takes to obtain a verdict may be very long if the state space is large and the type of properties that can be validated is restricted to a logic of rather limited expressiveness.

Computation And Reasoning

Author: Zhaohui Luo
Publisher: Oxford University Press
ISBN: 0198538359
Size: 26.81 MB
Format: PDF, Mobi
View: 3086
This book develops a new type theory and shows how it can be applied to computer science, in particular to the effective development of programs and proofs.

Super Recursive Algorithms

Author: Mark Burgin
Publisher: Springer Science & Business Media
ISBN: 0387268065
Size: 30.33 MB
Format: PDF, ePub
View: 4534
* The first exposition on super-recursive algorithms, systematizing all main classes and providing an accessible, focused examination of the theory and its ramifications * Demonstrates how these algorithms are more appropriate as mathematical models for modern computers and how they present a better framework for computing methods * Develops a new practically-oriented perspective on the theory of algorithms, computation, and automata, as a whole

Coloured Petri Nets

Author: Kurt Jensen
Publisher: Springer Science & Business Media
ISBN: 3662062895
Size: 38.49 MB
Format: PDF, Kindle
View: 1286
This book presents a coherent description of the theoretical and practical aspects of Coloured Petri Nets (CP-nets or CPN). It shows how CP-nets have been de veloped - from being a promising theoretical model to being a full-fledged lan guage for the design, specification, simulation, validation and implementation of large software systems (and other systems in which human beings and/or com puters communicate by means of some more or less formal rules). The book contains the formal definition of CP-nets and the mathematical theory behind their analysis methods. However, it has been the intention to write the book in such a way that it also becomes attractive to readers who are more interested in applications than the underlying mathematics. This means that a large part of the book is written in a style which is closer to an engineering textbook (or a users' manual) than it is to a typical textbook in theoretical computer science. The book consists of three separate volumes. The first volume defines the net model (i. e. , hierarchical CP-nets) and the basic concepts (e. g. , the different behavioural properties such as deadlocks, fair ness and home markings). It gives a detailed presentation of many smaIl exam ples and a brief overview of some industrial applications. It introduces the for mal analysis methods. FinaIly, it contains a description of a set of CPN tools which support the practical use of CP-nets.

Computability And Complexity

Author: Neil D. Jones
Publisher: MIT Press
ISBN: 9780262100649
Size: 68.52 MB
Format: PDF, ePub
View: 7297
"Neil Jones is one of the precious few computer scientists with great expertise and leadership roles in both formal methods and complexity. This makes his book especially valuable." -- Yuri Gurevich, Professor of Computer Science, University of Michigan Computability and complexity theory should be of central concern to practitioners as well as theorists. Unfortunately, however, the field is known for its impenetrability. Neil Jones's goal as an educator and author is to build a bridge between computability and complexity theory and other areas of computer science, especially programming. In a shift away from the Turing machine- and Gö del number-oriented classical approaches, Jones uses concepts familiar from programming languages to make computability and complexity more accessible to computer scientists and more applicable to practical programming problems. According to Jones, the fields of computability and complexity theory, as well as programming languages and semantics, have a great deal to offer each other. Computability and complexity theory have a breadth, depth, and generality not often seen in programming languages. The programming language community, meanwhile, has a firm grasp of algorithm design, presentation, and implementation. In addition, programming languages sometimes provide computational models that are more realistic in certain crucial aspects than traditional models. New results in the book include a proof that constant time factors do matter for its programming-oriented model of computation. (In contrast, Turing machines have a counterintuitive "constant speedup" property: that almost anyprogram can be made to run faster, by any amount. Its proof involves techniques irrelevant to practice.) Further results include simple characterizations in programming terms of the central complexity classes PTIME and LOGSPACE, and a new approach to complete problems for NLOGSPACE, PTIME, NPTIME, and PSPACE, uniformly based on Boolean programs. "Foundations of Computing series"

Relational Database Technology

Author: Suad Alagic
Publisher: Springer Science & Business Media
ISBN: 9780387962764
Size: 20.26 MB
Format: PDF, ePub, Mobi
View: 7232
This book presents a unified collection of concepts, tools, and techniques that constitute the most important technology available today for the design and implementation of information systems. The framework adopted for this integration goal is the one offered by the relational model of data, its applica tions, and implementations in multiuser and distributed environments. The topics presented in the book include conceptual modeling of application environments using the relational model, formal properties of that model, and tools such as relational languages which go with it, techniques for the logical and physical design of relational database systems and their imple mentations. The book attempts to develop an integrated methodology for addressing all these issues on the basis of the relational approach and various research and practical developments related to that approach. This book is the only one available today that presents such an inte gration. The diversity of approaches to data models, to logical and physical database design, to database application programming, and to use and imple mentation of database systems calls for a common framework for all of them. It has become difficult to study modern database technology with out such a unified approach to a diversity of results developed during the vigorous growth of the database area in recent years, let alone to teach a course on the subject.

The Science Of Programming

Author: David Gries
Publisher: Springer
ISBN: 0387964800
Size: 27.26 MB
Format: PDF
View: 294
Describes basic programming principles and their step-by- step applications.Numerous examples are included.