TY - GEN
T1 - Session-based distributed programming in Java
AU - Hu, Raymond
AU - Yoshida, Nobuko
AU - Honda, Kohei
PY - 2008/8/14
Y1 - 2008/8/14
N2 - This paper demonstrates the impact of integrating session types and object-oriented programming, through their implementation in Java. Session types provide high-level abstraction for structuring a series of interactions in a concise syntax, and ensure type-safe communications between distributed peers. We present the first full implementation of a language and runtime for session-based distributed programming featuring asynchronous message passing, delegation, and session subtyping and interleaving, combined with class downloading and failure handling. The compilation-runtime framework of our language effectively maps session abstraction onto underlying transports and guarantees communication safety through static and dynamic session type checking. We have implemented two alternative mechanisms for performing distributed session delegation and prove their correctness. Benchmark results show session abstraction can be realised with low runtime overhead.
AB - This paper demonstrates the impact of integrating session types and object-oriented programming, through their implementation in Java. Session types provide high-level abstraction for structuring a series of interactions in a concise syntax, and ensure type-safe communications between distributed peers. We present the first full implementation of a language and runtime for session-based distributed programming featuring asynchronous message passing, delegation, and session subtyping and interleaving, combined with class downloading and failure handling. The compilation-runtime framework of our language effectively maps session abstraction onto underlying transports and guarantees communication safety through static and dynamic session type checking. We have implemented two alternative mechanisms for performing distributed session delegation and prove their correctness. Benchmark results show session abstraction can be realised with low runtime overhead.
UR - http://www.scopus.com/inward/record.url?scp=49049087949&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-70592-5_22
DO - 10.1007/978-3-540-70592-5_22
M3 - Conference contribution
AN - SCOPUS:49049087949
SN - 3540705910
SN - 9783540705918
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 516
EP - 541
BT - ECOOP 2008 - Object-Oriented Programming - 22nd European Conference, Proceedings
T2 - 22nd European Conference on Object-Oriented Programming, ECOOP 2008
Y2 - 7 July 2008 through 11 July 2008
ER -