How can we ensure reliability in complex application logic? This paper addresses the critical challenges of maintaining atomicity and isolation in transactional processes, which are increasingly used to express intricate application workflows. The research acknowledges the significant advantages of using processes in programming but emphasizes the difficulties in controlling interactions between them using conventional techniques. Focusing on recovery and concurrency control, the paper distinguishes process steps from operations within a transaction, highlighting their unique termination semantics and dependencies. To address these challenges, the authors propose a unified model for concurrency control and recovery, specifically tailored for processes. This model accommodates partial rollbacks and alternative execution paths, offering enhanced flexibility and robustness. By providing a comprehensive framework for developing middleware applications using processes, this work significantly contributes to the field. It offers practical solutions for maintaining data integrity and system reliability in complex, process-oriented applications. The proposed model bridges the gap between traditional transaction management and the evolving demands of modern application architectures.
Published in ACM Transactions on Database Systems, this article is highly relevant to the journal's focus on database system design and implementation. By addressing atomicity and isolation in transactional processes, the paper tackles a fundamental challenge in database management. It contributes to the journal's mission of advancing database technology.