Title

Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications

Overview

My project for this course is about how to separate the concurrency issues from other behaviors. By doing so OOCP applications can reduce the conflict between OO and concurrency. I choose the paper entitled Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications by Lopes and Lieberherr as my study paper. First, this paper gives some brief overview about OOP and concurrency. Then from the Process-to-Function's point of view, it presents an idea of modeling concurrent object-oriented applications into three blocks: structural blocks, behavioral blocks and concurrency blocks. At last, it describes a simple example of mapping the patterns into some particular OOP, namely C++ in this paper.

Papers

C.V Lopes and K.J. Lieberherr. Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications. In Proceedings of the European Conference on Object-Oriented Programming, volume 821 of Lecture Notes in Computer Science, Bologna, June 1994. Springer-Verlag.

Additional reading material

Implementation details

As for the implementation part of this project, I plan to develop a code generator. Basing on the idea of this paper, the final pattern, especially the concurrency blocks, should be able to be converted into some kind of OOP code. So first of all, I am going to define some code generation algorithm for the operation referenced in a synchronization pattern. Then my little product will take the whole model of the concurrent application as input and change it into the Java code as the output.