\documentclass[10pt,a4paper]{report}
\usepackage[top=3cm, bottom=2.5cm, left=3cm, right=2.5cm] {geometry}
\usepackage {bsymb,b2latex}
\usepackage{fancyhdr,lastpage,color}
\lhead{\rm An Event-B Specification of pw4}
\rhead {\rm Page \thepage~of \pageref{LastPage}}
\lfoot{}\cfoot{}\rfoot{}
\pagestyle{fancy}
%---------------------------------------------------------
\begin{document}
\thispagestyle{empty}
\begin{description}
\BTitle{pw4}{13 Dec 2011}{11:10:29 PM}
\MACHINE{pw4}
\REFINES{pw3}
\SEES{cx3}
\VARIABLES
	\begin{description}
		\Item{ NORMALMODE }
		\Item{ Neutral }
		\Item{ Going\_Up }
		\Item{ Going\_Down }
		\Item{ OBSMODE }
		\Item{ ENVIRONMENT }
		\Item{ CONTROLLING }
		\Item{ VALIDATED }
		\Item{ VALIDATEDNOTCOMPLETE }
		\Item{ ENDSTOPNOTCOMPLETE }
		\Item{ ENDSTOPCOMPLETE }
		\Item{ VALIDATEDCOMPLETE }
		\Item{ PRIORITIZED }
		\Item{ sel\_comm }
		\bcmt{ Comment }
		\Item{ up\_out }
		\bcmt{ Comment }
		\Item{ down\_out }
		\bcmt{ Comment }
		\Item{ v\_dri }
		\Item{ v\_pass }
		\Item{ obs }
		\Item{ timer\_o }
		\Item{ endstop }
	\end{description}
\INVARIANTS
	\begin{description}
		\nItemX{ typeof\_Neutral }{ Neutral \in  BOOL }
		\nItemX{ typeof\_Going\_Up }{ Going\_Up \in  BOOL }
		\nItemX{ typeof\_Going\_Down }{ Going\_Down \in  BOOL }
		\nItemX{ distinct\_states\_in\_ex\_comm\_sm1 }{ (NORMALMODE = TRUE) \limp  partition(\{ TRUE\} , \{ Neutral\}  \binter  \{ TRUE\} , \{ Going\_Up\}  \binter  \{ TRUE\} , \{ Going\_Down\}  \binter  \{ TRUE\} ) }
		\nItemX{ Neutral\_substateof\_NORMALMODE }{ (Neutral = TRUE) \limp  (NORMALMODE = TRUE) }
		\nItemX{ Going\_Up\_substateof\_NORMALMODE }{ (Going\_Up = TRUE) \limp  (NORMALMODE = TRUE) }
		\nItemX{ Going\_Down\_substateof\_NORMALMODE }{ (Going\_Down = TRUE) \limp  (NORMALMODE = TRUE) }
		\nItemX{ NeutralInv }{ (Neutral = TRUE) \limp  (up\_out = 0 \land  down\_out = 0) }
		\nItemX{ UpInv }{ (Going\_Up = TRUE) \limp  (up\_out = 1 \land  down\_out = 0) }
		\nItemX{ DownInv }{ (Going\_Down = TRUE) \limp  (up\_out = 0 \land  down\_out = 1) }
	\end{description}
