Expressive Power of CCS

Slides:



Advertisements
Similar presentations
Restricted Machines Presented by Muhannad Harrim.
Advertisements

Multi-tape Turing Machines: Informal Description
Turing Machines Memory = an infinitely long tape Persistent storage A read/write tape head that can move around the tape Initially, the tape contains only.
Formal Semantics of Programming Languages 虞慧群 Topic 6: Advanced Issues.
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Variants.
Copyright © 2006 Addison-Wesley. All rights reserved. 3.5 Dynamic Semantics Meanings of expressions, statements, and program units Static semantics – type.
Language-based Security: Information Flow Control 18739A: Foundations of Security and Privacy Anupam Datta Fall 2009.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
1 Introduction to Computability Theory Lecture11: Variants of Turing Machines Prof. Amos Israeli.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
Computability and Complexity 19-1 Computability and Complexity Andrei Bulatov Non-Deterministic Space.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
Fall 2004COMP 3351 Recursively Enumerable and Recursive Languages.
Costas Busch - RPI1 NPDAs Accept Context-Free Languages.
Recursively Enumerable and Recursive Languages
1 Module 12 Computation and Configurations –Formal Definition –Important Terms –Examples.
1 Finite Automata. 2 Finite Automaton Input “Accept” or “Reject” String Finite Automaton Output.
Fall 2004COMP 3351 NPDA’s Accept Context-Free Languages.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
Module 12 Computation and Configurations Formal Definition Examples.
Fall 2005Costas Busch - RPI1 Recursively Enumerable and Recursive Languages.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG)
Model Checking Lecture 5. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
1 CS Programming Languages Random Access Machines Jeremy R. Johnson.
Chapter 4: A Universal Program 1. Coding programs Example : For our programs P we have variables that are arranged in a certain order: Y 1 X 1 Z 1 X 2.
CSCI 2670 Introduction to Theory of Computing September 28, 2005.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
CS5204 – Operating Systems 1  -Calculus Reasoning about concurrency and communication (Part 1).
CSCI 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Variants.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
1 Extensions to Turing machines TMs are clumsy. Can we make them more efficient or more powerful? We will consider 6 possibilities: 1.Multiple tapes 2.Multiple.
MPRI – Course on Concurrency Lectures 11 and 12 The pi-calculus expressiveness hierarchy Catuscia Palamidessi INRIA Futurs and LIX
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
Concurrency 5 The theory of CCS Specifications and Verification Expressive Power Catuscia Palamidessi
This Week Lecture on relational semantics Exercises on logic and relations Labs on using Isabelle to do proofs.
Recursively Enumerable and Recursive Languages
1 Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
1 Theoretical Foundations of Concurrency A formal study of concurrency enables: understanding the essential nature of concurrency reasoning about the behavior.
1 8.4 Extensions to the Basic TM Extended TM’s to be studied: Multitape Turing machine Nondeterministic Turing machine The above extensions make no increase.
FORMAL LANGUAGES, AUTOMATA, AND COMPUTABILITY * Read chapter 4 of the book for next time * Lecture9x.ppt.
Universal Turing Machine
1 Recursively Enumerable and Recursive Languages.
16 January 2004LIX1 Equipe Comète Concurrency, Mobility, and Transactions Catuscia Palamidessi INRIA-Futurs and LIX.
Turing’s Thesis.
More variants of Turing Machines
CSE 105 theory of computation
Numerical Representation of Strings
NPDAs Accept Context-Free Languages
The Processor and Machine Language
Turing Machines Acceptors; Enumerators
11/10/2018.
Systems Architecture I (CS ) Lecture 1: Random Access Machines
Computer Science 210 Computer Organization
Process Calculus.
Reasoning about concurrency and communication (Part 1).
Non-Deterministic Finite Automata
Formal Methods in software development
Decidable Languages A language L is decidable if there is a Turing machine ML such that given any word w  0*, then: Input of ML: a  b  … w Output of.
Formal Languages, Automata and Models of Computation
Probabilistic Methods in Concurrency Lecture 7 The probabilistic asynchronous p-calculus Catuscia Palamidessi
Variants of Turing Machines
Instructor: Aaron Roth
Systems Architecture I (CS ) Lecture 1: Random Access Machines
Presentation transcript:

