|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
|
| |
3
|
P. S. Almeida. Baloon Types: Controlling sharing of state in data types. In ECOOP Proceedings, June 1997.
|
| |
4
|
|
| |
5
|
C. Atkinson, S. Goldsack, A. D. Maio, and R. Bayan. Object oriented concurrency and distribution in DRAGOON. Journal of Object- Oriented Programming (JOOP), 4(1):11-19, 1991.
|
| |
6
|
|
 |
7
|
Bruno Blanchet, Escape analysis for object-oriented languages: application to Java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.20-34, November 01-05, 1999, Denver, Colorado, United States
|
 |
8
|
Jeff Bogda , Urs Hölzle, Removing unnecessary synchronization in Java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.35-46, November 01-05, 1999, Denver, Colorado, United States
|
 |
9
|
Jan Vitek , Boris Bokowski, Confined types, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.82-96, November 01-05, 1999, Denver, Colorado, United States
|
| |
10
|
|
| |
11
|
G. Booch. Software Components With Ada: Structures, Tools, and Subsystems. Benjamin/Cummings, 1990.
|
| |
12
|
|
 |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
Jong-Deok Choi , Manish Gupta , Mauricio Serrano , Vugranam C. Sreedhar , Sam Midkiff, Escape analysis for Java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.1-19, November 01-05, 1999, Denver, Colorado, United States
|
 |
17
|
David G. Clarke , John M. Potter , James Noble, Ownership types for flexible alias protection, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.48-64, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
18
|
D. L. Detlefs, K. R. M. Leino, G. Nelson, and J. B. Saxe. Extended static checking. Technical Report 159, COMPAQ Systems Research Center, Dec. 1998.
|
| |
19
|
|
| |
20
|
E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, 1994.
|
| |
21
|
|
| |
22
|
L. Gunaseelan and R. J. LeBlanc. Distributed Eiffel: a language for programming multi-granular distributed objects. In International Conference on Computer Languages Proceedings, 1992.
|
 |
23
|
|
| |
24
|
|
| |
25
|
D. Holmes. Synehronisation Rings: Composable Synehronisation for Object-Oriented Systems. PhD thesis, Macquarie Unviersity, Sydney, 1999.
|
| |
26
|
|
| |
27
|
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect oriented programming. In ECOOP Proceedings, 1997.
|
| |
28
|
|
| |
29
|
D. Lea. util.concurrent, a Java package. http://g.oswego, edu/, Apr. 1999.
|
 |
30
|
|
| |
31
|
C. V. Lopes. D: A Language Framework for Distributed Programming. PhD thesis, Northeastern University, 1997.
|
| |
32
|
|
| |
33
|
|
| |
34
|
|
| |
35
|
S. E. Mitchell. TAO -- A Model for the Integration of Concurrency and Synehronisation in Object Oriented Programming. PhD thesis, University of York, 1995.
|
| |
36
|
|
| |
37
|
|
| |
38
|
D. C. Schmidt. Strategized locking, thead-safe interface, and scoped locking: Patterns and idioms for simplifying multi-threaded C++ components. C++ Report, 11(9), Sept. 1999.
|
 |
39
|
J. Van Den Bos , C. Laffra, PROCOL: a parallel object language with protocols, Conference proceedings on Object-oriented programming systems, languages and applications, p.95-102, October 02-06, 1989, New Orleans, Louisiana, United States
|
| |
40
|
|
 |
41
|
Akinori Yonezawa , Jean-Pierre Briot , Etsuya Shibayama, Object-oriented concurrent programming ABCL/1, Conference proceedings on Object-oriented programming systems, languages and applications, p.258-268, September 29-October 02, 1986, Portland, Oregon, United States
|
|