the challenge of typed expressiveness in concurrency
play

The Challenge of Typed Expressiveness in Concurrency Jorge A. Prez - PowerPoint PPT Presentation

The Challenge of Typed Expressiveness in Concurrency Jorge A. Prez University of Groningen & CWI, Amsterdam Open Problems in Concurrency Theory Vienna, June 27, 2017 This Talk, In One Slide My view on the need for mature foundations for


  1. The Challenge of Typed Expressiveness in Concurrency Jorge A. Pérez University of Groningen & CWI, Amsterdam Open Problems in Concurrency Theory Vienna, June 27, 2017

  2. This Talk, In One Slide My view on the need for mature foundations for communication , distribution , and types

  3. Based on a FORTE 2016 paper

  4. The Future (According to Gartner) Communication and distribution at a (very) large-scale: • 2018: 6 billion connected ‘things’ requesting support • 2020: Autonomous agents part of 5% of all transactions • 2020: Smart agents facilitate 40% of mobile interactions

  5. The Present: Languages Promoted by Industry • Facebook’s Flow (gradual types for JavaScript) • Google’s Go (concurrency, message-passing communication) • Mozilla’s Rust (affine references/ownership types) • Erlang (actor-based concurrency) The Future (According to Gartner) Communication and distribution at a (very) large-scale: • 2018: 6 billion connected ‘things’ requesting support • 2020: Autonomous agents part of 5% of all transactions • 2020: Smart agents facilitate 40% of mobile interactions

  6. Communication & Types: Here to Stay! The Present: Languages Promoted by Industry • Facebook’s Flow (gradual types for JavaScript) • Google’s Go (concurrency, message-passing communication) • Mozilla’s Rust (affine references/ownership types) • Erlang (actor-based concurrency) The Future (According to Gartner) Communication and distribution at a (very) large-scale: • 2018: 6 billion connected ‘things’ requesting support • 2020: Autonomous agents part of 5% of all transactions • 2020: Smart agents facilitate 40% of mobile interactions

  7. We Need Foundations. But Which Ones? Much research on models of concurrency and communication. • Petri Nets, graph transformation & rewriting techniques, declarative formalisms, process calculi , etc Process calculi already support communication and types: • Simple formalization of message-passing concurrency • Basis for type systems for concurrent programs Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 5 / 30

  8. We Need Foundations. But Which Ones? Much research on models of concurrency and communication. • Petri Nets, graph transformation & rewriting techniques, declarative formalisms, process calculi , etc Process calculi already support communication and types: • Simple formalization of message-passing concurrency • Basis for type systems for concurrent programs Challenges • Many different foundations for types and communication → No single notion of correctness, but many! • How to transfer their analysis techniques into practice? • How to relate the tools derived from the different foundations? → A “Chomsky hierarchy” of [typed] concurrent languages? Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 5 / 30

  9. This Talk: A Plea for Typed Expressiveness • We need rigorous comparisons between well-established (but distinct) typed process frameworks - New bridges between different typed models - Understand complementarities of their analysis techniques • Clear practical significance, given reality and trends in IT Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 6 / 30

  10. This Talk: A Plea for Typed Expressiveness • We need rigorous comparisons between well-established (but distinct) typed process frameworks - New bridges between different typed models - Understand complementarities of their analysis techniques • Clear practical significance, given reality and trends in IT My Claim: Maturity via Expressiveness • We may build upon approaches to relative expressiveness , as studied in concurrency theory • Fruitful in the untyped setting, they should elucidate connections in a typed setting Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 6 / 30

  11. Outline Expressiveness in Concurrency Towards Relative Expressiveness for Behavioral Types Future Directions Concluding Remarks (and Shameless Publicity) Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 7 / 30

  12. Untyped Expressiveness: Key Ideas Many efforts on assessing the expressivity of process calculi. Typical questions: • What is the nature of a process construct? • Can we transfer reasoning techniques across languages? Main technical device: Language encodings • Translate a source language L S into a target language L T satisfying certain encodability criteria • Criteria represent abstract indicators of an encoding’s quality; they can be syntactic or semantic • No agreement on “good encodings”... Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 8 / 30

  13. Untyped Expressiveness: Outcomes Encodability results: • A positive encodability result → All behaviors expressible in L S can also be expressed in L T • A negative encodability result → There are behaviors expressible in L S but not in L T Combinations of results may indicate expressiveness gaps. Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 9 / 30

  14. Sucesses of Untyped Expressiveness Encodability results have clarified our understanding on interaction and communication as abstracted by process calculi. • Formally relate different computational models - Encoding the λ -calculus in the π -calculus [cf. Milner] - (Un)decidability of termination/convergence in CCS [cf. Busi et al] • Assess the expressive power of process languages - The interplay of choice and (a)synchronous communication, and its influence on the π -calculus [cf. Palamidessi, Honda, Boudol] • Transfer proof techniques between different calculi - Encoding of process mobility into name mobility: key to the behavioral theory of higher-order process calculi [cf. Sangiorgi] Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 10 / 30

  15. Outline Expressiveness in Concurrency Towards Relative Expressiveness for Behavioral Types Future Directions Concluding Remarks (and Shameless Publicity) Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 11 / 30

  16. Type Systems for Concurrency The development of process languages with type-based techniques has received much attention Type systems have revealed a rich landscape of concurrent models with disciplined communication Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 12 / 30

  17. Behavioral Type Systems • In contrast to usual data types, behavioral types represent causality, alternatives, repetition. • A behavioral type for a communication channel defines - its resource-usage policy - the series of actions realized through that channel along time • Often defined on top of process calculi. General verification techniques that may be tailored to different actual languages • A notable class of behavioral types: session types Jorge A. Pérez The Challenge of Typed Expressiveness in Concurrency 13 / 30

  18. Behavioral Types: An Incomplete Timeline Sortings for the π -calculus 1990 [Milner] 1991 2017

  19. Behavioral Types: An Incomplete Timeline Sortings for the π -calculus 1990 [Milner] 1991 Type & Effect System for CML [Nielson & Nielson] Types for Dyadic Interaction 1993 1993 [Honda] 1994 A Typed Interaction-based Language [Takeuchi et al.] 1996 Linear Types for π [Kobayashi et al.] 1997 Types for Deadlock-freedom in π [Kobayashi] 1998 Binary Session Types [Honda et al.] 2017

  20. Behavioral Types: An Incomplete Timeline Sortings for the π -calculus 1990 [Milner] 1991 Type & Effect System for CML [Nielson & Nielson] Types for Dyadic Interaction 1993 1993 [Honda] 1994 A Typed Interaction-based Language [Takeuchi et al.] 1996 Linear Types for π [Kobayashi et al.] 1997 Types for Deadlock-freedom in π [Kobayashi] 1998 Binary Session Types [Honda et al.] 2000 Types for Non-Uniform Objects [Ravara & Vasconcelos] 2001 Generic Process Types [Igarashi & Kobayashi] Spatial-behavioral Types [Caires] Multiparty Session Types [Honda et al.] 2008 2008 2017

  21. Behavioral Types: An Incomplete Timeline Sortings for the π -calculus 1990 [Milner] 1991 Type & Effect System for CML [Nielson & Nielson] Types for Dyadic Interaction 1993 1993 [Honda] 1994 A Typed Interaction-based Language [Takeuchi et al.] 1996 Linear Types for π [Kobayashi et al.] 1997 Types for Deadlock-freedom in π [Kobayashi] 1998 Binary Session Types [Honda et al.] 2000 Types for Non-Uniform Objects [Ravara & Vasconcelos] 2001 Generic Process Types [Igarashi & Kobayashi] Spatial-behavioral Types [Caires] Multiparty Session Types [Honda et al.] Conversation Types [Caires & Vieira] 2008 2008 Parameterized Multiparty Session Types [Yoshida et al.] 2009 Linear Session Types, Revisited 2010 2010 2010 [Giunti & Vasconcelos] Session Types as Linear Logic [Caires & Pfenning] 2017

Recommend


More recommend