Design choices for language-based transactions

  • Tim Harris

UCAM-CL-TR-572 |

This report discusses two design choices which arose in our recent work on introducing a new `atomic’ keyword as an extension to the Java programming language. We discuss the extent to which programs using atomic blocks should be provided with an explicit `abort’ operation to roll-back the effects of the current block. We also discuss mechanisms for supporting blocks that perform I/O operations or external database transactions.