Theories of programming : the life and works of Tony Hoare
"Sir Tony Hoare has had an enormous influence on computer science, from the Quicksort algorithm to the science of software development, concurrency and program verification. His contributions have been widely recognised: He was awarded the ACM's Turing Award in 1980, the Kyoto Prize from...
Saved in:
Other Authors: | , |
---|---|
Format: | eBook |
Language: | English |
Published: |
[New York, NY, USA] :
Association for Computing Machinery;
[2021]
|
Series: | ACM books ;
#39. |
Subjects: | |
ISBN: | 9781450387316 9781450387309 9781450387286 9781450387293 |
Physical Description: | 1 online zdroj (xx, 430 stran) |
LEADER | 08605cam a2200625 i 4500 | ||
---|---|---|---|
001 | 108521 | ||
003 | CZ-ZlUTB | ||
005 | 20240914114857.0 | ||
006 | m o d | ||
007 | cr cnu---unuuu | ||
008 | 010101s2021 nyua ob 000 0 eng d | ||
040 | |a UKAHL |b eng |e rda |c UKAHL |d CUS |d GZM |d OCLCO |d OCLCF |d NJT |d OCLCO |d N$T |d YDX |d EBLCP |d OCLCQ |d YDX |d OCL | ||
020 | |a 9781450387316 |q (electronic book) | ||
020 | |a 9781450387309 |q (electronic book) | ||
020 | |z 9781450387286 |q (hardcover) | ||
020 | |z 9781450387293 |q (paperback) | ||
024 | 7 | |a 10.1145/3477355 |2 doi | |
035 | |a (OCoLC)1277057935 |z (OCoLC)1281706912 |z (OCoLC)1311314930 |z (OCoLC)1311568851 | ||
245 | 0 | 0 | |a Theories of programming : |b the life and works of Tony Hoare / |c Cliff B. Jones, Jayadev Misra [editors]. |
264 | 1 | |a [New York, NY, USA] : |b Association for Computing Machinery; |c [2021] | |
300 | |a 1 online zdroj (xx, 430 stran) | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a počítač |b c |2 rdamedia | ||
338 | |a online zdroj |b cr |2 rdacarrier | ||
490 | 1 | |a ACM books, |x 2374-6777 ; |v #39 | |
506 | |a Plný text je dostupný pouze z IP adres počítačů Univerzity Tomáše Bati ve Zlíně nebo vzdáleným přístupem pro zaměstnance a studenty | ||
520 | |a "Sir Tony Hoare has had an enormous influence on computer science, from the Quicksort algorithm to the science of software development, concurrency and program verification. His contributions have been widely recognised: He was awarded the ACM's Turing Award in 1980, the Kyoto Prize from the Inamori Foundation in 2000, and was knighted for "services to education and computer science" by Queen Elizabeth II of England in 2000. This book presents the essence of his various works--the quest for effective abstractions--both in his own words as well as chapters written by leading experts in the field, including many of his research collaborators. In addition, this volume contains biographical material, his Turing award lecture, the transcript of an interview and some of his seminal papers. Hoare's foundational paper "An Axiomatic Basis for Computer Programming", presented his approach, commonly known as Hoare Logic, for proving the correctness of programs by using logical assertions. Hoare Logic and subsequent developments have formed the basis of a wide variety of software verification efforts. Hoare was instrumental in proposing the Verified Software Initiative, a cooperative international project directed at the scientific challenges of large-scale software verification, encompassing theories, tools and experiments. Tony Hoare's contributions to the theory and practice of concurrent software systems are equally impressive. The process algebra called Communicating Sequential Processes (CSP) has been one of the fundamental paradigms, both as a mathematical theory to reason about concurrent computation as well as the basis for the programming language occam. CSP served as a framework for exploring several ideas in denotational semantics such as powerdomains, as well as notions of abstraction and refinement. It is the basis for a series of industrial-strength tools which have been employed in a wide range of applications. This book also presents Hoare's work in the last few decades. These works include a rigorous approach to specifications in software engineering practice, including procedural and data abstractions, data refinement, and a modular theory of designs. More recently, he has worked with collaborators to develop Unifying Theories of Programming (UTP). Their goal is to identify the common algebraic theories that lie at the core of sequential, concurrent, reactive and cyber-physical computations."-- |c Provided by publisher | ||
505 | 0 | |a PART I INTRODUCTION. 1 The 1980 ACM Turing Award Lecture -- 2 Finding Effective Abstractions -- 2.1 Programming Languages -- 2.2 Founding the Field of Axiomatic Semantics -- 2.3 Concurrency -- 2.4 Unifying Theories of Programming. | |
505 | 8 | |a PART II PROGRAM VERIFICATION. 3 Assessing the Success and Impact of Hoare's Logic -- 3.1 Early Approaches to Program Verification -- 3.2 Hoare's Logic -- 3.3 Hoare's Initial Contributions -- 3.4 Termination -- 3.5 Influence on Programming Methodology -- 3.6 Hoare's Reasoning About Recursive Procedures -- 3.7 Research on Soundness and Completeness -- 3.8 Reasoning About Arbitrary Procedures -- 3.9 Parallel Programs -- 3.10 Distributed Programs -- 3.11 Object-orientated Programs -- 3.12 Competing Approaches to Program Verification -- 3.13 Concluding Remarks -- 4 Preface to Special Issue on Software Verification. | |
505 | 8 | |a 5 The Verified Software Initiative: A Manifesto -- 5.1 Introduction -- 5.2 Executive Summary -- 5.3 Manifesto -- 5.4 Assessment -- 5.5 Conclusions | |
505 | 8 | |a 6 The First Fifteen Years of the Verified Software Project -- 6.1 Introduction -- 6.2 The Roots of the Verified Software Initiative -- 6.3 Theory -- 6.4 Tools -- 6.5 Experiments -- 6.6 The Road Ahead -- References | |
505 | 8 | |a 7 Verification in the Grand Challenge -- 7.1 Introduction -- 7.2 Tokeneer -- 7.3 Research Based on Tokeneer -- 7.4 Pilot Project: Hypervisor -- 7.5 What's Next? | |
505 | 8 | |a PART III COMMUNICATING SEQUENTIAL PROCESSES. 8 Communicating Sequential Processes -- 8.1 Introduction -- 8.2 Concepts and Notations -- 8.3 Coroutines -- 8.4 Subroutines and Data Representations -- 8.5 Monitors and Scheduling -- 8.6 Miscellaneous -- 8.7 Discussion -- 8.8 Conclusion -- References | |
505 | 8 | |a 9 CSP: A Practical Process Algebra -- 9.1 Introduction -- 9.2 Prehistory 1978-1991 -- 9.3 FDR1 1991-1996 : Communication, Fault Tolerance, and the Beginning of Time -- 9.4 FDR2 1994-2007 at FSEL: Protocols, Abstraction, and Industrial Applications -- 9.5 FDR2 into Academia: Exploring Implicit Checking and Timed CSP (2007-2012) -- 9.6 FDR3 and FDR4: Back to Basics and into the Cloud (2012-2019) -- 9.8 The Future: For CSP and Beyond (2019-) -- 9.9 Reflections on FDR -- References | |
505 | 8 | |a PART IV TEACHING AND INDUSTRIAL AFFILIATIONS. 10 Teaching at Belfast and Oxford -- 10.1 Introduction -- 10.2 Queen's University Belfast -- 10.3 University of Oxford -- 10.4 Valediction -- References | |
505 | 8 | |a 11 Software Specification -- 11.1 Precondition-Postcondition Specifications -- 11.2 Specification of Data Types -- 11.3 The Role of Specification -- 11.4 Abstraction in Specification -- 11.5 Specifying Operations -- 11.6 Abstract Data Types -- 11.7 Structuring Specifications Via Aspects -- 11.8 The IBM/CICS Project -- 11.9 Industry Influence on Research -- 11.10 Conclusions -- References | |
505 | 8 | |a 12 CSP, Occam, and Inmos -- 12.1 Background -- 12.2 The Inmos System Language -- 12.3 Parallel Execution -- 12.4 Channels -- 12.5 Alternative -- 12.6 Timers -- 12.7 Subroutines -- 12.8 The Algebraic Specification -- 12.9 Formal Methods in Hardware Design -- 12.10 Hardware Design Languages -- 12.11 General Purpose Parallel Computers -- 12.12 Impact -- 12.13 Tomorrow -- 12.14 Retrospect -- References | |
505 | 8 | |a PART V RECENT RESEARCH DIRECTIONS. 13 Hoare and He's Unifying Theories of Programming -- 13.1 Origins of UTP -- 13.2 Retirement Symposium and UTP Book Launch -- 13.3 Introduction to UTP -- 13.4 Relational Calculus -- 13.5 Relational Semantics of a Programming Language -- 13.6 Designs -- 13.7 Galois Connections -- 13.8 Design Healthiness Conditions -- 13.9 The UTP School of Semantics -- References | |
505 | 8 | |a 14 Trimming the Hedges: An Algebra to Tame Concurrency -- 14.1 Prologue -- 14.2 Prehistory -- 14.3 Concurrent Kleene Algebra -- 14.4 Interchange in Context -- 14.5 Series-parallel Pomsets, Completeness, and Decidability -- 14.6 Weak Interchange and Compositional Concurrency -- 14.7 Other Developments -- 14.8 Epilogue -- References | |
505 | 0 | |a PART VI RETROSPECT AND PROSPECT. 15 Envoi. | |
600 | 1 | 0 | |a Hoare, C. A. R. |q (Charles Antony Richard), |d 1934- |
600 | 1 | 7 | |a Hoare, C. A. R. |q (Charles Antony Richard), |d 1934- |2 fast |0 (OCoLC)fst01463049 |
650 | 0 | |a Computer programming. | |
650 | 0 | |a Software engineering. | |
650 | 0 | |a Programming languages (Electronic computers) | |
655 | 7 | |a elektronické knihy |7 fd186907 |2 czenas | |
655 | 9 | |a electronic books |2 eczenas | |
700 | 1 | |a Jones, C. B. |q (Cliff B.), |d 1944- |e editor. | |
700 | 1 | |a Misra, Jayadev, |e editor. | |
776 | 0 | 8 | |i Print version: |z 9781450387286 |z 9781450387293 |
830 | 0 | |a ACM books ; |v #39. | |
856 | 4 | 0 | |u https://proxy.k.utb.cz/login?url=https://dl.acm.org/doi/book/10.1145/3477355 |y Plný text |
992 | |c EBOOK-TN |c ACM | ||
999 | |c 108521 |d 108521 | ||
993 | |x NEPOSILAT |y EIZ |