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
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
Subtyping for session types in the pi calculus
Acta Informatica
A Conversation with Steve Ross-Talbot
Queue - Workflow Systems
Typechecking Safe Process Synchronization
Electronic Notes in Theoretical Computer Science (ENTCS)
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
A Calculus of Global Interaction based on Session Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Supporting Security Monitor-Aware Development
SESS '07 Proceedings of the Third International Workshop on Software Engineering for Secure Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
Boxed ambients with communication interfaces
Mathematical Structures in Computer Science
Multiparty asynchronous session types
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
The Pairing of Contracts and Session Types
Concurrency, Graphs and Models
Types and Deadlock Freedom in a Calculus of Services, Sessions and Pipelines
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
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
A secure compiler for session abstractions
Journal of Computer Security - 20th IEEE Computer Security Foundations Symposium (CSF)
Amalgamating sessions and methods in object-oriented languages with generics
Theoretical Computer Science
Information and Computation
Abstract Processes in Orchestration Languages
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
Security Types for Sessions and Pipelines
Web Services and Formal Methods
Security enforcement aware software development
Information and Software Technology
Semantic predicate types and approximation for class-based object oriented programming
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
Formal Methods for Web Services
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
Structured communication-centred programming for web services
ESOP'07 Proceedings of the 16th European conference on 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
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
How to infer finite session types in a calculus of services and sessions
COORDINATION'08 Proceedings of the 10th international conference on Coordination models and languages
Multipoint session types for a distributed calculus
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
On progress for structured communications
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
A protocol compiler for secure sessions in ML
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Type inference and strong static type checking for Promela
Science of Computer Programming
Type-safe eventful sessions in java
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
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
Scribbling interactions with a formal foundation
ICDCIT'11 Proceedings of the 7th international conference on Distributed computing and internet technology
Session-based role programming for the design of advanced telephony applications
Proceedings of the 11th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
Object reuse and behavior adaptation in Java-like languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Concurrency, Compositionality, and Correctness
Structured Communication-Centered Programming for Web Services
ACM Transactions on Programming Languages and Systems (TOPLAS)
A polymorphic type system with progress for binary sessions
WISM'12 Proceedings of the 2012 international conference on Web Information Systems and Mining
On action permutation and progress for partially commutative asynchronous binary sessions
IDCS'12 Proceedings of the 5th international conference on Internet and Distributed Computing Systems
Hi-index | 0.00 |
A session takes place between two parties; after establishing a connection, each party interleaves local computations with 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 π-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.