Model specification
May 13, 2011 Leave a comment
Copyright © 2011 Gabriel Zs. K. Horvath
This is my first attempt at giving a more formal definition of my software transactions model. Undoubtedly, a post which will be frequently updated.
Consider a system composed of the following:
- A single transaction manager holding a unique global version number
- Transactions
- Threads
- Semi-mutable versioned variables managed by the transaction manager
- Non-versioned transaction-local immutable variables
- External resources, these can be either read from or written to
- A garbage collector
The program consists in the execution of transactions in one or more concurrent threads.

