Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/353171.353173acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free access

Exclusion for composite objects

Published: 01 October 2000 Publication History

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

[1]
G. A. Agha. Actors: a Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, 1986.]]
[2]
J. Aldrich, C. Chambers, E. Gun Sirer, and S. Eggers. Static analyses for eliminating unnecessary synchronization from Java programs. In Sixth International Static Analysis Symposium. Springer-Verlag, Sept. 1999.]]
[3]
P. S. Almeida. Baloon Types: Controlling sharing of state in data types. In ECOOP Proceedings, June 1997.]]
[4]
P. America. POOL-T: A parallel object-oriented language. In A. Yonezawa and M. Tokoro, editors, Object-Oriented Concurrent Programming, pages 199-220. MIT Press, Cambridge (MA), USA, 1986.]]
[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]
G. M. Birtwistle, O. J. Dahl, B. Myhrhang, and K. Nygaard. Simula Begin. Studentlitteratur, 1979.]]
[7]
B. Blanchet. Escape analysis for object-oriented languages, application to Java. In OOPSLA Proceedings, pages 20-34. ACM, 1999.]]
[8]
J. Bogda and U. HSlzle. Removing unnecessary synchronization in Java. In OOPSLA Proceedings, pages 35-46. ACM, 1999.]]
[9]
B. Bokowski and J. Vitek. Confined types. In OOPSLA Proceedings, 1999.]]
[10]
G. Booch. Software Components with Ada. Benjamin/Cummings, 1987.]]
[11]
G. Booch. Software Components With Ada: Structures, Tools, and Subsystems. Benjamin/Cummings, 1990.]]
[12]
P. Brinch Hansen. Operating Systems Principles. Prentice-Hall, 1973.]]
[13]
J.-P. Briot, R. Guerraoui, and K.-P. Lohr. Concurrency and Distribution in Object-Oriented Programming. ACM Computing Surveys, 30(3):291-329, 1998.]]
[14]
R. H. Campbell and A. N. Habermann. The Specification of Process Synchronization by Path Expressions. In Proc. Int. Syrup. on Operating Systems, volume 16 of Lecture Notes in Computer Science, pages 89-102. Springer-Verlag, Berlin, 1974.]]
[15]
A. A. Chien, U. S. Reddy, J. Plevyak, and J. Dolby. ICC++ -- a C++ dialect for high performance parallel computing. In ISOTAS Proceedings, 1996.]]
[16]
J.-D. Choi, M. Gupta, M. Serrano, V. C. Sreedhar, and S. Midkiff. Escape analysis for Java. In OOPSLA Proceedings, pages 1-19. ACM, 1999.]]
[17]
D. Clarke, J. Potter, and J. Noble. Ownership types for flexible alias protection. In OOPSLA Proceedings, 1998.]]
[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]
M. Fowler and K. Scott. UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, 1997.]]
[20]
E. Gamma, R. Helm, R. E. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, 1994.]]
[21]
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996.]]
[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]
C. A. R. Hoare. Monitors: an operating system structuring concept. Communications of the ACM, 17(10):549-557, Oct. 1974.]]
[24]
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.]]
[25]
D. Holmes. Synehronisation Rings: Composable Synehronisation for Object-Oriented Systems. PhD thesis, Macquarie Unviersity, Sydney, 1999.]]
[26]
D. Holmes, J. Noble, and J. Potter. Aspects of synchronisation. In TOOLS Pacific 25, pages 2-14, 1997.]]
[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]
D. Lea. Concurrent Programming in Java. Addison-Wesley, 1997.]]
[29]
D. Lea. util.concurrent, a Java package. http://g.oswego, edu/, Apr. 1999.]]
[30]
K.-P. Lohr. Concurrency annotations for reusable software. Communications of the ACM, 36(9):81-89, Sept. 1993.]]
[31]
C. V. Lopes. D: A Language Framework for Distributed Programming. PhD thesis, Northeastern University, 1997.]]
[32]
S. Matsuoka and A. Yonezawa. Analysis of inheritance anomaly in object-oriented concurrent programming languages. In P. Wegner, G. Agha, and A. Yonezawa, editors, Research Directions in Concurrent Object-Oriented Programming, pages 107-150. MIT Press, 1993.]]
[33]
B. Meyer. Eiffel: The Language. Prentice Hall, 1992.]]
[34]
R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. InforTnation and Communication, 100:1-77, 1992.]]
[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]
O. Nierstrasz. Regular types for active objects. In O. Nierstrasz and D. Tsichritzis, editors, Object Oriented Software Composition, chapter 4, pages 99-121. Prentice-Hall, 1995.]]
[37]
J. Noble, J. Vitek, and J. Potter. Flexible alias protection. In ECOOP Proceedings, 1998.]]
[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 and C. Laffra. PROCOL: a parallel object language with protocols. In OOPSLA Proceedings, pages 95-105, 1989.]]
[40]
G. Winskel. An introduction to event structures. In Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, volume 354 of Lecture Notes in Computer Science. Springer-Verlag, 1989.]]
[41]
A. Yonezawa, J.-P. Briot, and E. Shibayama. Object-oriented concurrent programming in ABCL/1. In N. Meyrowitz, editor, OOPSLA Proceedings, pages 258-268, 1986.]]

