A key idea in object-oriented programming is that objects encapsulate state and interact with each other by message exchange. This perspective suggests a model of computation that is inherently concurrent (to facilitate simultaneous mes-sage exchange) and that accounts for the effect of message exchange on an object’s state (to express valid sequences of state transitions). In this paper we show that such a model of computation arises naturally from session-based commu-nication. We introduce an object-oriented programming lan-guage that has processes as its only objects and employs lin-ear session types to express the protocols of message ex-change and to reason about concurrency and state. Based on various examples we show that our languag...
International audienceGuaranteeing that the parties of a network application respect a given protoco...
Session types allow communication protocols to be specified type-theoretically so that protocol impl...
Compositional methods are central to the development and verification of software systems. They allo...
Abstract. A session takes place between two parties; after establishing a connection, each party int...
This dissertation investigates different formalisms, in the form of programming language calculi, th...
AbstractA session takes place between two parties; after establishing a connection, each party inter...
We suggest an amalgamation of communication based programming (centred on sessions) and object orien...
Abstract. Session types are types for distributed communicating pro-cesses. They were born from proc...
Abstract. A session type is an abstraction of a sequence of heterogeneous values sent over one chann...
Abstract. Session types allow communication protocols to be specified type-theoretically so that pro...
Abstract. In network applications it is crucial to have a mechanism to guarantee that communications...
We thank Jonathan Aldrich and Luis Caires for helpful discussions. Gay was partially supported by th...
Earlier work explored the introduction of session types into object oriented languages. Following th...
none4siEarlier work explored the introduction of session types into object oriented languages. Follo...
There is often a sort of a protocol associated to each class, stating when and how certain methods s...
International audienceGuaranteeing that the parties of a network application respect a given protoco...
Session types allow communication protocols to be specified type-theoretically so that protocol impl...
Compositional methods are central to the development and verification of software systems. They allo...
Abstract. A session takes place between two parties; after establishing a connection, each party int...
This dissertation investigates different formalisms, in the form of programming language calculi, th...
AbstractA session takes place between two parties; after establishing a connection, each party inter...
We suggest an amalgamation of communication based programming (centred on sessions) and object orien...
Abstract. Session types are types for distributed communicating pro-cesses. They were born from proc...
Abstract. A session type is an abstraction of a sequence of heterogeneous values sent over one chann...
Abstract. Session types allow communication protocols to be specified type-theoretically so that pro...
Abstract. In network applications it is crucial to have a mechanism to guarantee that communications...
We thank Jonathan Aldrich and Luis Caires for helpful discussions. Gay was partially supported by th...
Earlier work explored the introduction of session types into object oriented languages. Following th...
none4siEarlier work explored the introduction of session types into object oriented languages. Follo...
There is often a sort of a protocol associated to each class, stating when and how certain methods s...
International audienceGuaranteeing that the parties of a network application respect a given protoco...
Session types allow communication protocols to be specified type-theoretically so that protocol impl...
Compositional methods are central to the development and verification of software systems. They allo...