Computing Publications

Publications Home » Amalgamating sessions and methods...

Amalgamating sessions and methods in object-oriented languages with generics

Sara Capecchi, Mario Coppo, Dezani Dezani-Ciancaglini, Sophia Drossopoulou, Elena Giachino

Journal Article
Theoretical Computer Science
September, 2008
Elsevier Science Ltd.
DOI 10.1016/j.tcs.2008.09.016

We suggest an amalgamation of communication-based programming (centred on sessions) and object-oriented programming, whereby sessions between concurrent threads are amalgamated with methods. In our proposal, threads consist of the execution of session bodies on objects and communicate with each other by asynchronously sending/receiving objects

on channels. The response to a session request is based on the name of the request and the class of the object receiving the request. The decision how to continue a session is based on the class of the object sent/received. Sessions can be delegated to other sessions, although

session themselves are not first class objects.

We demonstrate our ideas through a core language with generic types, SAMg, and an example. We then formalize a small calculus, FSAMg, and prove subject reduction and progress. The latter property is notoriously difficult to achieve in concurrent calculi.

BibTEX file for the publication built & maintained by Ashok Argent-Katwala.