A Practical Theory of Programming

A Practical Theory of Programming

Introduction What good is a theory of programming? Who wants one? Thousands of programmers program every day without any theory. Why should they bother to learn one? The answer is the same as for any other theory.

Author: Eric C.R. Hehner

Publisher: Springer Science & Business Media

ISBN: 9781441985965

Category: Computers

Page: 247

View: 285

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.
Categories: Computers

A Practical Theory of Reactive Systems

A Practical Theory of Reactive Systems

Programming language mechanisms are, however, often treated as if they would be the primary objects of concern, ... much of the complexity of current programming languages has to be abstracted away in order to obtain a practical theory.

Author: R. Kurki-Suonio

Publisher: Springer Science & Business Media

ISBN: 9783540273486

Category: Computers

Page: 420

View: 718

A man may imagine he understands something, but still not understand anything in the way that he ought to. (Paul of Tarsus, 1 Corinthians 8:2) Calling this a ‘practical theory’ may require some explanation. Theory and practice are often thought of as two di?erent worlds, governed bydi?erentideals,principles, andlaws.DavidLorgeParnas, forinstance,who hascontributedmuchtoourtheoreticalunderstandingofsoftwareengineering and also to sound use of theory in the practice of it, likes to point out that ‘theoretically’ is synonymous to ‘not really’. In applied mathematics the goal is to discover useful connections between these two worlds. My thesis is that in software engineering this two-world view is inadequate, and a more intimate interplay is required between theory and practice. That is, both theoretical and practical components should be integrated into a practical theory. It should beclearfrom theabovethattheintended readership of this book is not theoreticians. They would probably have di?culties in appreciating a book on theory where the presentation does not proceed in a logical sequence from basic de?nitions to theorems and mathematical proofs, followed by - plication examples. In fact, all this would not constitute what I understand by a practical theory in this context.
Categories: Computers

A Practical Guide to the Science and Practice of Afterschool Programming

A Practical Guide to the Science and Practice of Afterschool Programming

Practical theory If agreement on quality standards is a point of strength for the field, the clear specification of how ... base in specific program designs in such a way as to more readily support selection of performance measures, ...

Author: Joseph L. Mahoney

Publisher: John Wiley & Sons

ISBN: 9781119049036

Category: Education

Page: 128

View: 461

Closing the gap between scientific research on afterschool programming and the practices occurring in these settings is the goal of this volume. Both sources of knowledge are critical to developing the afterschool workforce’s ability to provide high-quality programming. On the one hand, this means afterschool staff should not work with young people until they have been adequately prepared—which includes training in evidence-based practices—and properly supervised. On the other hand, it requires that scientists understand and study those aspects of afterschool programming most relevant to the needs of practitioners. This volume includes perspectives from the afterschool workforce, scientists who discuss the current research, and the practitioners who know how afterschool programs operate in practice. This is the 144th volume of New Directions for Youth Development, the Jossey-Bass quarterly report series dedicated to bringing together everyone concerned with helping young people, including scholars, practitioners, and people from different disciplines and professions.
Categories: Education

Theoretical and Practical Aspects of SPIN Model Checking

Theoretical and Practical Aspects of SPIN Model Checking

A Practical Theory of Programming. Texts and Monographs in Computer Science. Springer-Verlag, New York, 1993. G. J. Holzmann and O. Kupferman. “Not Checking for Closure under Stuttering”. In Proceedings of SPIN'96, 1996. G.J. Holzmann.

Author: Dennis Dams

Publisher: Springer Science & Business Media

ISBN: 9783540664994

Category: Computers

Page: 282

View: 302

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.
Categories: Computers

Mathematics of Program Construction

Mathematics of Program Construction

A Practical Theory of Programming. Springer, 1993. C.A.R. Hoare and He Jifeng. Unifying Theories of Programming. Prentice Hall, 1998. J. Hooman. Specification and Compositional Verification of Real-Time Systems, volume 558 of Lecture ...

Author: Eerke A. Boiten

Publisher: Springer

ISBN: 9783540454427

Category: Computers

Page: 263

View: 937

