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