AAU Student Projects - visit Aalborg University's student projects portal
A master thesis from Aalborg University

Unifying STM and Side Effects in Clojure

Author(s)

Term

4. term

Education

Publication year

2015

Submitted on

2015-06-08

Pages

126 pages

Abstract

In this project constructs were implemented into Clojure for handling side-effects in Software Transactional Memory (STM) transactions and for more explicit transaction control based on transactional data. Clojure's runtime and STM implementation were investigated and explored in a series of experiments that resulted in the implementation of an event handling system for side-effect handling and constructs for explicit data-based transactional control. The implemented constructs were evaluated through use cases. A part of the transactional control constructs were overlapping in terms of functionality with existing Clojure constructs. This part was usability evaluated using two metrics and a subjective discussion of implementations of the Santa Claus problem. The usability evaluation found a decrease both in terms of lines of code and development time. Furthermore the concurrency model of Clojure were found to be more explicit and expressive with the added constructs. The project concludes that the added constructs eases the development of concurrent programs but a larger usability evaluation and a performance evaluation should be done to validate the result.

Keywords

Documents


Colophon: This page is part of the AAU Student Projects portal, which is run by Aalborg University. Here, you can find and download publicly available bachelor's theses and master's projects from across the university dating from 2008 onwards. Student projects from before 2008 are available in printed form at Aalborg University Library.

If you have any questions about AAU Student Projects or the research registration, dissemination and analysis at Aalborg University, please feel free to contact the VBN team. You can also find more information in the AAU Student Projects FAQs.