Sciweavers

AGERE
2015

Objects as session-typed processes

8 years 7 days ago
Objects as session-typed processes
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 message 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 communication. We introduce an object-oriented programming language that has processes as its only objects and employs linear session types to express the protocols of message exchange and to reason about concurrency and state. Based on various examples we show that our language supports the typical patterns of object-oriented programming (e.g., encapsulation, dynamic dispatch, and subtyping) while guaranteeing session fidelity in a concurrent setting. In addition, we show that our language facilitates new forms of expressi...
Stephanie Balzer, Frank Pfenning
Added 13 Apr 2016
Updated 13 Apr 2016
Type Journal
Year 2015
Where AGERE
Authors Stephanie Balzer, Frank Pfenning
Comments (0)