\section{PaWS Project}
\label{paws_project}

PaWS provides three different modes of using PIPS: tutorial,
elementary analysis or transformation, and full control. Each of them
presents different ways to see how PIPS is working, according to
the user needs.

%% see Introduction for goals
%% implementation vs configuration

\subsection{Tutorial mode}

Tutorial is the PaWS mode that presents PIPS pass managers to users who
are not familiar with this framework. It is also very easy way to
learn how PIPS is working. The user needs only to choose an example
and after it is loaded, he/she can follow transformations and analyses
step-by-step. The user can also skip some steps or go back to previous
ones. There is always a script and its results are presented with some
explanations. The result may include dependence graphs for pedagogical
reasons.

\subsection{Basic analyses and transformations}

This mode enables intermediate users to try specific PIPS
transformations and analysis. The user can choose prepared examples or
use his own code to see how PIPS works. He can later modify the source
code to see differences in results. PIPS related analyses and
transformations are available at two levels: basic and advanced. Basic
level performs operations with default PIPS properties. The advanced
level provides list of properties, that can be modified by the user to
obtain more accurate results or ot speed up PIPS. More information can
be found in the configuration chapter (see Section~\ref{currentconfiguration}).

\subsection{Full control}

Full control is the mode that enables users to create graphically PyPS
or TPIPS scripts which are applied later to the source code.

This mode has not been implemented yet.
