Title
Type-safe eventful sessions in java
Abstract
Event-driven programming is a major paradigm in concurrent and communication-based programming, and a widely adopted approach to building scalable high-concurrency servers. However, traditional event-driven programs are more difficult to read, write and verify than their multi-threaded counterparts due to low-level APIs and fragmentation of control flow across disjoint event handlers. This paper presents a Java language extension and a novel type discipline for type-safe event-driven session programming that counters the problems of traditional event-based programming with abstractions and safety guarantees based on session types, while retaining the expressiveness and performance characteristics of events. The type discipline extends session types and their primitives with asynchronous input, session typecase and session set types, ensuring eventhandling safety and event progress in addition to the standard type soundness and communication safety. The advantages, expressiveness and performance of event-driven session programming are demonstrated through a range of examples and benchmarks, including a session-typed SMTP server.
Year
DOI
Venue
2010
10.1007/978-3-642-14107-2_16
ECOOP
Keywords
DocType
Volume
type-safe eventful session,type-safe event-driven session programming,eventhandling safety,event-driven programming,event-driven session programming,communication safety,communication-based programming,traditional event-based programming,session typecase,session type,session set type,distributed application,control flow,type system
Conference
6183
ISSN
ISBN
Citations 
0302-9743
3-642-14106-4
32
PageRank 
References 
Authors
1.12
25
5
Name
Order
Citations
PageRank
Raymond Hu121914.01
Dimitrios Kouzapas2998.56
Olivier Pernet3482.28
Nobuko Yoshida42607153.29
Kohei Honda569829.60