Expressive Power of CCS Concurrency 7 Expressive Power of CCS The p-calculus Catuscia Palamidessi catuscia@lix.polytechnique.fr

The Expressive Power of CCS CCS is a Turing-complete formalism. We will show this by proving that we can simulate in CCS the Random Access Machines, which are a Turing-complete formalism Definition: A RAM is a computational model composed by: a finite set of registers r1,...,rn which store natural numbers, one for each register, and can be updated (incremented or decremented) and tested for zero. A program (1,I1), ... ,(m,Im), where the Ij’s are instructions of either of the following two forms: Incr(rj) : add 1 to Register rj DecJump(rj,s) : if the content of the register rj is not zero, then decrease rj by one and go to next intruction. Otherwise jump to instruction s. 13 Novembre 2003 Concurrency 7

The Expressive Power of CCS The state of a RAM R is a tuple (j, k1,...,kn) where j is the index of the current instruction and k1,...,kn are the contents of the registers The execution is defined by a transition relation among states: (j, k1,...,kn) R (j’, k’1,...,k’n) Meaning that the RAM goes from state (j, k1,...,kn) to state (j’, k’1,...,k’n) by executing the action Ij in the program of R We assume that the execution terminates if a special instruction index is reached. We also assume that the first register (r1) will initially contain the input of the program, and that it will contain the output when the program terminates. 13 Novembre 2003 Concurrency 7

The Expressive Power of CCS Theorem: Every computable function can be expressed as the input-output relation computed by a RAM. We define now a CCS process which encodes a given RAM R. Each register is encoded by a labeled instance of a counter: Ch(k) repr. rh with content k The program of R is encoded as a set of CCS definitions: Instrj  inch.Instri+1 if Ii = Succ(rh) in R Instrj  dech.Instri+1 + zeroh.Instrs if Ii = DecJump(rh,s) in R Assume input k, so the initial configuration is (1,k,0,...,0). The CCS process encoding R is: [ (1,k,0,...,0) ]R = (n inc)(n dec)(n zero) (Instr1 | C1(k) | C2(0) | ... | Cn(0) ) where inc, dec and zero represent the vectors of the inch, dech and zeroh. Theorem (correctness of the encoding): (j, k1,...,kn) R* (j’, k’1,...,k’n) if and only if [(j, k1,...,kn)]R * [(j’, k’1,...,k’n)]R Proof: Exercise t 13 Novembre 2003 Concurrency 7

The p-calculus Milner, Parrow, Walker 1989 A concurrent calculus where the communication structure among existing processes can change over time. Link mobility. 13 Novembre 2003 Concurrency 7

The p calculus: scope extrusion A private channel name can be communicated and its scope can be extended to include the recipient Channel: the name can be used to communicate Privacy: no one else can interfere An example of link mobility: Q x y R P z 13 Novembre 2003 Concurrency 7

The p calculus: scope extrusion A private channel name can be communicated and its scope can be extended to include the recipient Channel: the name can be used to communicate Privacy: no one else can interfere An example of link mobility: Q z x y R P 13 Novembre 2003 Concurrency 7

The p calculus: scope extrusion A private channel name can be communicated and its scope can be extended to include the recipient Channel: the name can be used to communicate Privacy: no one else can interfere An example of link mobility: Q z x y R P z 13 Novembre 2003 Concurrency 7

The p calculus: syntax P ::= 0 inaction Similar to CCS with value passing, but values are channel names, and recursion is replaced by replication (!) p ::= x(y) | xy | t action prefixes (input, output, silent) x, y are channel names P ::= 0 inaction | p . P prefix | P | P parallel | P + P sum | (n x) P restriction, new name | ! P replication 13 Novembre 2003 Concurrency 7

Operational semantics (basic idea) Transition system P  Q where m can be x(y), xy, x(y), or t Rules Input x(y) . P  P[z/y] Output xy . P  P Open ___________________ (n y) P  P’ x(z) xy xy P  P’ x(y) 13 Novembre 2003 Concurrency 7

Operational semantics (basic idea) Close ___________________________ P | (n y) Q  (n y) (P’ | Q’) P  P’ Q  Q’ x(y) x(y) t 13 Novembre 2003 Concurrency 7