Concurrent object-oriented programming languages
Object-oriented concepts, databases, and applications
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
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
Inheritance and synchronization with enabled-sets
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
COOL: a language for parallel programming
Selected papers of the second workshop on Languages and compilers for parallel computing
Concurrent programming: principles and practice
Concurrent programming: principles and practice
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Toward a method of object-oriented concurrent programming
Communications of the ACM
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
ACM Transactions on Programming Languages and Systems (TOPLAS)
Beyond definition/use: architectural interconnection
IDL '94 Proceedings of the workshop on Interface definition languages
Abstractions for Software Architecture and Tools to Support Them
IEEE Transactions on Software Engineering - Special issue on software architecture
Using MPI: portable parallel programming with the message-passing interface
Using MPI: portable parallel programming with the message-passing interface
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
A compositional approach to concurrent programming
A compositional approach to concurrent programming
The Nexus approach to integrating multithreading and communication
Journal of Parallel and Distributed Computing - Special issue on multithreading for multiprocessors
Models and languages for parallel computation
ACM Computing Surveys (CSUR)
Concepts and Notations for Concurrent Programming
ACM Computing Surveys (CSUR)
Communicating sequential processes
Communications of the ACM
Capsules: A Shared Memory Access Mechanism for Concurrent C/C++
IEEE Transactions on Parallel and Distributed Systems
Support for Extensibility and Reusability in a Concurrent Object-Oriented Programming Language
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
A Language Framework for Multi-Object Coordination
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Extensibility and Reuse of Object-Oriented Synchronization Components
PARLE '92 Proceedings of the 4th International PARLE Conference on Parallel Architectures and Languages Europe
ECOOP '91 Proceedings of the Workshop on Object-Based Concurrent Computing
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
Definition of Reusable Concurrent Software Components
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Evaluating synchronization mechanisms
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Compositional C++: Compositional Parallel Programming
Compositional C++: Compositional Parallel Programming
Hi-index | 0.00 |
Concurrent programs that embed specifications of synchronizations in the body of their component are difficult to extend and modify. Small changes in a concurrent program, particularly changes in the interactions among components, may require re-implementation of a large number of components. Even specifications of components cannot be reused easily. This paper presents a concurrent program composition mechanism in which both specification and implementation of computations and interactions are completely separated. Separation of specifications and implementations facilitates extensions and modifications of programs by allowing one to separately change the implementations of computations and interactions. It also supports their reusability. The paper also describes the design and implementation of a concurrent object-oriented programming language based on this model, including a compiler for the language, and reports on the execution behavior of programs written in the language.