The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
OOPSLA/ECOOP '90 Proceedings of the workshop on Object-based concurrent programming
Eiffel: the language
Analysis of inheritance anomaly in object-oriented concurrent programming languages
Research directions in concurrent object-oriented programming
The reflexive CHAM and the join-calculus
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Monitors: an operating system structuring concept
Communications of the ACM
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Jeeg: a programming language for concurrent objects synchronization
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
Inheritance and Synchronization in Concurrent OOP
ECOOP '87 Proceedings of the European Conference on Object-Oriented Programming
Abstracting Process-to-Function Relations in Concurrency Object-Oriented Applications
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
Modern Concurrency Abstractions for C#
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Abstracting Object Interactions Using Composition Filters
ECOOP '93 Proceedings of the Workshop on Object-Based Distributed Programming
Aspect-Oriented Programming Workshop Report
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
Concurrent software engineering: preparing for paradigm shift
Proceedings of the 2008 C3S2E conference
Information hiding in the join calculus
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
A dynamic binding strategy for multiple inheritance and asynchronously communicating objects
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Hi-index | 0.00 |
The term inheritance anomaly was coined in 1993 by Matsuoka and Yonezawa [15] to refer to the problems arising by the coexistence of inheritance and concurrency in concurrent object oriented languages (COOLs). The quirks arising by such combination have been observed since the early eighties, when the first experimental COOLs were designed [3]. In the nineties COOLs turned from research topic to widely used tools in the everyday programming practice, see e.g. the Java [9] experience. This expository paper extends the survey presented in [15] to account for new and widely used COOLs, most notably Java and C# [19]. Specifically, we illustrate some innovative approaches to COOL design relying on the aspect oriented programming paradigm [13] that aim at better, more powerful abstraction for concurrent OOP, and provide means to fight the inheritance anomaly.