OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Concurrent C++: concurrent programming with class(es)
Software—Practice & Experience
A general model for concurrent and distributed object-oriented programming
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
A synchronization mechanism for typed objects in a distributed system
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
Inheritance and synchronization with enabled-sets
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The annotated C++ reference manual
The annotated C++ reference manual
Concurrent object-oriented programming
Communications of the ACM
Concurrent programming: principles and practice
Concurrent programming: principles and practice
OSF DCE application development reference, revision 1.0
OSF DCE application development reference, revision 1.0
CHARM++: a portable concurrent object oriented system based on C++
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Analysis of inheritance anomaly in object-oriented concurrent programming languages
Research directions in concurrent object-oriented programming
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
Obtaining sequential efficiency for concurrent object-oriented languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-Oriented Software Construction
Object-Oriented Software Construction
Advanced Computer Architecture: Parallelism,Scalability,Programmability
Advanced Computer Architecture: Parallelism,Scalability,Programmability
Task Parallelism in a High Performance Fortran Framework
IEEE Parallel & Distributed Technology: Systems & Technology
Task Parallelism and High-Performance Languages
IEEE Parallel & Distributed Technology: Systems & Technology
Shared-Memory Parallel Programming in C++
IEEE Software
Parallelism in Object-Oriented Languages: A Survey
IEEE Software
Techniques for Efficient Execution of Fine-Grained Concurrent Programs
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
C**: A Large-Grain, Object-Oriented, Data-Parallel Programming Language
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
Compositional C++: Compositional Parallel Programming
Proceedings of the 5th International Workshop on Languages and Compilers for Parallel Computing
Inheritance and Subtyping in a Parallel Object-Oriented Language
ECOOP '87 Proceedings of the European Conference on Object-Oriented Programming
Solving the Inheritance Anomaly in Concurrent Object-Oriented Programming
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
A Concurrency Control Mechanism for C++ Objects
ECOOP '91 Proceedings of the Workshop on Object-Based Concurrent Computing
Easy-to-use Object-Oriented Parallel Processing with Mentat
Easy-to-use Object-Oriented Parallel Processing with Mentat
Hi-index | 0.00 |
In a concurrent object-oriented programming language one would like to be able to inherit behavior and realize synchronization control without compromising the flexibility of either the inheritance mechanism or the synchronization mechanism. A problem called the inheritance anomaly arises when synchronization constraints are implemented within the methods of a class and an attempt is made to specialize methods through inheritance. The anomaly occurs when a subclass violates the synchronization constraints assumed by the superclass. A subclass should have the flexibility to add methods, add instance variables, and redefine inherited methods. Ideally, all the methods of a superclass should be reusable. However, if the synchronization constraints are defined by the superclass in a manner prohibiting incremental modification through inheritance, they cannot be reused, and must be reimplemented to reflect the new constraints; hence, inheritance is rendered useless. We have proposed a novel model of concurrency abstraction, where (a) the specification of the synchronization code is kept separate from the method bodies, and (b) the sequential and concurrent parts in the method bodies of a superclass are inherited by its subclasses in an orthogonal manner.