On the Expressiveness of Infinite Behavior and Name Scoping in Process Calculi

Similar documents
On the Expressiveness of Polyadicity in Higher-Order Process Calculi

Lecture Notes on Program Equivalence

Course on Probabilistic Methods in Concurrency. (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1

Rule Formats for Nominal Modal Transition Systems

Labelled Transition Systems For a Game Graph

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Substitution in Structural Operational Semantics and value-passing process calculi

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Specification and Analysis of Contracts Tutorial

Elementary Recursive Function Theory

The Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England

Modelling Downgrading in Information Flow Security. A. Bossi, C. Piazza, and S. Rossi. Dipartimento di Informatica Università Ca Foscari di Venezia

LANGUAGES, LOGICS, TYPES AND TOOLS FOR CONCURRENT SYSTEM MODELLING

6. Hoare Logic and Weakest Preconditions

Induction and Recursion. CMPS/MATH 2170: Discrete Mathematics

(Refer Slide Time: 4:00)

Graph Query Verification using Monadic 2 nd -Order Logic

CS131 Typed Lambda Calculus Worksheet Due Thursday, April 19th

Computability Theory XI

Interaction Nets vs. the ρ-calculus: Introducing Bigraphical Nets

Conservative Concurrency in Haskell

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

The Untyped Lambda Calculus

CSCI-GA Scripting Languages

CS-XXX: Graduate Programming Languages. Lecture 9 Simply Typed Lambda Calculus. Dan Grossman 2012

On the Relative Expressive Power of Asynchronous Communication Primitives

Security for Multithreaded Programs under Cooperative Scheduling

Chapter 1. Preliminaries

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

Behavioural Equivalences and Abstraction Techniques. Natalia Sidorova

Programming Languages Lecture 15: Recursive Types & Subtyping

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Treewidth and graph minors

Program verification. Generalities about software Verification Model Checking. September 20, 2016

Relative Expressive Power of Navigational Querying on Graphs

Theories of Information Hiding in Lambda-Calculus

The Untyped Lambda Calculus

Lambda Calculus as a Programming Language

Programming with Dependent Types Interactive programs and Coalgebras

Syrvey on block ciphers

Theory of Computer Science

Timed Automata: Semantics, Algorithms and Tools

Algorithms: Lecture 10. Chalmers University of Technology

40 Behaviour Compatibility

Theorem Proving Principles, Techniques, Applications Recursion

A well-behaved LTS for the Pi-calculus (Abstract)

Lambda Calculus and Extensions as Foundation of Functional Programming

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

Software Model Checking: Theory and Practice

CSE505, Fall 2012, Midterm Examination October 30, 2012

Graph Representation of Sessions and Pipelines for Structured Service Programming

Lambda Calculus and Type Inference

Introduction to the Lambda Calculus

SAT-CNF Is N P-complete

COMPUTABILITY THEORY AND RECURSIVELY ENUMERABLE SETS

Typing Control. Chapter Conditionals

Advanced Test Coverage Criteria: Specify and Measure, Cover and Unmask

Objective and Subjective Specifications

CSE 341: Programming Languages

Observational Program Calculi and the Correctness of Translations

CS 4110 Programming Languages & Logics. Lecture 17 Programming in the λ-calculus

Course Modelling of Concurrent Systems Summer Semester 2016 University of Duisburg-Essen

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

Lecture slides & distribution files:

CS 4110 Programming Languages & Logics. Lecture 28 Recursive Types

CS21 Decidability and Tractability

Handling Integer Arithmetic in the Verification of Java Programs

Formal Systems and their Applications

the application rule M : x:a: B N : A M N : (x:a: B) N and the reduction rule (x: A: B) N! Bfx := Ng. Their algorithm is not fully satisfactory in the

Polymorphism and Type Inference

2 Introduction to operational semantics

Supplementary Notes on Abstract Syntax

Proving the Genericity Lemma by Leftmost Reduction is Simple

Programs with infinite loops: from primitive recursive predicates to the arithmetic hierarchy

COMP 1130 Lambda Calculus. based on slides by Jeff Foster, U Maryland

The learning objectives of this chapter are the followings. At the end of this chapter, you shall

Polymorphic lambda calculus Princ. of Progr. Languages (and Extended ) The University of Birmingham. c Uday Reddy

Motivation: Model-driven. driven Engineering. Semantics of Model Transformation. Reiko Heckel University of Leicester, UK

COMP 382: Reasoning about algorithms

Compiler construction

CSE 505: Concepts of Programming Languages

Lambda Calculus and Type Inference

An introduction to Homotopy Type Theory

Checking the Realizability of BPMN 2.0 Choreographies

Recursively defined cpo algebras

Inductive Definitions, continued

Programming Languages Lecture 14: Sum, Product, Recursive Types

Lecture 5: The Untyped λ-calculus

Note that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.

Elementary Recursive Function Theory

Cover Page. The handle holds various files of this Leiden University dissertation

Negations in Refinement Type Systems

On the Language Inclusion Problem for Timed Automata: Closing a Decidability Gap

CS 4110 Programming Languages & Logics. Lecture 27 Recursive Types

COMS 4771 Support Vector Machines. Nakul Verma

Denotational Semantics. Domain Theory

Part VI. Imperative Functional Programming

Introduction to Software Testing Chapter 2, Sections: 2.1 & 2.2 Overview Graph Coverage Criteria

when a process of the form if be then p else q is executed and also when an output action is performed. 1. Unnecessary substitution: Let p = c!25 c?x:

Lambda Calculus as a Programming Language

Transcription:

On the Expressiveness of Infinite Behavior and Name Scoping in Process Calculi Pablo Giambiagi (KTH, Sweden) Gerardo Schneider (IRISA/INRIA) Speaker: Frank D. Valencia (Uppsala Univ., Sweden) FOSSACS 04, Barcelona, March 2004 FOSSACS 04: Inf. Behaviour and Scoping p.1/34

Motivation: Process Calculi CCS is an important representative of process calculi FOSSACS 04: Inf. Behaviour and Scoping p.2/34

Motivation: Process Calculi CCS is an important representative of process calculi : Simplicity of its definition and techniques, Applicability to synchr. communication. Foundational ideas grown out from it. FOSSACS 04: Inf. Behaviour and Scoping p.2/34

Motivation: Process Calculi CCS is an important representative of process calculi : Simplicity of its definition and techniques, Applicability to synchr. communication. Foundational ideas grown out from it. This talk: CCS Variants wrt infinite behavior and name scoping. Variants exhibits interesting connections wrt Relative Expressiveness. Verification. FOSSACS 04: Inf. Behaviour and Scoping p.2/34

Motivation: Process Calculi CCS is an important representative of process calculi : Simplicity of its definition and techniques, Applicability to synchr. communication. Foundational ideas grown out from it. This talk: CCS Variants wrt infinite behavior and name scoping. Variants exhibits interesting connections wrt Relative Expressiveness. Verification. FOSSACS 04: Inf. Behaviour and Scoping p.2/34

Motivation: Scoping Variants Consider CCS construct with rule: REC FOSSACS 04: Inf. Behaviour and Scoping p.3/34

Motivation: Scoping Variants Consider CCS construct with rule: REC Does involve name -conversion? FOSSACS 04: Inf. Behaviour and Scoping p.3/34

Motivation: Scoping Variants Consider CCS construct with rule: REC Does involve name -conversion? Name Scoping: If yes, Static else Dynamic. FOSSACS 04: Inf. Behaviour and Scoping p.3/34

Motivation: Scoping Variants Consider CCS construct with rule: REC Does involve name -conversion? Name Scoping: If yes, Static else Dynamic. This affects not only semantics (e.g., expressiveness and verification. -equivalence), also FOSSACS 04: Inf. Behaviour and Scoping p.3/34

Motivation: Infinite Behaviour Ways of specifying infinite behaviour in process calculi: Parametric vs. Constant definitions 1. Finitely many constants 2. Finitely many definitions FOSSACS 04: Inf. Behaviour and Scoping p.4/34

Motivation: Infinite Behaviour Ways of specifying infinite behaviour in process calculi: Parametric vs. Constant definitions 1. Finitely many constants 2. Finitely many definitions Can we encode (2) into (1)? (Without Relabelling or Infinite Sums). FOSSACS 04: Inf. Behaviour and Scoping p.4/34

Motivation: Infinite Behaviour Ways of specifying infinite behaviour in process calculi: Parametric vs. Constant definitions 1. Finitely many constants 2. Finitely many definitions Can we encode (2) into (1)? (Without Relabelling or Infinite Sums). What about other constructions: Replication or Recursive Expressions? FOSSACS 04: Inf. Behaviour and Scoping p.4/34

Motivation: Infinite Behaviour Ways of specifying infinite behaviour in process calculi: Parametric vs. Constant definitions 1. Finitely many constants 2. Finitely many definitions Can we encode (2) into (1)? (Without Relabelling or Infinite Sums). What about other constructions: Replication or Recursive Expressions? In -calculus all forms coincide. What about less expressive calculi?. FOSSACS 04: Inf. Behaviour and Scoping p.4/34

Motivation and Contributions We discuss: Static vs Dynamic Scoping. Parametric vs. Constant definitions. Recursion vs Replication. FOSSACS 04: Inf. Behaviour and Scoping p.5/34

Motivation and Contributions We discuss: Static vs Dynamic Scoping. Parametric vs. Constant definitions. Recursion vs Replication....and show that these issues affect Expressiveness Decidability of Divergency. FOSSACS 04: Inf. Behaviour and Scoping p.5/34

Overview The finite core Static vs Dynamic scoping Infinite behaviour Expressiveness Concluding Remarks FOSSACS 04: Inf. Behaviour and Scoping p.6/34

Overview The finite core Static vs Dynamic scoping Infinite behaviour Expressiveness Concluding Remarks FOSSACS 04: Inf. Behaviour and Scoping p.6/34

The Finite Core: Syntax Given: A set of names A set of co-names A set of actions FOSSACS 04: Inf. Behaviour and Scoping p.7/34

The Finite Core: Syntax Given: A set of names A set of co-names A set of actions Processes specifying finite behaviour: FOSSACS 04: Inf. Behaviour and Scoping p.7/34

The Finite Core: Semantics SUM if RES if PAR PAR COM FOSSACS 04: Inf. Behaviour and Scoping p.8/34

Overview of the presentation The finite core Static vs Dynamic scoping Infinite behaviour Expressiveness Concluding Remarks FOSSACS 04: Inf. Behaviour and Scoping p.9/34

Scoping: Example Consider with FOSSACS 04: Inf. Behaviour and Scoping p.10/34

Scoping: Example Consider with Consider the following rule: REC without name -conversion. FOSSACS 04: Inf. Behaviour and Scoping p.10/34

Scoping: Example Consider with Then, for the unfolding FOSSACS 04: Inf. Behaviour and Scoping p.10/34

Scoping: Example Consider with Then, for the unfolding FOSSACS 04: Inf. Behaviour and Scoping p.10/34

Scoping: Example Consider with Then, for the unfolding FOSSACS 04: Inf. Behaviour and Scoping p.10/34

Scoping: Example Consider with Then, for the unfolding Then may be executed. FOSSACS 04: Inf. Behaviour and Scoping p.10/34

Scoping: Example 2 Consider again with FOSSACS 04: Inf. Behaviour and Scoping p.11/34

Scoping: Example 2 Consider again with Consider now the following rule: REC but applying name -conversion when necessary FOSSACS 04: Inf. Behaviour and Scoping p.11/34

FOSSACS 04: Inf. Behaviour and Scoping p.11/34 Scoping: Example 2 with Consider again Then,

FOSSACS 04: Inf. Behaviour and Scoping p.11/34 Scoping: Example 2 with Consider again Then,

FOSSACS 04: Inf. Behaviour and Scoping p.11/34 Scoping: Example 2 with Consider again Then,

Scoping: Example 2 Consider again with Then, FOSSACS 04: Inf. Behaviour and Scoping p.11/34

Scoping: Example 2 Consider again with Then, Then will never be executed. FOSSACS 04: Inf. Behaviour and Scoping p.11/34

Static vs Dynamic Scoping If name occurrences get dynamically (i.e. during execution) captured under the scope of a restriction, we talk about dynamic scoping. Otherwise, static scoping. -conversion to avoid captures Otherwise dynamic scoping static scoping FOSSACS 04: Inf. Behaviour and Scoping p.12/34

Overview of the presentation The finite core Static vs Dynamic scoping Infinite behaviour Expressiveness Concluding Remarks FOSSACS 04: Inf. Behaviour and Scoping p.13/34

Infinite Behaviour At least four constructions specifying infinite behaviour in CCS-like calculi: FOSSACS 04: Inf. Behaviour and Scoping p.14/34

Infinite Behaviour At least four constructions specifying infinite behaviour in CCS-like calculi: CCS p : Given by a finite set of parametric definitions book on. Basically, the variant in Milner s 99 -calculus. FOSSACS 04: Inf. Behaviour and Scoping p.14/34

Infinite Behaviour At least four constructions specifying infinite behaviour in CCS-like calculi: CCS p : CCS k : Like CCS p but using constant definitions. Essentially CCS (Milner 89) without relabelling nor infinite summations. FOSSACS 04: Inf. Behaviour and Scoping p.14/34

Infinite Behaviour At least four constructions specifying infinite behaviour in CCS-like calculi: CCS p : CCS k : CCS! : Given by replication!. This variant is presented, e.g., in works by Busi, Gabbrielli and Zavattaro [2003,2004]. FOSSACS 04: Inf. Behaviour and Scoping p.14/34

Infinite Behaviour At least four constructions specifying infinite behaviour in CCS-like calculi: CCS p : CCS k : CCS! :! CCS : Given by recursive expressions of the form as in Milner 89. We adopt, as in ECCS, static scoping of names. FOSSACS 04: Inf. Behaviour and Scoping p.14/34

Infinite Behaviour At least four constructions specifying infinite behaviour in CCS-like calculi: CCS p : CCS k : CCS! :! CCS : FOSSACS 04: Inf. Behaviour and Scoping p.14/34

Parametric Definitions: CCSp Syntax:., where FOSSACS 04: Inf. Behaviour and Scoping p.15/34

Parametric Definitions: CCSp Syntax:., where Semantics: def if CALL -conversion when necessary. name FOSSACS 04: Inf. Behaviour and Scoping p.15/34

Constant Definitions: CCS k Syntax: where FOSSACS 04: Inf. Behaviour and Scoping p.16/34

Constant Definitions: CCS k Syntax: where Semantics: CONS if def FOSSACS 04: Inf. Behaviour and Scoping p.16/34

Constant Definitions: CCS k Syntax: where Semantics (alternative): Use instead and REC without name -conversion. FOSSACS 04: Inf. Behaviour and Scoping p.16/34

Recursion Expressions: CCS Syntax: FOSSACS 04: Inf. Behaviour and Scoping p.17/34

Recursion Expressions: CCS Syntax: Semantics: REC with name -conversion when necessary. FOSSACS 04: Inf. Behaviour and Scoping p.17/34

Replication: CCS! Syntax:! FOSSACS 04: Inf. Behaviour and Scoping p.18/34

Replication: CCS! Syntax:! Semantics: REP!! FOSSACS 04: Inf. Behaviour and Scoping p.18/34

Overview of the presentation The finite core Static vs Dynamic scoping Infinite behaviour Expressiveness Concluding Remarks FOSSACS 04: Inf. Behaviour and Scoping p.19/34

Expressiveness and Classification Criteria Let be weak bisimilarity. Expressiveness: CCS is as expressive as CCS iff for every there exists such that, FOSSACS 04: Inf. Behaviour and Scoping p.20/34

Expressiveness and Classification Criteria Let be weak bisimilarity. Expressiveness: CCS is as expressive as CCS iff for every there exists such that Divergence:, FOSSACS 04: Inf. Behaviour and Scoping p.20/34

Expressiveness and Classification Criteria Let be weak bisimilarity. Expressiveness: CCS is as expressive as CCS iff for every there exists such that Divergence: is divergent iff sequence, i.e., there exists an infinite., FOSSACS 04: Inf. Behaviour and Scoping p.20/34

Expressiveness and Classification Criteria Let be weak bisimilarity. Expressiveness: CCS is as expressive as CCS iff for every there exists such that Divergence: is divergent iff sequence We ll discuss:, i.e., there exists an infinite. 1. The relative expressiveness w.r.t. weak bisimilarity 2. The decidability of divergence, FOSSACS 04: Inf. Behaviour and Scoping p.20/34

Expressiveness Results Encodings: (weak) bisimulation preserving mappings FOSSACS 04: Inf. Behaviour and Scoping p.21/34

Expressiveness Results Encodings: (weak) bisimulation preserving mappings Encoding CCS p into CCS k Encoding CCS k into CCS p Encoding CCS into CCS! Encoding CCS! into CCS FOSSACS 04: Inf. Behaviour and Scoping p.21/34

Expressiveness Results Encodings: (weak) bisimulation preserving mappings Encoding CCS p into CCS k Encoding CCS k into CCS p Encoding CCS into CCS! Encoding CCS! into CCS FOSSACS 04: Inf. Behaviour and Scoping p.21/34

Encoding CCS p into CCS k. Idea: Given in CCS p, FOSSACS 04: Inf. Behaviour and Scoping p.22/34

Encoding CCS p into CCS k. Idea: Given in CCS p, Suppose For each call def uses that def and replace. may make, generate constant with. FOSSACS 04: Inf. Behaviour and Scoping p.22/34

Encoding CCS p into CCS k. Idea: Given in CCS p, Suppose For each call def uses that def and replace. may make, generate constant with Problem: Potentially infinite generation of constants!. FOSSACS 04: Inf. Behaviour and Scoping p.22/34

Encoding CCS p into CCS k. Idea: Given in CCS p, Suppose For each call def uses that def and replace. may make, generate constant with Problem: Potentially infinite generation of constants! - Due to name -conversion in CCS p, an infinite number of fresh names may be generated.. FOSSACS 04: Inf. Behaviour and Scoping p.22/34

Encoding CCS p into CCS k...nevertheless, Theorem: Let CCS p with set of definitions effectively construct and its set of constants. One can s.t., FOSSACS 04: Inf. Behaviour and Scoping p.23/34

Encoding CCS p into CCS k...nevertheless, Theorem: Let CCS p with set of definitions effectively construct and its set of constants. One can s.t., But CCS p can encode the perhaps most used kind of relabellings: The injective ones. FOSSACS 04: Inf. Behaviour and Scoping p.23/34

Encoding CCS p into CCS k...nevertheless, Theorem: Let CCS p with set of definitions effectively construct and its set of constants. One can s.t., But CCS p can encode the perhaps most used kind of relabellings: The injective ones. Corollary: Injective relabellings are derivable in CCS k FOSSACS 04: Inf. Behaviour and Scoping p.23/34

into CCS! Encoding CCS! Idea:! FOSSACS 04: Inf. Behaviour and Scoping p.24/34

Encoding CCS into CCS!! Idea:!... But the encoding does not work if we hadn t assumed in CCS. -conversion FOSSACS 04: Inf. Behaviour and Scoping p.24/34

Encoding CCS into CCS! : Example Let be the following CCS process: FOSSACS 04: Inf. Behaviour and Scoping p.25/34

Encoding CCS into CCS! : Example Let be the following CCS process: Then the corresponding encoding is:! FOSSACS 04: Inf. Behaviour and Scoping p.25/34

Encoding CCS into CCS! : Example Let be the following CCS process: Then the corresponding encoding is:! Clearly and are not strongly bisimilar. However, Theorem: For diverges.,. Moreover, diverges iff FOSSACS 04: Inf. Behaviour and Scoping p.25/34

Overview of the presentation The finite core Static vs Dynamic scoping Infinite behaviour Expressiveness Concluding Remarks FOSSACS 04: Inf. Behaviour and Scoping p.26/34

Conclusions CCS p CCS k Divergence: Undecidable CCS CCS! Divergence: Decidable Slight variations of lead to: 1. Static Scoping Replication. 2. Dynamic Scoping Param. Definitions. FOSSACS 04: Inf. Behaviour and Scoping p.27/34

Conclusions CCS p CCS k Divergence: Undecidable CCS CCS! Divergence: Decidable Slight variations of lead to: 1. Static Scoping Replication. 2. Dynamic Scoping Param. Definitions. Injective relabellings are redundant in CCS with constants. FOSSACS 04: Inf. Behaviour and Scoping p.27/34

Conclusions CCS p CCS k Divergence: Undecidable CCS CCS! Divergence: Decidable Slight variations of lead to: 1. Static Scoping Replication. 2. Dynamic Scoping Param. Definitions. Injective relabellings are redundant in CCS with constants. CCS with constants does not preserve -conversion. FOSSACS 04: Inf. Behaviour and Scoping p.27/34

Conclusions CCS p CCS k Divergence: Undecidable CCS CCS! Divergence: Decidable Slight variations of lead to: 1. Static Scoping Replication. 2. Dynamic Scoping Param. Definitions. Injective relabellings are redundant in CCS with constants. CCS with constants does not preserve -conversion. FOSSACS 04: Inf. Behaviour and Scoping p.27/34

Final Remarks CCS variant in Milner 99 uses parametric definitions with static scoping. CWB uses parametric definitions with dynamic scoping. FOSSACS 04: Inf. Behaviour and Scoping p.28/34

Final Remarks CCS variant in Milner 99 uses parametric definitions with static scoping. CWB uses parametric definitions with dynamic scoping. ECCS advocates the static scoping of names. CHOCS advocates for dynamic name scoping in the context of higher-order CCS. FOSSACS 04: Inf. Behaviour and Scoping p.28/34

Thanks! FOSSACS 04: Inf. Behaviour and Scoping p.29/34

Bisimilarity A relation : is a (strong) simulation if for all FOSSACS 04: Inf. Behaviour and Scoping p.30/34

Bisimilarity A relation : is a (strong) simulation if for all FOSSACS 04: Inf. Behaviour and Scoping p.30/34

Bisimilarity A relation : is a (strong) simulation if for all is a (strong) bisimulation if both (strong) simulations:. and its converse are FOSSACS 04: Inf. Behaviour and Scoping p.30/34

Bisimilarity is a weak simulation if for all A relation : is a weak bisimulation if both and its converse are weak simulations:. - ) is (where FOSSACS 04: Inf. Behaviour and Scoping p.30/34

Encoding CCS p into CCS k Idea: For each CCS p, let occurrence of with CCS k replacing in each For each definition definition def def, generate a constant FOSSACS 04: Inf. Behaviour and Scoping p.31/34

Encoding CCSk into CCSp with The encoding of into CCSp is a process associated set of definitions : The encoding where It satisfies It is an homomorphism over all other operators FOSSACS 04: Inf. Behaviour and Scoping p.32/34

Encoding CCS! into CCS The encoding! : It satisfies! It is an homomorphism over all other operators FOSSACS 04: Inf. Behaviour and Scoping p.33/34

Encoding CCS p into CCS k : Example Let FOSSACS 04: Inf. Behaviour and Scoping p.34/34

Encoding CCSp into CCSk: Example Let 1. FOSSACS 04: Inf. Behaviour and Scoping p.34/34

Encoding CCSp into CCSk: Example Let 1. 2. FOSSACS 04: Inf. Behaviour and Scoping p.34/34

Encoding CCSp into CCSk: Example Let 1. 2. FOSSACS 04: Inf. Behaviour and Scoping p.34/34

Encoding CCSp into CCSk: Example Let 1. 2. FOSSACS 04: Inf. Behaviour and Scoping p.34/34

Encoding CCSp into CCSk: Example Let 1. 2. 3. FOSSACS 04: Inf. Behaviour and Scoping p.34/34

Encoding CCSp into CCSk: Example Let 1. 2. 3. Remark: The generation of fresh names could continue forever! FOSSACS 04: Inf. Behaviour and Scoping p.34/34