Abstract. 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 L doos , a simple distributed object-oriented language augmented with session communication primitives and types. L doos 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 L doos and prove its soundness with respect to the operational semantics. We also show that in a well-typed L doos 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 offers a compositional method to statically check safety of communication protocols.
We developed our formalism building upon previous experience with L doos REF , a distributed object-oriented language with basic session capabilities.
A Distributed Object-Oriented Language with Session Types
TGC
Computer Science