Open Transactions on Shared Memory
Marino Miculan, Marco Peressotti, Andrea Toneguzzo · 2016
Abstract. Transactional memory has arisen as a good way for solving many of the issues of lock-based programming. However, most implemen-tations admit isolated transactions only, which are not adequate when we have to coordinate communicating processes. To this end, in this paper we present OCTM, an Haskell-like language with open transactions over shared transactional memory: processes can join transactions at runtime just by accessing to shared variables. Thus a transaction can co-operate with the environment through shared variables, but if it is rolled-back, also all its effects on the environment are retracted. For proving the expressive power of OCTM we give an implementation of TCCSm, a CCS-like calculus with open transactions. 1