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
Graph Types for Monadic Mobile Processes
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
Access control for mobile agents: The calculus of boxed ambients
ACM Transactions on Programming Languages and Systems (TOPLAS)
Multiparty asynchronous session types
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Session-Based Distributed Programming in Java
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Global Progress in Dynamically Interleaved Multiparty Sessions
CONCUR '08 Proceedings of the 19th international conference on Concurrency Theory
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Global Principal Typing in Partially Commutative Asynchronous Sessions
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Cryptographic Protocol Synthesis and Verification for Multiparty Sessions
CSF '09 Proceedings of the 2009 22nd IEEE Computer Security Foundations Symposium
Contracts for Mobile Processes
CONCUR 2009 Proceedings of the 20th International Conference on Concurrency Theory
Session-Based Compilation Framework for Multicore Programming
Formal Methods for Components and Objects
Information and Computation
A protocol compiler for secure sessions in ML
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Sessions and session types: an overview
WS-FM'09 Proceedings of the 6th international conference on Web services and formal methods
Type-safe eventful sessions in java
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
A theory of design-by-contract for distributed multiparty interactions
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
Session types for access and information flow control
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
Buffered communication analysis in distributed multiparty sessions
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
Scribbling interactions with a formal foundation
ICDCIT'11 Proceedings of the 7th international conference on Distributed computing and internet technology
Parameterised multiparty session types
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Efficient session type guided distributed interaction
COORDINATION'10 Proceedings of the 12th international conference on Coordination Models and Languages
Scribbling interactions with a formal foundation
ICDCIT'11 Proceedings of the 7th international conference on Distributed computing and internet technology
Safe parallel programming with session Java
COORDINATION'11 Proceedings of the 13th international conference on Coordination models and languages
On global types and multi-party sessions
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Secure distributed programming with value-dependent types
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Sessional dataflow: short paper
DAMP '12 Proceedings of the 7th workshop on Declarative aspects and applications of multicore programming
Analysis of service oriented software systems with the conversation calculus
FACS'10 Proceedings of the 7th international conference on Formal Aspects of Component Software
Multiparty session types meet communicating automata
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
A reputation system for multirole sessions
TGC'11 Proceedings of the 6th international conference on Trustworthy Global Computing
Asynchronous distributed monitoring for multiparty session enforcement
TGC'11 Proceedings of the 6th international conference on Trustworthy Global Computing
Multiparty session c: safe parallel programming with message optimisation
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
Synthesising choreographies from local session types
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Nested protocols in session types
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Deadlock-freedom-by-design: multiparty asynchronous global programming
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sessions and separability in security protocols
POST'13 Proceedings of the Second international conference on Principles of Security and Trust
ICALP'13 Proceedings of the 40th international conference on Automata, Languages, and Programming - Volume Part II
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
Hi-index | 0.00 |
Multiparty session types enforce structured safe communications between several participants, as long as their number is fixed when the session starts. In order to handle common distributed interaction patterns such as peer-to-peer protocols or cloud algorithms, we propose a new role-based multiparty session type theory where roles are defined as classes of local behaviours that an arbitrary number of participants can dynamically join and leave. We offer programmers a polling operation that gives access to the current set of a role's participants in order to fork processes. Our type system with universal types for polling can handle this dynamism and retain type safety. A multiparty locking mechanism is introduced to provide communication safety, but also to ensure a stronger progress property for joining participants that has never been guaranteed in previous systems. Finally, we present some implementation mechanisms used in our prototype extension of ML.