Communicating sequential processes
Communicating sequential processes
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Object-oriented concurrent programming ABCL/1
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Pool-T: a parallel object-oriented language
Object-oriented concurrent programming
PROCOL: a parallel object language with protocols
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Eiffel: the language
A calculus of mobile processes, I
Information and Computation
Concurrency annotations for reusable software
Communications of the ACM
Analysis of inheritance anomaly in object-oriented concurrent programming languages
Research directions in concurrent object-oriented programming
Regular types for active objects
Object-oriented software composition
UML distilled: applying the standard object modeling language
UML distilled: applying the standard object modeling language
Ownership types for flexible alias protection
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Concurrency and distribution in object-oriented programming
ACM Computing Surveys (CSUR)
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Removing unnecessary synchronization in Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Monitors: an operating system structuring concept
Communications of the ACM
Software Component with ADA
Operating system principles
The Java Language Specification
The Java Language Specification
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ICC++-AC++ Dialect for High Performance Parallel Computing
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
An introduction to event structures
Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop
TOOLS '97 Proceedings of the Technology of Object-Oriented Languages and Systems - Tools-25
Concurrent Programming in Java(TM): Design Principles and Patterns (3rd Edition) (Java (Addison-Wesley))
Simula Begin
Assuring and evolving concurrent programs: annotations and policy
Proceedings of the 24th International Conference on Software Engineering
Flexible exclusion control for composite objects
ACSC '05 Proceedings of the Twenty-eighth Australasian conference on Computer Science - Volume 38
Exclusion requirements and potential concurrency for composite objects
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
Observations on the assured evolution of concurrent Java programs
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
Methodology evaluation framework for dynamic evolution in composition-based distributed applications
Journal of Systems and Software
Hi-index | 0.00 |
Designing concurrent object-oriented programs is hard. Correct programs must coordinate multiple threads accessing composite objects, using low-level mechanisms such as locks and read-write sets. Efficient programs must balance the complexity and overhead of the coordination mechanisms against the increased performance possible through concurrency. A method-level algebra of exclusion provides a succinct description of the conditions under which a thread must be excluded from a component of a composite object. Using the algebra, programmers can check whether their programs meet their exclusion requirements, can eliminate redundant exclusion controls, and can remove synchronisation overhead by reducing concurrency.