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...

Full description

Saved in:
Bibliographic Details
Other Authors: Jones, C. B. 1944- (Editor), Misra, Jayadev, (Editor)
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)

Cover

Table of contents

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