Hostname: page-component-89b8bd64d-shngb Total loading time: 0 Render date: 2026-05-13T13:37:33.437Z Has data issue: false hasContentIssue false

Transactional events1

Published online by Cambridge University Press:  30 October 2008

KEVIN DONNELLY
Affiliation:
Boston University, Boston, MA 02215, US (e-mail: kevind@cs.bu.edu)
MATTHEW FLUET
Affiliation:
Toyota Technological Institute at Chicago, Chicago, IL 60637, US (e-mail: fluet@tti-c.org)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Concurrent programs require high-level abstractions in order to manage complexity and enable compositional reasoning. In this paper, we introduce a novel concurrency abstraction, dubbed transactional events, which combines first-class synchronous message passing events with all-or-nothing transactions. This combination enables simple solutions to interesting problems in concurrent programming. For example, guarded synchronous receive can be implemented as an abstract transactional event, whereas in other languages it requires a non-abstract, non-modular protocol. As another example, three-way rendezvous can be implemented as an abstract transactional event, which is impossible using first-class events alone. Both solutions are easy to code and easy to reason about.

The expressive power of transactional events arises from a sequencing combinator whose semantics enforces an all-or-nothing transactional property – either both of the constituent events synchronize in sequence or neither of them synchronizes. This sequencing combinator, along with a non-deterministic choice combinator, gives transactional events the compositional structure of a monad-with-plus. We provide a formal semantics for transactional events and give a detailed account of an implementation.

Information

Type
Articles
Copyright
Copyright © Cambridge University Press 2008
Supplementary material: File

Donnelly supplementary material

Donnelly supplementary material

Download Donnelly supplementary material(File)
File 121.6 KB
Supplementary material: PDF

Donnelly Supplementary Material

Appendix.pdf

Download Donnelly Supplementary Material(PDF)
PDF 189.3 KB
Submit a response

Discussions

No Discussions have been published for this article.