Title
Amalgamating sessions and methods in object-oriented languages with generics
Abstract
We suggest an amalgamation of communication-based programming (centered 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 of how to continue a session is based on the class of the object sent/received. Sessions can be delegated to other sessions, although sessions themselves are not first class objects. We demonstrate our ideas through a core language with generic types, SAM^g, and an example. We then formalize a small calculus, FSAM^g, and prove subject reduction and progress. The latter property is notoriously difficult to achieve in concurrent calculi.
Year
DOI
Venue
2009
10.1016/j.tcs.2008.09.016
Theor. Comput. Sci.
Keywords
DocType
Volume
core language,object-oriented programming,object-oriented language,Subject reduction,concurrent calculus,Amalgamating session,Progress,concurrent thread,Foundations of object-oriented programming,generic type,class object,communication-based programming,Session types,session body,latter property,session request
Journal
410
Issue
ISSN
Citations 
2-3
Theoretical Computer Science
11
PageRank 
References 
Authors
0.56
24
5
Name
Order
Citations
PageRank
Sara Capecchi114412.52
Mario Coppo21054148.97
Mariangiola Dezani-Ciancaglini31615193.57
Sophia Drossopoulou4101690.55
Elena Giachino523215.54