\EVENTS
	\INITIALISATION
		\\\textit{extended}
		\begin{description}
		\BeginAct
			\begin{description}
			\nItem{ init\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItem{ init\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItem{ init\_up\_out }{ up\_out :=  0 }
			\nItem{ init\_down\_out }{ down\_out :=  0 }
			\nItem{ init\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItem{ init\_sel\_comm }{ sel\_comm :=  0 }
			\nItem{ init\_VALIDATED }{ VALIDATED :=  FALSE }
			\nItem{ init\_v\_dri }{ v\_dri :=  0 }
			\nItem{ init\_VALIDATEDCOMPLETE }{ VALIDATEDCOMPLETE :=  FALSE }
			\nItem{ init\_VALIDATEDNOTCOMPLETE }{ VALIDATEDNOTCOMPLETE :=  FALSE }
			\nItem{ init\_v\_pass }{ v\_pass :=  0 }
			\nItem{ init\_OBSMODE }{ OBSMODE :=  FALSE }
			\nItem{ init\_endstop }{ endstop :=  FALSE }
			\nItem{ init\_NORMALMODE }{ NORMALMODE :=  TRUE }
			\nItem{ init\_ENDSTOPCOMPLETE }{ ENDSTOPCOMPLETE :=  FALSE }
			\nItem{ init\_ENDSTOPNOTCOMPLETE }{ ENDSTOPNOTCOMPLETE :=  FALSE }
			\nItem{ init\_obs }{ obs :=  FALSE }
			\nItem{ init\_timer\_o }{ timer\_o :=  0 }
			\nItemX{ init\_Going\_Down }{ Going\_Down :=  FALSE }
			\nItemX{ init\_Neutral }{ Neutral :=  TRUE }
			\nItemX{ init\_Going\_Up }{ Going\_Up :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {PE}
	\EXTD {PE}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItem{ isin\_ENVIRONMENT }{ ENVIRONMENT = TRUE }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ enter\_CONTROLLING }{ CONTROLLING :=  TRUE }
			\nItem{ leave\_ENVIRONMENT }{ ENVIRONMENT :=  FALSE }
			\nItem{ enter\_VALIDATED }{ VALIDATED :=  TRUE }
			\nItem{ enter\_VALIDATEDNOTCOMPLETE }{ VALIDATEDNOTCOMPLETE :=  TRUE }
			\nItem{ set\_obs }{ obs :\in  BOOL }
			\cmt{ Comment }
			\nItem{ enter\_ENDSTOPNOTCOMPLETE }{ ENDSTOPNOTCOMPLETE :=  TRUE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {ValidateCom}
	\EXTD {ValidateCom}
		\begin{description}
		\AnyPrm
			\begin{description}
			\Item{ pp }
			\Item{ dd }
			\end{description}
		\WhereGrd
			\begin{description}
			\nItem{ isin\_VALIDATEDNOTCOMPLETE }{ VALIDATEDNOTCOMPLETE = TRUE }
			\nItem{ ppType }{ pp \in  0\upto 1 }
			\nItem{ ddType }{ dd \in  0\upto 1 }
			\nItem{ isin\_ENDSTOPCOMPLETE }{ ENDSTOPCOMPLETE = TRUE }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ enter\_VALIDATEDCOMPLETE }{ VALIDATEDCOMPLETE :=  TRUE }
			\nItem{ set\_v\_dri }{ v\_dri :=  dd }
			\nItem{ leave\_VALIDATEDNOTCOMPLETE }{ VALIDATEDNOTCOMPLETE :=  FALSE }
			\nItem{ set\_v\_pass }{ v\_pass :=  pp }
			\nItem{ leave\_ENDSTOPCOMPLETE }{ ENDSTOPCOMPLETE :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {selectPass}
	\EXTD {selectPass}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItem{ v\_dri\_notactive }{ v\_dri = 0 }
			\nItem{ isin\_VALIDATEDCOMPLETE }{ VALIDATEDCOMPLETE = TRUE }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ enter\_PRIORITIZED }{ PRIORITIZED :=  TRUE }
			\nItem{ sel\_comm\_set }{ sel\_comm :=  v\_pass }
			\cmt{ Comment }
			\nItem{ leave\_VALIDATEDCOMPLETE }{ VALIDATEDCOMPLETE :=  FALSE }
			\nItem{ leave\_VALIDATED }{ VALIDATED :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {selectDri}
	\EXTD {selectDri}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItem{ isin\_VALIDATEDCOMPLETE }{ VALIDATEDCOMPLETE = TRUE }
			\nItem{ v\_dri\_active }{ v\_dri \neq  0 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ enter\_PRIORITIZED }{ PRIORITIZED :=  TRUE }
			\nItem{ leave\_VALIDATEDCOMPLETE }{ VALIDATEDCOMPLETE :=  FALSE }
			\nItem{ sel\_comm\_set }{ sel\_comm :=  v\_dri }
			\cmt{ Comment }
			\nItem{ leave\_VALIDATED }{ VALIDATED :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {obs\_on}
	\EXTD {obs\_on}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItem{ noTimeout }{ timer\_o+step <  time\_out }
			\cmt{ user entered }
			\nItem{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItem{ noEndstop }{ endstop = FALSE }
			\cmt{ user entered }
			\nItem{ isin\_OBSMODE }{ OBSMODE = TRUE }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ incTimer\_o }{ timer\_o :=  timer\_o + step }
			\cmt{ user entered }
			\nItem{ notUp }{ up\_out :=  0 }
			\cmt{ user entered }
			\nItem{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItem{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItem{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItem{ goDown }{ down\_out :=  1 }
			\cmt{ user entered }
			\end{description}
		\EndAct
		\end{description}
	\EVT {obs\_detect}
	\EXTD {obs\_detect}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItem{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\nItem{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItem{ obstaclePresent }{ obs = TRUE }
			\cmt{ Comment }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ leave\_NORMALMODE }{ NORMALMODE :=  FALSE }
			\nItem{ resetTimer\_o }{ timer\_o :=  0 }
			\cmt{ Comment }
			\nItem{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItem{ notUp }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItem{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItem{ goDown }{ down\_out :=  1 }
			\cmt{ Comment }
			\nItem{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItem{ enter\_OBSMODE }{ OBSMODE :=  TRUE }
			\nItemX{ leave\_Going\_Up }{ Going\_Up :=  FALSE }
			\nItemX{ leave\_Neutral }{ Neutral :=  FALSE }
			\nItemX{ leave\_Going\_Down }{ Going\_Down :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {obs\_over}
	\EXTD {obs\_over}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItem{ isin\_OBSMODE }{ OBSMODE = TRUE }
			\nItem{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItem{ timeoutORendstop }{ timer\_o+step \geq  time\_out \lor  endstop = TRUE }
			\cmt{ Comment }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ leave\_OBSMODE }{ OBSMODE :=  FALSE }
			\nItem{ enter\_NORMALMODE }{ NORMALMODE :=  TRUE }
			\nItem{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItem{ notUp }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItem{ notDown }{ down\_out :=  0 }
			\cmt{ Comment }
			\nItem{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItem{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ enter\_Neutral }{ Neutral :=  TRUE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {getEStop}
	\EXTD {getEStop}
		\begin{description}
		\AnyPrm
			\begin{description}
			\Item{ es }
			\bcmt{ Comment }
			\end{description}
		\WhereGrd
			\begin{description}
			\nItem{ esátype }{ es \in  BOOL }
			\cmt{ Comment }
			\nItem{ isin\_ENDSTOPNOTCOMPLETE }{ ENDSTOPNOTCOMPLETE = TRUE }
			\end{description}
		\ThenAct
			\begin{description}
			\nItem{ set\_endstop }{ endstop :=  es }
			\cmt{ Comment }
			\nItem{ enter\_ENDSTOPCOMPLETE }{ ENDSTOPCOMPLETE :=  TRUE }
			\nItem{ leave\_ENDSTOPNOTCOMPLETE }{ ENDSTOPNOTCOMPLETE :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_UpNeutral2}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ grd1 }{ endstop = FALSE }
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\nItemX{ isin\_Going\_Up }{ Going\_Up = TRUE }
			\nItemX{ grd2 }{ obs = FALSE }
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 1 }
			\nItem{ dwn }{ dwn = 0 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItemX{ up\_out\_set }{ up\_out :=  1 }
			\cmt{ Comment }
			\nItemX{ down\_out\_set }{ down\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_ToUp}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ grd3 }{ sel\_comm = 1 }
			\nItemX{ grd1 }{ endstop = FALSE }
			\nItemX{ grd2 }{ obs = FALSE }
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 1 }
			\nItem{ dwn }{ dwn = 0 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItemX{ enter\_Going\_Up }{ Going\_Up :=  TRUE }
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItemX{ down\_out\_set }{ down\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ up\_out\_set }{ up\_out :=  1 }
			\cmt{ Comment }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ leave\_Neutral }{ Neutral :=  FALSE }
			\nItemX{ leave\_Going\_Down }{ Going\_Down :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_ToDown}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ grd3 }{ sel\_comm = - 1 }
			\nItemX{ grd1 }{ endstop = FALSE }
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItemX{ grd2 }{ obs = FALSE }
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 0 }
			\nItem{ dwn }{ dwn = 1 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ leave\_Going\_Up }{ Going\_Up :=  FALSE }
			\nItemX{ down\_out\_set }{ down\_out :=  1 }
			\cmt{ Comment }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ enter\_Going\_Down }{ Going\_Down :=  TRUE }
			\nItemX{ up\_out\_set }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItemX{ leave\_Neutral }{ Neutral :=  FALSE }
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_DownNeutral2}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ isin\_Going\_Down }{ Going\_Down = TRUE }
			\nItemX{ grd2 }{ obs = FALSE }
			\nItemX{ grd1 }{ endstop = FALSE }
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 0 }
			\nItem{ dwn }{ dwn = 1 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ up\_out\_set }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItemX{ down\_out\_set }{ down\_out :=  1 }
			\cmt{ Comment }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_NeutralNeutral}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ noObstacle }{ obs = FALSE }
			\cmt{ Comment }
			\nItemX{ grd1 }{ sel\_comm = 0 }
			\nItemX{ isin\_Neutral }{ Neutral = TRUE }
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 0 }
			\nItem{ dwn }{ dwn = 0 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItemX{ up\_out\_set }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ down\_out\_set }{ down\_out :=  0 }
			\cmt{ Comment }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_UpNeutral1}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItemX{ grd2 }{ endstop = FALSE }
			\nItemX{ grd1 }{ obs = FALSE }
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\nItemX{ grd3 }{ sel\_comm = 0 }
			\nItemX{ isin\_Going\_Up }{ Going\_Up = TRUE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 0 }
			\nItem{ dwn }{ dwn = 0 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ down\_out\_set }{ down\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItemX{ up\_out\_set }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ enter\_Neutral }{ Neutral :=  TRUE }
			\nItemX{ leave\_Going\_Up }{ Going\_Up :=  FALSE }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_EndStop}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\nItemX{ grd2 }{ endstop = TRUE }
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItemX{ grd1 }{ obs = FALSE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 0 }
			\nItem{ dwn }{ dwn = 0 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ up\_out\_set }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ down\_out\_set }{ down\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ leave\_Going\_Down }{ Going\_Down :=  FALSE }
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ enter\_Neutral }{ Neutral :=  TRUE }
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItemX{ leave\_Going\_Up }{ Going\_Up :=  FALSE }
			\end{description}
		\EndAct
		\end{description}
	\EVT {Normal\_DownNeutral1}
	\REF {no\_obs}
		\begin{description}
		\WhenGrd
			\begin{description}
			\nItemX{ grd1 }{ obs = FALSE }
			\nItemX{ isin\_PRIORITIZED }{ PRIORITIZED = TRUE }
			\nItemX{ isin\_NORMALMODE }{ NORMALMODE = TRUE }
			\nItemX{ grd3 }{ sel\_comm = 0 }
			\nItemX{ grd2 }{ endstop = FALSE }
			\nItemX{ isin\_Going\_Down }{ Going\_Down = TRUE }
			\end{description}
		\Witnesses
			\begin{description}
			\nItem{ up }{ up = 0 }
			\nItem{ dwn }{ dwn = 0 }
			\end{description}
		\ThenAct
			\begin{description}
			\nItemX{ leave\_PRIORITIZED }{ PRIORITIZED :=  FALSE }
			\nItemX{ down\_out\_set }{ down\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ leave\_CONTROLLING }{ CONTROLLING :=  FALSE }
			\nItemX{ enter\_Neutral }{ Neutral :=  TRUE }
			\nItemX{ up\_out\_set }{ up\_out :=  0 }
			\cmt{ Comment }
			\nItemX{ leave\_Going\_Down }{ Going\_Down :=  FALSE }
			\nItemX{ enter\_ENVIRONMENT }{ ENVIRONMENT :=  TRUE }
			\end{description}
		\EndAct
		\end{description}
\END
\end{description}
\end{document}
