A calculus of mobile processes, I
Information and Computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Making the future safe for the past: adding genericity to the Java programming language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Theoretical Computer Science
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
A Discipline of Programming
Language Primitives and Type Discipline for Structured Communication-Based Programming
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Seal: A Framework for Secure Mobile Computations
ICCL'98 Workshop on Internet Programming Languages
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
Types and Subtypes for Client-Server Interactions
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
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
Typechecking Safe Process Synchronization
Electronic Notes in Theoretical Computer Science (ENTCS)
Flexible models for dynamic linking
ESOP'03 Proceedings of the 12th European conference on Programming
A distributed object-oriented language with session types
TGC'05 Proceedings of the 1st international conference on Trustworthy global computing
BASS: boxed ambients with safe sessions
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Type checking a multithreaded functional language with session types
Theoretical Computer Science
Electronic Notes in Theoretical Computer Science (ENTCS)
Calculi, types and applications
Theoretical Computer Science
Haskell session types with (almost) no class
Proceedings of the first ACM SIGPLAN symposium on Haskell
Session and Union Types for Object Oriented Programming
Concurrency, Graphs and Models
Information and Computation
Calculi for Service-Oriented Computing
Formal Methods for Web Services
Formal Methods for Web Services
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Modular session types for distributed object-oriented programming
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Linear type theory for asynchronous session types
Journal of Functional Programming
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
Bounded session types for object oriented languages
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
TAPIDO: trust and authorization via provenance and integrity in distributed objects
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Multipoint session types for a distributed calculus
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
Session types for object-oriented languages
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Hi-index | 0.00 |
In the age of the world-wide web and mobile computing, programming communication-centric software is essential. Thus, programmers and program designers are exposed to new levels of complexity, such as ensuring the correct composition of communication behaviours and guaranteeing deadlockfreedom of their protocols. This paper proposes the language Ldoos, a simple distributed object-oriented language augmented with session communication primitives and types. Ldoos provides a flexible object-oriented programming style for structural interaction protocols by prescribing channel usages within signatures of distributed classes. We develop a typing system for Ldoos and prove its soundness with respect to the operational semantics. We also show that in a well-typed Ldoos program, there will never be a connection error, a communication error, nor an incorrect completion between server-client interactions. These results demonstrate that a consistent integration of object-oriented language features and session types can statically check the consistent composition of communication protocols.