Prof. Charles Antony Richard Hoare Tony Hoare. Born in Colombo (Sri Lanka) British parents.

Slides:



Advertisements
Similar presentations
Formal techniques for getting software right: some old ideas and some new tools Applied Formal Methods Research Group David Lightfoot:
Advertisements

1 Turing Machines and Equivalent Models Section 13.2 The Church-Turing Thesis.
PZ03D Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ03D - Program verification Programming Language Design.
Computing Fundamentals 2 Introduction to CafeOBJ Lecturer: Patrick Browne Lecture Room: K408 Lab Room: A308 Based on work by: Nakamura Masaki, João Pascoal.
ICE1341 Programming Languages Spring 2005 Lecture #6 Lecture #6 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
Principles of programming languages 3: Answers for exercises Isao Sasano Department of Information Science and Engineering.
JOHN WARNER BACKUS December 3, 1924 – March Philadelphia, Pennsylvania Ashland, Oregon.
John McCarthy. biography Was born in Boston, Massachusetts on September 4, Family of two Irish immigrants, John Patrick and Ida Glatt McCarthy.
Computing Fundamentals 1 Lecture 1 Lecturer: Patrick Browne Room K308 Based on Chapter 1. A Logical approach to Discrete.
PSUCS322 HM 1 Languages and Compiler Design II Formal Semantics Material provided by Prof. Jingke Li Stolen with pride and modified by Herb Mayer PSU Spring.
Tony Hoare ¢ Turing Award 1980 ¢ Program Verification ¢ Algol 60 ¢ Axiomatic Semantics ¢ Floyd-Hoare Logic ¢ Concurrent Programs ¢ Communicating Sequential.
Describing Syntax and Semantics
Statistics and Probability Theory Lecture 09 Fasih ur Rehman.
Applied Linguistics Overview of course’ Linguistics’
CSCE 221H-200Gregory Donelan II. Early Life Was Born in Yealmpton, England on January 13 th, 1934 Won a scholarship to Eton College in 1946, where he.
1 Mathematical Institute Serbian Academy of Sciences and Arts, Belgrade DEUKS Meeting Valencia, September 9-11, 2008, Valencia New PhD modules proposal.
TIM BERNERS LEE By: Jasalyn K. Lucas. PERSONAL LIFE  He was born in London, England on June 8, He is still alive and is currently 59 years old.
Introduction By: Dr. Javad Razjouyan. Programming Languages.
The Turing machine Olena Lastivka. Definition Turing machine is a theoretical device that manipulates symbols on a strip of tape according to a table.
SystemsDatabasesTheoryProgramming Languages Software.
1 Formal Semantics of Programming Languages “Program testing can be used to show the presence of bugs, but never to show their absence!” --Dijkstra.
Pioneers of Computer Science Dennis Ritchie and Ken Thompson Dennis Ritchie- Born September 9, 1941 – October 12, 2011 Ken Thompson - Born February 4,
Alan M. Turing ( ) A Natalie Cluck Presentation.
CPIT 201 Introduction to Computing
How Solvable Is Intelligence? A brief introduction to AI Dr. Richard Fox Department of Computer Science Northern Kentucky University.
Presented by: Kevin Steward. Born November 2, 1815 in England He started school at 1 ½ By 11 he taught himself Greek and Latin 16 drop out of school,
1 Section 13.2 The Church-Turing Thesis The Church-Turing Thesis: Anything that is intuitively computable can be be computed by a Turing machine. It is.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
Computer Science 210 Computer Organization Course Introduction.
STEPHEN TOULMIN By Hana Ayele. Stephen Toulmin  Born on March 25, 1922  Attended King’s College 1942: received Bachelors of Art Degree in math and physics.
Introduction to Work and Organizational Psychology Gerhard Ohrband 11 th lecture Safety at work.
Principle of Programming Lanugages 3: Compilation of statements Statements in C Assertion Hoare logic Department of Information Science and Engineering.
What is Artificial Intelligence?
Data Structures Haim Kaplan & Uri Zwick December 2013 Sorting 1.
Lord of the Flies William Golding The author and his greatest work.
A history in the life of…
Alonzo Church: Mathematician. Philosopher. Computer Scientist? Who is Alonzo Church? Alonzo Church was a man who was very important to the computer science.
© Andrew IrelandGrand Challenges for Computing Research 2004 The Verifying Compiler Andrew Ireland Dependable Systems Group School of Mathematical & Computer.
COMPOSITIONS WITH TRANSFORMATIONS. COMPOSITIONS Definition: The nesting of two or more processes to form a single new rule. Composition of Transformations.
CSC3315 (Spring 2009)1 CSC 3315 Languages & Compilers Hamid Harroud School of Science and Engineering, Akhawayn University
Alfred Russel Wallace Presented by: Codie O’Neil.
Knowledge Engineering. Review- Expert System 3 Knowledge Engineering The process of building an expert system: 1.The knowledge engineer establishes a.
1 Artificial Intelligence & Prolog Programming CSL 302.
By John Beverly. Born in Lincolnshire, England – Nov. 8, 1815 Professor of Queens College, Cork (now University College Cork) in Ireland – 1850 Married.
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
Programming Language Paradigms ITSK2314 Lecture 3.
Charles Babbage By Paul Gehle. Who is Babbage? An English mathematician and scientist. Created a machine that read punch cards to solve math problems.
Objectives 4 Understand the concept of software quality 4 Explain the importance of quality and the consequences of poor quality 4 Understand software.
Sub-fields of computer science. Sub-fields of computer science.
Why study programming languages?
Quick-Sort 9/13/2018 1:15 AM Quick-Sort     2
Formal Methods in Software Engineering 1
Quick Sort.
CSE 143 Lecture 23: quick sort.
CSS 342 Data Structures, Algorithms, and Discrete Mathematics I
CSS 342 Data Structures, Algorithms, and Discrete Mathematics I
Reasoning About Code; Hoare Logic
Alan Turing By: Marina Ramirez.
Logic for Artificial Intelligence
Logic for Computer Security Protocols
Machine Learning Course.
Ontology.
Predicate Transformers
Program correctness Axiomatic semantics
Programming Languages and Compilers (CS 421)
Science and Technology
Presentation transcript:

