1 Academia Europaea 18th Annual Conference events Grand Challenges of Informatics and Computer Mathematics Budapest, September 20, 2006 From Computable.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Advertisements

Theory of Computer Science - Algorithms
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Knowledge Based Synthesis of Control for Distributed Systems Doron Peled.
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
11111 Functional Program Verification CS 4311 A. M. Stavely, Toward Zero Defect Programming, Addison-Wesley, Y. Cheon and M. Vela, A Tutorial on.
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Timed Automata.
Design & Analysis of Algoritms
1 FLACOS Malta October 2008 Service Oriented Architectures: The new Software Paradigm W. Reisig Humboldt-Universität zu Berlin Theory of Programming.
ISBN Chapter 3 Describing Syntax and Semantics.
1 Formal Methods in SE Qaisar Javaid Assistant Professor Lecture 05.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Comp 205: Comparative Programming Languages Semantics of Imperative Programming Languages denotational semantics operational semantics logical semantics.
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
CHAPTER 3 The Church-Turing Thesis
COMP 3009 Introduction to AI Dr Eleni Mangina
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Normal forms for Context-Free Grammars
Describing Syntax and Semantics
Models of Computation as Program Transformations Chris Chang
Theory of Computation. Computation Computation is a general term for any type of information processing that can be represented as an algorithm precisely.
Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August 28, 2013.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Computability and Modeling Computation What are some really impressive things that computers can do? –Land the space shuttle (and other aircraft) from.
Computer Architecture Computational Models Ola Flygt V ä xj ö University
Introduction to ASMs Dumitru Roman Digital Enterprise Research Institute
CS 390 Introduction to Theoretical Computer Science.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Chapter 25 Formal Methods Formal methods Specify program using math Develop program using math Prove program matches specification using.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Process Optimization By Dr : Mona Ossman.
SUPERCOMPUTING CHALLENGE KICKOFF 2015 A Model for Computational Science Investigations Oct 2015 © challenge.org Supercomputing Around.
Introduction to Chemistry. What is Chemistry? Chemistry is the study of matter and its changes Matter is anything that has mass and occupies space Because.
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Computer Science, Algorithms, Abstractions, & Information CSC 2001.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
School of Computer Science & Software Engineering
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
Lecture 17 Undecidability Topics:  TM variations  Undecidability June 25, 2015 CSCE 355 Foundations of Computation.
Dr. Naveed Riaz Design and Analysis of Algorithms 1 1 Formal Methods in Software Engineering Lecture # 26.
Classical Control in Quantum Programs Dominique Unruh IAKS, Universität Karlsruhe Founded by the European Project ProSecCo IST
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Formal Methods. What Are Formal Methods Formal methods refers to a variety of mathematical modeling techniques that are applicable to computer system.
Formal Methods. Objectives To introduce formal methods including multiple logic based approaches for software modelling and reasoning 2.
Sub-fields of computer science. Sub-fields of computer science.
The Need for Algorithms
Advanced Algorithms Analysis and Design
Algorithms and Problem Solving
Hardware Verification
Introduction to Computer Programming
Foundations of Computer Science
Objective of This Course
Adv. Chemistry Chapter 1 Mrs. Baker
COMP60611 Fundamentals of Parallel and Distributed Systems
Algorithms and Problem Solving
P.V.G’s College of Engineering, Nashik
Lecture One: Automata Theory Amjad Ali
UNIT-II CHAPTER-4 SOFTWARE REQUIREMENT DEFINITION
The steps of scientific computation
Presentation transcript:

1 Academia Europaea 18th Annual Conference events Grand Challenges of Informatics and Computer Mathematics Budapest, September 20, 2006 From Computable Functions to Definable Systems Wolfgang Reisig Theory of Programming

2 The scope of concern future systems engineering elevator system accident preventing car automatic business processes programming theoretical basis computable functions “definable systems” formal models of discrete real world systems so far focus of informatics

3 This talk picks three aspects of a theory of “definable systems”: 1.A model should be trustworthy ! 2.A model should be compositional ! 3.A model should solicit invariants !

