More about HKUST
Ensuring Consistency in Long-Running Transactions
Speaker: Jeff Fischer Department of Computer Science UCLA Title: "Ensuring Consistency in Long-Running Transactions" Date: Monday, 7 January 2008 Time: 2pm-3pm Venue: Room 3501 (via lift nos. 25/26) HKUST Abstract: Flow composition languages permit the construction of long-running transactions from collections of independent atomic services. Due to environmental limitations, such transactions usually cannot be made to conform to standard ACID semantics. We propose set consistency, a powerful, yet intuitive, notion of consistency for long-running transactions. Set consistency considers the collection of permanent (non-intermittent) changes made by a process, when viewed at the end of its execution. Consistency requirements for such collections of changes are specified as predicates over the atomic actions of a process. Set consistency generalizes self-cancellation, a standard consistency requirement for long-running transactions, where failed processes are responsible for undoing any partially completed work. Set consistency can also express strictly stronger requirements, such as mutual exclusion or dependency. In this talk, I will describe the ideas behind set consistency, our theoretical results on set consistency verification, the implementation of our verifier tool, and in-progress work. This was joint work with my advisor, Prof. Rupak Majumdar. I will also briefly summarize my overall approach to robust service composition. ******************* Biography: Jeffrey Fischer is currently a PhD candidate in the department of Computer Science at UCLA, working on software reliability issues in enterprise software. Before returning to school to complete his PhD, he worked in the enterprise software industry for ten years, including five years at Siebel, where he managed their Application Integration/Web Services infrastructure team, and at Oracle as a developer on the Oracle Distributed Lock Manager. He has numerous publications in the leading conferences for the areas of software engineering and programming languages.