Cited By

View all
  • (2009)Methodology evaluation framework for dynamic evolution in composition-based distributed applicationsJournal of Systems and Software10.1016/j.jss.2009.06.03282:12(1950-1965)Online publication date: 1-Dec-2009
  • (2005)Flexible exclusion control for composite objectsProceedings of the Twenty-eighth Australasian conference on Computer Science - Volume 3810.5555/1082161.1082192(277-286)Online publication date: 1-Jan-2005
  • (2005)Safe and Reliable Use of Concurrency in Multi-Threaded Shared-Memory SystemsProceedings of the 29th Annual IEEE/NASA on Software Engineering Workshop10.1109/SEW.2005.39(201-210)Online publication date: 6-Apr-2005
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '00: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 2000
402 pages
ISBN:158113200X
DOI:10.1145/353171
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 2000

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

OOPSLA00
Sponsor:

Acceptance Rates

Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)60
  • Downloads (Last 6 weeks)9
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2009)Methodology evaluation framework for dynamic evolution in composition-based distributed applicationsJournal of Systems and Software10.1016/j.jss.2009.06.03282:12(1950-1965)Online publication date: 1-Dec-2009
  • (2005)Flexible exclusion control for composite objectsProceedings of the Twenty-eighth Australasian conference on Computer Science - Volume 3810.5555/1082161.1082192(277-286)Online publication date: 1-Jan-2005
  • (2005)Safe and Reliable Use of Concurrency in Multi-Threaded Shared-Memory SystemsProceedings of the 29th Annual IEEE/NASA on Software Engineering Workshop10.1109/SEW.2005.39(201-210)Online publication date: 6-Apr-2005
  • (2005)Exclusion requirements and potential concurrency for composite objectsScience of Computer Programming10.1016/j.scico.2005.03.00458:3(344-365)Online publication date: 1-Dec-2005
  • (2005)Observations on the assured evolution of concurrent Java programsScience of Computer Programming10.1016/j.scico.2005.03.00258:3(384-411)Online publication date: 1-Dec-2005
  • (2005) J AC : declarative Java concurrency Concurrency and Computation: Practice and Experience10.1002/cpe.95618:5(519-546)Online publication date: 20-Oct-2005
  • (2003)Design notation for dynamic evolution in component based distributed systemsSeventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings.10.1109/EDOC.2003.1233859(302-307)Online publication date: 2003
  • (2002)Assuring and evolving concurrent programsProceedings of the 24th International Conference on Software Engineering10.1145/581339.581395(453-463)Online publication date: 19-May-2002

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media