Prof. Charles Antony Richard Hoare Tony Hoare

Born in Colombo (Sri Lanka) British parents

Oxford (England) University of Oxford: Hoare studied: Philosophy Latin and Greek Bacherol Degree in 1946 Extra year: Statistics

Moscow (Russia) Hoare studied: Russian (in the Royal Navy) Statistics a programming course

University State of Moscow - machine translation of languages - probability theory

Back to England (London) in 1960 Elliot Brothers (a small scientific computer manufacturer) First task: Elliot 803 Implementation of the method for internal sorting invented by Shell Hoare believed he had a faster method

Elliot 503 (the companie´s next computer) Goal: Design the language Course on the language Angol 60 (in Brighton - England ) First contact with recursive procedures Wrote the procedure of Quicksort New direction: Implementation of Algol 60 ( Hoare was invited to the group with responsibility for maintenance and development of Algol.)

Back to Elliot Brothers... Hoare was leading a team of 15 programmers ( task: Implementation of an operating system to the Elliot 503 computer) Promoted to Chief Engineer ( task: responsible for development and design of the company´s products)

Hoare left the industry what was the reason? -Hoare proposed once that a programming language definition should be formalized as a set of axioms instead of a just a functional notation. -But he did not see how actually to do it. Long Term research?

Research at Queen´s University (Belfast) ( ) -Theory of Programming and Languages

Hoare Logic

Instantiation axiom {p[t/y]} y:=t {p} For example: {y+5=10} y:=y+5 {y=10} {y+y<z} x:=y {x+y<z} {2*(y+5)>20} y:=2*(y+5) {y>20}

Composition rule {p} S1 {r} {r} S2 {q} ________________________________________________________________________ {p} S1;S2 {q} For example: if the antecedents are 1. {x+1 = y+2} x := x+1 {x=y+2} 2. {x = y+2} y := y+2 {x=y} Then the consequent is {x+1 = y+2} x := x+1; y := y+2 {x=y}

While rule {p/\e} S {p} ________________________________________________________________________ { p} while e do S od {p/\¬e}

Assertions example {x>=0 /\ y>=0} a:=0; b:=x; while b>=y do b:=b-y; a:=a+1 od. {x=a*y+b/\b>=0/\b<y}

Back to Oxford University (1977) Continuation of the research leads to: CSP (Communicating Sequential Processes)

1980 – Receives Turing Award For his fundamental contributions to the definition and design of programming languages

Back to Industry (1999) Senior researcher with Microsoft Research in Cambridge