4 1. A model should be trustworthy! Each elementary item to be modeled is an elementary item of the model. Each elementary operation to be modeled is an elementary operation of the model. Each state to be modeled is a state of the model. Each step to be modeled is a step of the model. … and vice versa!

5 D … certainly an algorithm. but not computable by a Turing Machine! How write this algorithm down? s r Given: A circle C with center p, and a point q outside C. The problem: Construct a tangent at C through q The solution: s‘ 1. 1 Example: a geometrical algorithm C p q l

6 D s r s‘ C p q l Fix a signature (alphabet), . Write down P, using  –terms. Some  –structure, S 0, is the initial state: p S0 = p, C S0 = C, etc. Construct steps S  S’ of P as obvious. E.g. r := halfway(p,q); applied to a state S yields r S’ = halfway S (p S,q S ). Pseudocode P This algorithm defines a sequence of states. Each state is a  – structure. with a formal meaning input(p, C, q); r := halfway(p,q); D := circle(r,p); M := intersect(C,D); s := pick(M); l := makeline(q,s); output(l);

7 1.2 Example: pebble game Given: an urn, contanig a finite set of pebbles. Each pebble is either white or black. Step: Take 2 pebbles out of the urn. If their colors are different: put a white pebble back. If colors are equal: put a black pebble back (You may have to blacken a white one) How model this? conventionally: a nondeterministic program, including e.g. if white > 2 then white := white – 2; black := black + 1 calculating numbers of black and white pebbles. initial numbers of pebbles must be known before starting

8 more adequate: a Petri net a distributed run

9 more adequate: a Petri net a distributed run

10 Resources are finite ! Clocks are by no means precise ! There is no global time scale to order independent events ! Reading may prevent writing ! (This reveals the myth of mutex algorithms) 1.3 No hidden idealization!

11 Frege, 1892: Essential properties of a composed system are derivable from properties of its components. Sequential composition of sequential programs: A;B terminates iff both A and B terminate. Problem: reactive and distributed systems are usually not compositional CCS, parallel programs, … 2. A model should be compositional!

12 How gain compositionality? guideline: “a specification is a logical expression” “Composition is conjunction” equally important: “Implementation (refinement) is implication” Techniques in this line: TLA, FOCUS stuttering sequences, streams distributed runs

13 How formulate steps ? guideline: “a specification is a logical expression” Replace program variables by logical variables, and assignment statements by mathematical equations. Replace x := x+1 by x’ = x+1. Good for verification: x’ –1 = x.

14 3. A model should solicit invariants! Chemistry: A chemical process: A chemist calculates its “balance of material”. Physics: A physical process: A physicist calculates its “balance of energy”. Banking: A banking process: A banker calculates its “balance of money”. Good science has deep invariants. Scientific notions are designed with the intent for deep invariants.

15 Informatics constructs its objects of interest itself; hence, informatics has much freedom to fix its basic notions. … a particularly good chance for deep invariants! Informatics: An information transforming process: An information scientist calculates its “balance of information” … ? … Our problem: We don’t know what to balance. What really is “information” ? Invariants in informatics

16 Elementary actions should be reversible: Let P  a  S be a step. Classical observation: One can compute S from P and a. Def.: a is reversible iff one also can compute P from S and a. Petri Net transitions are reversible; x := 1 is not reversible. “Information is what you need to decide alternatives” What might help

17 Final remark: all this is not entirely new Carl Adam Petri, 1966: formal pragmatics, communication disciplines Don Knuth, 1968: “[the next state function f of a transition system] might involve operations that mortal man can not always perform.” Edsger W. Dijkstra: “Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.” Yuri Gurevich, 1985 “[Compared to Turing Machies,] we define a more general kind of abstract computational device …” Robin Milner, 2006: “ … we should have achieved a mathematical model of computation, perhaps highly abstract in contrast with the concrete nature of paper and register machines, but such that programming languages are merely executable fragments of the theory …”

18 Academia Europaea 18th Annual Conference events Grand Challenges of Informatics and Computer Mathematics Budapest, September 20, 2006 From Computable Functions to Definable Systems Wolfgang Reisig Theory of Programming The end