Transactional Memory in a Dynamic Language

Renggli, Lukas; Nierstrasz, Oscar (2009). Transactional Memory in a Dynamic Language. Computer languages, systems & structures, 35(1), pp. 21-30. New York, N.Y.: Elsevier 10.1016/

[img] Text
1-s2.0-S1477842408000237-main.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (715kB) | Request a copy

Concurrency control is mostly based on locks and is therefore notoriously difficult to use. Even though some programming languages provide high-level constructs, these add complexity and potentially hard-to-detect bugs to the application. Transactional memory is an attractive mechanism that does not have the drawbacks of locks, however the underlying implementation is often difficult to integrate into an existing language. In this paper we show how we have introduced transactional semantics into Smalltalk by using the reflective facilities of the language. Our approach is based on method annotations, incremental parse tree transformations and an optimistic commit protocol. The implementation does not depend on modifications to the virtual machine and therefore can be changed at the language level. We report on a practical case study, benchmarks and further and on-going work.

Item Type:

Journal Article (Original Article)


08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Renggli, Lukas and Nierstrasz, Oscar Marius








Factscience Import

Date Deposited:

04 Oct 2013 15:22

Last Modified:

13 Sep 2017 08:21

Publisher DOI:




URI: (FactScience: 207113)

Actions (login required)

Edit item Edit item
Provide Feedback