A calculus of mobile processes, I
Information and Computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Types and programming languages
Types and programming languages
Adoption and focus: practical linear types for imperative programming
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
An Interaction-based Language and its Typing System
PARLE '94 Proceedings of the 6th International PARLE Conference on Parallel Architectures and Languages Europe
CONCUR '93 Proceedings of the 4th International Conference on Concurrency Theory
Graph Types for Monadic Mobile Processes
Proceedings of the 16th Conference on Foundations of Software Technology and Theoretical Computer Science
Scalable extensibility via nested inheritance
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Correspondence assertions for process synchronization in concurrent communications
Journal of Functional Programming
Formalising Java RMI with explicit code mobility
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Subtyping for session types in the pi calculus
Acta Informatica
A Conversation with Steve Ross-Talbot
Queue - Workflow Systems
BASS: boxed ambients with safe sessions
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Language support for fast and reliable message-based communication in singularity OS
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Type checking a multithreaded functional language with session types
Theoretical Computer Science
A Calculus of Global Interaction based on Session Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Secure Implementations for Typed Session Abstractions
CSF '07 Proceedings of the 20th IEEE Computer Security Foundations Symposium
Electronic Notes in Theoretical Computer Science (ENTCS)
A theory of contracts for web services
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Theoretical Aspects of Communication-Centred Programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Amalgamating sessions and methods in object-oriented languages with generics
Theoretical Computer Science
Typechecking Safe Process Synchronization
Electronic Notes in Theoretical Computer Science (ENTCS)
Structured communication-centred programming for web services
ESOP'07 Proceedings of the 16th European conference on Programming
A theory for strong service compliance
COORDINATION'07 Proceedings of the 9th international conference on Coordination models and languages
Two session typing systems for higher-order mobile processes
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Asynchronous session types and progress for object oriented languages
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
Spatial-behavioral types, distributed services, and resources
TGC'06 Proceedings of the 2nd international conference on Trustworthy global computing
Bounded session types for object oriented languages
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
On progress for structured communications
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
A distributed object-oriented language with session types
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
A new type system for deadlock-free processes
CONCUR'06 Proceedings of the 17th international conference on Concurrency Theory
Session types for object-oriented languages
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Sessions and session types: an overview
WS-FM'09 Proceedings of the 6th international conference on Web services and formal methods
A linear account of session types in the pi calculus
CONCUR'10 Proceedings of the 21st international conference on Concurrency theory
A type system for access control views in object-oriented languages
ARSPA-WITS'10 Proceedings of the 2010 joint conference on Automated reasoning for security protocol analysis and issues in the theory of security
Hi-index | 0.00 |
A session takes place between two parties; after establishing a connection, each party interleaves local computations and communications (sending or receiving) with the other. Session types characterise such sessions in terms of the types of values communicated and the shape of protocols, and have been developed for the @p-calculus, CORBA interfaces, and functional languages. We study the incorporation of session types into object-oriented languages through MOOSE, a multi-threaded language with session types, thread spawning, iterative, and higher-order sessions. Our design aims to consistently integrate the object-oriented programming style and sessions, and to be able to treat various case studies from the literature. We describe the design of MOOSE, its syntax, operational semantics, and type system, and develop a type inference system. After proving subject reduction, we establish the progress property: once a communication has been established, well-typed programs will never starve at communication points.