We suggest an amalgamation of communication-based programming (centered on sessions) and object-orientedprogramming, whereby sessions between concurrent threads are amalgamated with methods. In our proposal, threads ...
详细信息
We suggest an amalgamation of communication-based programming (centered on sessions) and object-orientedprogramming, 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(9), and an example. We then formalize a small calculus, FSAM(9), and prove subject reduction and progress. The latter property is notoriously difficult to achieve in concurrent calculi. (C) 2008 Elsevier B.V. All rights reserved.
暂无评论