Abstracting Process-to-Function Relations
in Concurrent Object-Oriented Applications ?
Cristina Videira Lopes ?? , Karl J. Lieberherr
College of Computer Science
Boston, MA 02115, USA
email: fcrista, firstname.lastname@example.org
Abstract. This paper presents a programming model for concurrent object-oriented applications by which concurrency issues are abstracted and separated from the code. The main goal of the model is to minimize dependency between application specific functionality and concurrency control. Doing so, software reuse can be effective and concurrent programs are more flexible, meaning that changes in the implementation of the operations don't necessarily imply changes in the synchronization scheme (and vice-versa). We make an analysis of concurrent computation, review existing systems and their inherent limitations, and discuss the fundamental problems in abstracting concurrency. Then we propose a solution based on lessons learned with adaptive software, introducing the concept of synchronization patterns. The result is a programming model by which data, operations and concurrency control are minimally interdependent.
Keywords: Concurrency, synchronization, object-orientation, reusability, adaptiveness.
This paper describes a new approach to concurrent object-oriented programming by which synchronization schemes are expressed by a mechanism external to the programming language itself. In fact, we separate the basic behavior of the applications from their concurrent issues, introducing a new level of abstraction in object-oriented programming. We call this new level the adaptive level. When programming adaptive applications, behavior is described independent of any concurrent activities, and concurrency control is described with minimal assumptions on the operations; then we generate a complete and correct objectoriented program from the adaptive constructs. Doing so, the basic semantics of
? This research was supported in part by the National Science Foundation grant CCR- 9102578 and CDA-9015692 (Research Instrumentation) and by Citibank. ?? Supported by the Portuguese Foundation for Research, Science and Technology (JNICT).