what is a good process semantics
play

What is a good process semantics? Robin Cockett - PowerPoint PPT Presentation

What is a good process semantics? Robin Cockett robin@cpsc.ucalgary.ca University of Calgary Estonia 2006: What is a good process semantics? July, 2006 p. 1/61 What is a good process semantics? 1. Where are we? Where should we be? 2.


  1. What is a good process semantics? Robin Cockett robin@cpsc.ucalgary.ca University of Calgary Estonia 2006: What is a good process semantics? July, 2006 – p. 1/61

  2. What is a good process semantics? 1. Where are we? Where should we be? 2. Communication on a channel. 3. Polycategories and representability. 4. Communication on many channels. 5. Communication protocols. Estonia 2006: What is a good process semantics? July, 2006 – p. 2/61

  3. 1. Where are we? Where should we be? Estonia 2006: What is a good process semantics? July, 2006 – p. 3/61

  4. Distributed computing: the reality ... In the 1970’s networks, parallel, and distributed computing was going to solve everything! Practitioners pushed back with “the fallacies” (Joy, Lyon, Deutsch, Gosling): The network is reliable. Latency is zero. Bandwidth is infinite The network is secure. Topology doesn’t change. Transport cost is zero. The network is homogeneous. Computing had blindly entered a new world of expectation and connectedness! There was no turning back ... Estonia 2006: What is a good process semantics? July, 2006 – p. 4/61

  5. Practice ahead of theory ... Where was the theory? Where was the mathematics of processes, concurrency, communication? Was the theory only develop in response to practice? Was theory simply modeling practice? Should it? Was there a need to develop new theory ... .... or was it just taking time to link existing theory and practice? Does mathematics have anything insightful to say about communicating processes? Estonia 2006: What is a good process semantics? July, 2006 – p. 5/61

  6. A brief history of process semantics ... Petri nets, C. A. Petri (1962). Communicating Sequential Processes (CSP), C. A. R. Hoare (1978). Calculus of Communicating Processes (CCS), R. Milner (1979) [book (1989)]. Algebra of Communicating Processes (ACP), J. Bergstra and J. W. Klop (1982). Robin Milner’s quest to find the “ λ -calculus of concurrency” produced the π -calculus with J. Parrow (1992) [book (1999)]. Others: ambient calculus L. Cardelli, A.D. Gordon), PEPA (J. Hillston), the fusion calculus (J. Parrow and B. Victor), the spy calculus (M. Abadi and A. Gordon), ... “What are the fundamental structures of concurrency? We still don’t know!” “Is this profusion a scandal of our subject: I used to think so ... now I am not so sure.” Samson Abramsky (2005) Estonia 2006: What is a good process semantics? July, 2006 – p. 6/61

  7. The complaint ... Abramsky’s complaints: No Church’s thesis for concurrency ... A tool kit: no unified theory ... Plasticity of definition, carvings in snow: no bedrock ... A profusion of syntax but no semantics ... Physics (quantum computing) and biology (biological modeling) are at our gates: what do we have to show them? Abramsky’s resolution: Should we expect more than a tool kit? The tool kit is not so bad: bisimulation, hiding, scope extrusion, ... The subject covers a wide range of phenomena ... Estonia 2006: What is a good process semantics? July, 2006 – p. 7/61

  8. � � � � � � � � � � � � � � � � � � So what is a good process semantics? � � � � � � � � � Operational behaviors � � � � � � � � � Term logic Categorical doctrine � � � �������������� � � � � � � � � � � Proof theory � � � � � � � � � Mathematical models � � � � � � � � � Estonia 2006: What is a good process semantics? July, 2006 – p. 8/61

  9. What is missing? A convenient programming language: the focus of recent work. Term logic: Categorical doctrine: The algebraic semantics: why is it important? Universally given constructs (properties versus structure). Basic equational rules of equality: allowing (localized) program transformations. Compositional semantics: allowing program construction. Modular description: allows “feature” addition with control over their interactions. Interface to mathematics: models of these settings with different properties. Proof theory: Detailed behavior of the free term model: Term construction Type inference and checking. Compositional behavior from cut elimination. Estonia 2006: What is a good process semantics? July, 2006 – p. 9/61

  10. ... in other words BISIMULATION SUCKS Estonia 2006: What is a good process semantics? July, 2006 – p. 10/61

  11. So where are we? Still developing the mathematics!! ... but we are further along than you might think! Estonia 2006: What is a good process semantics? July, 2006 – p. 11/61

  12. 2. Communication on a channel (A surprising bit of bedrock!) Estonia 2006: What is a good process semantics? July, 2006 – p. 12/61

  13. Products and coproducts Abelian groups, suplattices, relations: A + B = A × B (biproducts) Sets, topoi, cartesian closed categories, extensive and distributive categories A + B = A ⊔ B (disjoint union) A × B (cartesian product) A × ( B + C ) ∼ = ( A × B ) + ( A × C ) In all these settings the product and coproducts satisfy some very special properties! What does ΣΠ( A ) the category with free products and coproducts generated by the category A look like? Andre Joyal: Free bicomplete categories . Estonia 2006: What is a good process semantics? July, 2006 – p. 13/61

  14. � � � � � � � � Products Y 1 � � � � � � � � � � f 1 � � � � � � � � � Π 1 � � � Π k ( f ); g = Π k ( f ; g ) � � � � � � . Q i Y i X f ; ( g i ) i ∈ I = ( f ; g i ) i ∈ I . � � . � ( f i ) i � � � � � � ( f i ) i ∈ I ; Π k ( g ) = f k ; g � � � Π n � � � � � � � � � f n � � � � � � Y N where Π k Q i Y i Y k � � � � Π k ; f = Π k ( f ) and Π k = Π k (1 Y k ) � f � � Π k ( f ) � Z Estonia 2006: What is a good process semantics? July, 2006 – p. 14/61

  15. � � � � � � Coproducts X 1 � � � � � � � � � � � � � g 1 � � � � � � � � ∐ 1 � � � f ; ∐ k ( g ) = ∐ k ( f ; g ) � � � � . � Y ‘ i X i � f j � j ∈ J ; g = � f j ; g � j ∈ J . � . � g i � � � � � � � ∐ k ( f ); � g j � j ∈ J = f ; g k � � � ∐ n � � � � � � � � g n � � � � � � � � � � X n where ∐ k � ‘ j Y j X k � � f ; ∐ k = ∐ k ( f ) and ∐ k = ∐ k (1 X k ) � � f � � ∐ k ( f ) � � Z Estonia 2006: What is a good process semantics? July, 2006 – p. 15/61

  16. � � � Interactions X 1 Y 1 � h 11 � � � � � � � � � � � � � � � � h n 1 . . � � � ( h ij ) i � j =( � h ij � j ) i � Q . . gives � � ‘ j Y j i X i . . h 1 m � � � � � � � � � � � � � � � � Y n X n h nm and some other basic equalities: Π i ( ∐ j ( f )) = ∐ j (Π i ( f )) Π k (( g i ) i ) = (Π k ( g i )) i ∐ k ( � f j � j ) = �∐ k ( f j ) � j Estonia 2006: What is a good process semantics? July, 2006 – p. 16/61

  17. Logic of products and coproducts A ⊢ 1 A A id { X j ⊢ f j Y } j ∈ J { X ⊢ g i Y i } i ∈ I cotuple tuple ‘ Q j X j ⊢ � f j � j ∈ J Y X ⊢ ( g i ) i ∈ I i Y i X ⊢ f Y k X k ⊢ f Y coproj proj ‘ Q X ⊢ ∐ k ( f ) i ∈ I Y i i ∈ I X i ⊢ Π k ( f ) Y X ⊢ f Y Y ⊢ g Z cut X ⊢ f ; g Z Estonia 2006: What is a good process semantics? July, 2006 – p. 17/61

  18. � � �� � �� �� � �� �� � �� �� � �� � � Cut elimination ... is rewriting modulo equations: f ; 1 f 1; f f f ; ∐ k ( g ) ∐ k ( f ; g ) ∐ k ( � f j � j ) �∐ k ( f j ) � j Π k ( f ); g Π k ( f ; g ) Π k (( f i ) i ) (Π k ( f i )) i � f i � i ; g � f i ; g � i Π i ( ∐ j ( f )) ∐ j (Π i ( f )) f ; ( g i ) i ( f ; g i ) i ( � f ij � i ) j � ( f ij ) j � i ∐ k ( f ); � g i � i f ; g k ( f i ) i ; Π k ( g ) f k ; g Estonia 2006: What is a good process semantics? July, 2006 – p. 18/61

  19. Process reading ... � k Output “ k ” on the right = ∐ k ( f ) ���� ���� f k � Output “ k ” on the left = Π k ( g ) ���� ���� g △ � � � Listen for input on the left = � f 1 , f 2 � � � ���� ���� ���� ���� � f 1 f 2 � � � � Listen for input on the right = ( g 1 , g 2 ) � � ���� ���� ���� ���� � g 1 g 2 Estonia 2006: What is a good process semantics? July, 2006 – p. 19/61

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend