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.