blob: 525d7a3dacf574f5f2935cdc140d23b5faa31398 [file] [log] [blame]
\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}