This book constitutes the refereed proceedings of the 6th International Conference on Mathematics of Program Construction, MPC 2002, held in Dagstuhl Castle, Germany, in July 2002. The 11 revised full papers presented were carefully reviewed and selected for inclusion in the book; also presented are one invited paper and the abstracts of two invited talks. Among the topics covered are programming methodology, program specification, program transformation, programming paradigms, programming calculi, and programming language semantics.
Categories: Computers

Formal Methods and Software Engineering

Formal Methods and Software Engineering

Real-time program refinement using auxiliary variables. In M. Joseph, editor, Proc. ... Science of Computer Programming, 43(2–3):161–192, May–June 2002. 12. ... A Practical Theory of Programming. Springer, 1993. 15.

Author: INTERNATIONAL CONFERENCE ON FORMAL ENGIN

Publisher: Springer Science & Business Media

ISBN: 9783540204619

Category: Computers

Page: 681

View: 803

This book constitutes the refereed proceedings of the 5th International Conference on Formal Engineering Methods, ICFEM 2003, held in Singapore in November 2003. The 34 revised full papers presented together with 3 invited contributions were carefully reviewed and selected from 91 submissions. The papers are organized in topical sections on testing and validation, state diagrams, PVS/HOL, refinement, hybrid systems, Z/Object-Z, Petri nets, timed automata, system modelling and checking, and semantics and synthesis.
Categories: Computers

The Functional Treatment of Parsing

The Functional Treatment of Parsing

[Dijkstra, 1976] Dijkstra E.W., A Discipline of Programming (Prentice Hall, Englewood Cliffs, 1976). [Earley, 1970] Earley J.C., ... [Hehner,1993] Hehner E.C.R., A Practical Theory of Programming (Springer-Verlag, Berlin, 1993).

Author: René Leermakers

Publisher: Springer Science & Business Media

ISBN: 9781461531869

Category: Computers

Page: 158

View: 273

Parsing technology traditionally consists of two branches, which correspond to the two main application areas of context-free grammars and their generalizations. Efficient deterministic parsing algorithms have been developed for parsing programming languages, and quite different algorithms are employed for analyzing natural language. The Functional Treatment of Parsing provides a functional framework within which the different traditional techniques are restated and unified. The resulting theory provides new recursive implementations of parsers for context-free grammars. The new implementations, called recursive ascent parsers, avoid explicit manipulation of parse stacks and parse matrices, and are in many ways superior to conventional implementations. They are applicable to grammars for programming languages as well as natural languages. The book has been written primarily for students and practitioners of parsing technology. With its emphasis on modern functional methods, however, the book will also be of benefit to scientists interested in functional programming. The Functional Treatment of Parsing is an excellent reference and can be used as a text for a course on the subject.
Categories: Computers

Foundations of Program Evaluation

Foundations of Program Evaluation

THEORY OF SOCIAL PROGRAMMING Third - stage theorists agree that social programs are politically affected ... Incremental change may be more feasible and practical , but we must also know about program and policy effects since abrupt and ...

Author: William R. Shadish

Publisher: SAGE

ISBN: 0803953011

Category: Social Science

Page: 529

View: 136

Foundations of Program Evaluation heralds a thorough exploration of the field of program evaluation--looking back on its origins. By summarizing, comparing, and contrasting the work of seven major theorists of program evaluation, this book provides an important perspective on the current state of evaluation theory and provides suggestions for ways of improving its practice. Beginning in Chapter Two, the authors develop a conceptual framework to analyze how successfully each theory meets the specific criteria of its framework. Each subsequent chapter is devoted to the presentation of the theoretical and practical advice of a significant theorist--Michael Scriven, Donald Campbell, Carol Weiss, Joseph Wholey, Robert Stake, Lee Cronbach, and Peter Rossi.
Categories: Social Science

ACM Transactions on Programming Languages and Systems

ACM Transactions on Programming Languages and Systems

4.2 Program Equations for Theories with Termination ; 4.2.1 Termination Equations . Such equations for the guarded command language are shown in the rightmost column of Table V , expressed via T_ : C- → S + B. For maximal practical ...

Author: Association for Computing Machinery

Publisher:

ISBN: UOM:39015065069828

Category: Computer programming

Page:

View: 992

Categories: Computer programming