Transactional Actors: Communication in Transactions

Research output: Chapter in Book/Report/Conference proceedingMeeting abstract (Book)

4 Citations (Scopus)


Developers often require different concurrency models to fit the various concurrency needs of the different parts of their applications. Many programming languages, such as Clojure, Scala, and Haskell, cater to this need by incorporating different concurrency models. It has been shown that, in practice, developers often combine these concurrency models. However, they are often combined in an ad hoc way and the semantics of the combination is not always well-defined. The starting hypothesis of this paper is that different concurrency models need to be carefully integrated such that the properties of each individual model are still maintained.

This paper proposes one such combination, namely the combination of the actor model and software transactional memory. In this paper we show that, while both individual models offer strong safety guarantees, these guarantees are no longer valid when they are combined. The main contribution of this paper is a novel hybrid concurrency model called transactional actors that combines both models while preserving their guarantees. This paper also presents an implementation in Clojure and an experimental evaluation of the performance of the transactional actor model.
Original languageEnglish
Title of host publicationSEPS 2017 - Proceedings of the 4th ACM SIGPLAN International Workshop on Software Engineering for Parallel Systems, co-located with SPLASH 2017
EditorsAli Jannesari, Tim Mattson, Pablo de Oliveira Castro, Yukinori Sato
Place of PublicationNew York, NY, USA
Number of pages11
ISBN (Electronic)9781450355179
ISBN (Print)978-1-4503-5517-9
Publication statusPublished - 23 Oct 2017
EventSoftware Engineering for Parallel Systems - Vancouver, BC, Canada
Duration: 23 Oct 201723 Oct 2017


WorkshopSoftware Engineering for Parallel Systems
Abbreviated titleSEPS
CityVancouver, BC
Internet address


  • Actors
  • Concurrency
  • Parallelism
  • Software Transactional Memory


Dive into the research topics of 'Transactional Actors: Communication in Transactions'. Together they form a unique fingerprint.

Cite this