
\documentclass[a4paper]{article}

\setlength\textwidth{6.5in}
\setlength\oddsidemargin{0in}
\setlength\evensidemargin{0in}

%\setlength\headheight{0in}
%\setlength\headsep{0in}

%\setlength\topmargin{-0.5in}
%\addtolength{\textheight}{0.5in}


\newcommand{\SIG}[1]{\ensuremath{\mathit{#1}}}
\newcommand{\Idiom}[1]{\textsl{#1}}
\newcommand{\IF}[0]{\textbf{if}}
\newcommand{\FI}[0]{\textbf{fi}}
\newcommand{\SKIP}[0]{\textbf{skip}}
\newcommand{\DO}[0]{\textbf{do}}
\newcommand{\OD}[0]{\textbf{od}}

\usepackage{latexsym}
\usepackage[spanish]{babel}

\title{Programaci\'on Concurrente \\ Parcial 2}
\author{J. Blanco, N. Wolovick}


\begin{document}
\maketitle

\begin{enumerate}

	%WF99-10, practico 4
	\item{Muestre la exclusi\'on mutua entre $cs.A$ y $cs.B$ en el siguiente multiprograma donde s\'olo suponemos \'atomica la evaluaci\'on de las guardas y las asignaciones, por lo que el $\DO\ldots \OD$ puede ser interrumpido luego de haber evaluado la guarda.
		\newline
		\begin{center}
		\begin{tabular}{|l|l|}
			\hline
			\multicolumn{2}{|l|}{Pre: $\neg x \wedge \neg y$} \\
			\hline
			\begin{minipage}[t]{1in}
			\begin{tabbing}
				A: $*$ \= $[\ $\=$\DO\ \neg x \rightarrow x:=\neg y\ \OD$ \\
				\> $;$ \> $\ cs.A$ \\
				\> $;$ \> $x:=false$ \\
				\> $]$
			\end{tabbing}
			\end{minipage}
			&
			\begin{minipage}[t]{1in}
			\begin{tabbing}
				B: $*$ \= $[\ $\=$\DO\ \neg y \rightarrow y:=\neg x\ \OD$ \\
				\> $;$ \> $\ cs.B$ \\
				\> $;$ \> $y:=false$ \\
				\> $]$
			\end{tabbing}
			\end{minipage}
			\\
			\hline
		\end{tabular}
		\end{center}
	}


	\item{\textbf{\textsl{El oso y las abejas}}\\
		Hay $n$ abejas y un oso hambriento.
		Ambos comparten una vasija de miel.
		La vasija est\'a inicialmente vac\'ia pero entran $H$ porciones de miel.
		El oso duerme hasta que la vasija se llena, entonces se despierta y se come toda la miel.
		Las abejas juntan una porci\'on de miel y la depositan en la vasija sin desbordarla.

		\begin{itemize}
			\item{Defina el estado compartido del sistema.}
			\item{Defina las operaciones at\'omicas sobre el estado.}
			\item{Defina el invariante que debe cumplir el estado compartido.}
			\item{Calcule las precondiciones necesarias para que las operaciones mantengan el invariante.}
			\item{Aplique la t\'ecnica del \Idiom{Split Binary Semaphore}.}
			\item{Intente simplificar la soluci\'on insertando aserciones que deber\'a demostrar v\'alidas.}
		\end{itemize}
	}

\end{enumerate}

\end{document}
