A Transaction Processing Monitor
Future Plans

We are merging our existing event model with the nested transaction model such as in reference 1. In the nested transaction model, a transaction can invoke a subtransaction which can invoke its own subtransactions, resulting in a tree of parent/child relationships. Each subtransaction tells the system if it desires to commit or abort, but for a subtransaction to truly commit, all of its ancestors must also decide to commit.

In our current model, a subevent can be called as part of processing an event. However, as far as the system is concerned, the child commits or aborts independently of the parent. Transactions can only be composed if they can be run in a parallel fashion, The advantage to be gained by merging with the nested transaction model is an increase in the ways transactions can be composed within code to form new transactions.

This new system will rely heavily on the availability of UNIX System V shared memory in order to reduce the cost of IPC and synchronization.