Atomicity and Isolation for Transactional Processes
Heiko Schuldt, Gustavo Alonso, Catriel Beeri, Hans-Jörg Schek
ACM Transactions on Database Systems (TODS)
Processes are increasingly being used to make complex application logic explicit. Programming using processes has significant advantages but it poses a difficult problem from the system point of view in that the interactions between processes cannot be controlled using conventional techniques. In terms of recovery, the steps of a process are different from operations within a transaction. Each one has its own termination semantics and there are dependencies among the different steps. Regarding concurrency control, the flow of control of a process is more complex than in a flat transaction. A process may, e.g., partially rollback its execution or may follow one of several alternatives. In this paper, we deal with the problem of atomicity and isolation in the context of processes. We propose a unified model for concurrency control and recovery for processes and show how this model can be implemented in practice, thereby providing a complete framework for developing middleware applications using processes.