Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us
Search
Cart
Book cover

International Conference on Coordination Languages and Models

COORDINATION 2012: Coordination Models and Languages pp 44–58Cite as

  1. Home
  2. Coordination Models and Languages
  3. Conference paper
Subobject Transactional Memory

Subobject Transactional Memory

  • Marko van Dooren17 &
  • Dave Clarke17 
  • Conference paper
  • 555 Accesses

  • 1 Citations

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 7274)

Abstract

Concurrent object-oriented programs are hard to write because of the frequent use of state in objects. In a concurrent program, this state must be protected against race-conditions and deadlocks, which costs a lot of effort and is error-prone. Software transactional memory is a mechanism for concurrency control that is similar to mechanisms used in databases. The programmer does not deal with low-level locks, but instead uses transaction demarcation to protect shared memory.

We show that in a statically typed subobject-oriented programming language, a transactional program requires less effort than writing a regular object-oriented programming. In addition, we show how transactionality can be added to existing classes without performing code transformations or using a meta-object protocol.

Keywords

  • Transaction Manager
  • Java Implementation
  • Language Implementation
  • Software Transactional Memory
  • Class Elevator

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Download conference paper PDF

References

  1. Bergel, A., Ducasse, S., Nierstrasz, O.: Classbox/j: controlling the scope of change in Java. In: OOPSLA, pp. 177–189 (2005)

    Google Scholar 

  2. Berger, E.D., Yang, T., Liu, T., Novark, G.: Grace: safe multithreaded programming for C/C++. In: OOPSLA, pp. 81–96 (2009)

    Google Scholar 

  3. Bernstein, P.A., Goodman, N.: Concurrency control in distributed database systems. ACM Comput. Surv. 13(2), 185–221 (1981)

    CrossRef  MathSciNet  Google Scholar 

  4. Burckhardt, S., Baldassin, A., Leijen, D.: Concurrent programming with revisions and isolation types. In: OOPSLA, pp. 691–707 (2010)

    Google Scholar 

  5. Burckhardt, S., Leijen, D., Sadowski, C., Yi, J., Ball, T.: Two for the price of one: a model for parallel and incremental computation. In: OOPSLA, pp. 427–444 (2011)

    Google Scholar 

  6. Cachopo, J.A., Rito-Silva, A.: Versioned boxes as the basis for memory transactions. Sci. Comput. Program. 63, 172–185 (2006)

    CrossRef  MathSciNet  MATH  Google Scholar 

  7. Costanza, P., Herzeel, C., D’Hondt, T.: Context-oriented software transactional memory in common lisp. In: DLS, pp. 59–68 (2009)

    Google Scholar 

  8. Ernst, E.: Higher-Order Hierarchies. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 303–328. Springer, Heidelberg (2003)

    CrossRef  Google Scholar 

  9. Gottschlich, J.E., Connors, D.A.: DracoSTM: A practical C++ approach to software transactional memroy. In: Proceedings of the 2007 ACM SIGPLAN Symposium on Library-Centric Software Design (LCSD). In conjunction with OOPSLA (October 2007)

    Google Scholar 

  10. Herlihy, M., Luchangco, V., Moir, M.: A flexible framework for implementing software transactional memory. In: OOPSLA, pp. 253–262 (2006)

    Google Scholar 

  11. Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: PODC, pp. 92–101 (2003)

    Google Scholar 

  12. Kulkarni, A., Liu, Y.D., Smith, S.F.: Task types for pervasive atomicity. In: OOPSLA, pp. 671–690 (2010)

    Google Scholar 

  13. Lublinerman, R., Zhao, J., Budimlić, Z., Chaudhuri, S., Sarkar, V.: Delegated isolation. In: OOPSLA, pp. 885–902 (2011)

    Google Scholar 

  14. Reed, D.P.: Naming and Synchronization in a Decentralized Computer System. PhD thesis, Cambridge, MA, USA (1978)

    Google Scholar 

  15. Renggli, L., Nierstrasz, O.: Transactional memory in a dynamic language. Comput. Lang. Syst. Struct. 35, 21–30 (2009)

    Google Scholar 

  16. Saha, B., Adl-Tabatabai, A.-R., Hudson, R.L., Minh, C.C., Hertzberg, B.: McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: PPoPP, pp. 187–197 (2006)

    Google Scholar 

  17. Shavit, N., Touitou, D.: Software transactional memory. Distributed Computing 10, 99–116 (1997)

    CrossRef  Google Scholar 

  18. van Dooren, M., Jacobs, B.: Implementations of subobject-oriented programming (2012), http://people.cs.kuleuven.be/marko.vandooren/subobjects.html

  19. van Dooren, M., Steegmans, E.: A Higher Abstraction Level Using First-Class Inheritance Relations. In: Bateni, M. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 425–449. Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

  20. Yamada, Y., Iwasaki, H., Ugawa, T.: SAW: Java synchronization selection from lock or software transactional memory. In: 2011 IEEE 17th International Conference on Parallel and Distributed Systems (ICPADS), pp. 104–111. IEEE (2011)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. IBBT-DistriNet, KU Leuven, Leuven, Belgium

    Marko van Dooren & Dave Clarke

Authors
  1. Marko van Dooren
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Dave Clarke
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Editors and Affiliations

  1. School of Computer Science, Reykjavik University, Menntavegur 1, 101, Reykjavik, Iceland

    Marjan Sirjani

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 IFIP International Federation for Information Processing

About this paper

Cite this paper

van Dooren, M., Clarke, D. (2012). Subobject Transactional Memory. In: Sirjani, M. (eds) Coordination Models and Languages. COORDINATION 2012. Lecture Notes in Computer Science, vol 7274. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30829-1_4

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-30829-1_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30828-4

  • Online ISBN: 978-3-642-30829-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Search

Navigation

  • Find a journal
  • Publish with us

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature