\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} |