\subsection{Model Validation Task}
\label{sec:EvlTask}

The \emph{epsilon.evl} task executes an EVL module, defined using the \emph{src} attribute on the models that are specified using the \emph{model} nested elements. In addition to the attributes defined by the ExecutableModuleTask, this task also provides the following attributes:

\begin{itemize}
	\item \emph{failOnErrors} : Errors are the results of unsatisfied constraints. Setting the value of this attribute to \emph{true} (default is \emph{false}) causes a \emph{BuildException} to be raised if one or more errors are identified during the validation process.
	\item \emph{failOnWarnings} : Similarly to errors, warnings are the results of unsatisfied critiques. Setting the value of this atrribute to \emph{true} (default is also \emph{false}) causes a \emph{BuildException} to be raised if one or more warnings are identified during the validation process.
	\item \emph{exportConstraintTrace} : This attribute enables developers to export the internal constraint trace constructed during model validation to the project context so that it can be later accessed by other tasks - which could for example attempt to automatically repair the identified inconsistencies.
        \item \emph{exportAsModel} : Setting the value of this attribute to \emph{true} (default is \emph{false}) causes EVL to export the results of the validation as a new model in the project repository, named ``EVL''. This model contains all the \class{EvlUnsatisfiedConstraint}s found by EVL. These instances contain several useful attributes: \emph{constraint} points to the \class{EvlConstraint} with the definition of the constraint and \emph{instance} points to the model element which did not satisfy the constraint. From the \class{EvlConstraint}, \emph{isCritique} can be used to check if it is a critique or not, and \emph{name} contains the name of the constraint.
\end{itemize}
