\begin{frame}
\frametitle{Example: ATM Transaction}
\begin{exampleblock}{Concurrent ATM Transaction}
\begin{tcenter}
\begin{tabular}{|l|l|c|}
\hline
\emph{Transaction 1} & \emph{Transaction 2} & \emph{DB state} \\
\hline
& & \\
\textcolor{dgreen}{$\fun{xlock}(\var{account})$} & & 1200 \\
$\fun{read}(\var{account})$ & & \\
& \textcolor{gray}{$\fun{xlock}(\var{account})$} & \\
$\fun{write}(\var{account})$ & \multirow{2}{*}{
\begin{tikzpicture}
\draw [red,very thick,->] (0,0) -- node [right,align=left] {Transaction\\[.5ex]blocked} (0,-.8cm);
\end{tikzpicture}} & 1100 \\
\textcolor{dgreen}{$\fun{unlock}(\var{account})$} & & \\
& \textcolor{dgreen}{$\fun{xlock}(\var{account})$} & \\
& $\fun{read}(\var{account})$ & \\
& $\fun{write}(\var{account})$ & 900 \\
& \textcolor{dgreen}{$\fun{unlock}(\var{account})$} & \\
\hline
\end{tabular}
\end{tcenter}
\end{exampleblock}
\begin{goal}{}
Transaction 2 blocked until transaction 1 releases the lock.
\end{goal}
Note: now both transactions are correctly executed!
\end{frame}