Date Added: Jul 2009
Dynamic separation is a new programming discipline for systems with transactional memory. The authors study it formally in the setting of a small calculus with transactions. They provide a precise formulation of dynamic separation and compare it with other programming disciplines. Furthermore, exploiting dynamic separation, they investigate some possible implementations of the calculus and they establish their correctness. Several designs and systems based on transactions aim to facilitate the writing of concurrent programs. In particular, Software Transactional Memory (STM) appears as an intriguing alternative to locks and the related machinery for shared-memory concurrency.