On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information and Computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical Computer Science
Game-theoretic analysis of call-by-value computation
Theoretical Computer Science
Types and programming languages
Types and programming languages
PI-Calculus: A Theory of Mobile Processes
PI-Calculus: A Theory of Mobile Processes
Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
An Interaction-based Language and its Typing System
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
Testing Theories for Asynchronous Languages
Proceedings of the 18th Conference on Foundations of Software Technology and Theoretical Computer Science
Recursive Types in Games: Axiomatics and Process Representation
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
Strong normalisation in the π-calculus
Information and Computation
A game semantics of the asynchronous π-calculus
CONCUR 2005 - Concurrency Theory
Acta Informatica
Subtyping for session types in the pi calculus
Acta Informatica
Semantic subtyping for the pi-calculus
Theoretical Computer Science
Types and full abstraction for polyadic π-calculus
Information and Computation
Sessions and session types: an overview
WS-FM'09 Proceedings of the 6th international conference on Web services and formal methods
Fair subtyping for multi-party session types
COORDINATION'11 Proceedings of the 13th international conference on Coordination models and languages
Structured Communication-Centered Programming for Web Services
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information and Computation
Proceedings of the 14th symposium on Principles and practice of declarative programming
Globally governed session semantics
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
Hi-index | 0.00 |
We introduce a concise pi-calculus with directed choices and develop a theory of subtyping. Built on a simple behavioural intuition, the calculus offers exact semantic analysis of the extant notions of subtyping in functional programming languages and session-based programming languages. After illustrating the idea of subtyping through examples, we show type-directed embeddings of two known subtyped calculi, one for functions and another for session-based communications. In both cases, the behavioural content of the original subtyping is precisely captured in the fine-grained subtyping theory in the pi-calculus. We then establish full abstraction of these embeddings with respect to their standard semantics, Morris's contextual congruence in the case of the functional calculus and testing equivalence for the concurrent calculus. For the full abstraction of the embedding of the session-based calculus, we introduce a new proof method centring on non-deterministic computational adequacy and definability. Partially suggested by a technique used by Quaglia and Walker for their full abstraction result, the new proof method extends the framework used in game-based semantics to the May/Must equivalences, giving a uniform proof method for both deterministic and non-deterministic languages.