\chapter{Introduction}
\label{chp:Introduction}

The purpose of this book is to provide a complete reference of the languages provided by the Epsilon project (\url{http://www.eclipse.org/epsilon}).

\section{What is Epsilon?}

Epsilon, standing for Extensible Platform of Integrated Languages for mOdel maNagement, is a platform for building consistent and interoperable task-specific languages for model management tasks such as model transformation, code generation, model comparison, merging, refactoring and validation.

Epsilon currently provides the following languages:

\begin{itemize}
	\item Epsilon Object Language (EOL)
	\item Epsilon Validation Language (EVL)
	\item Epsilon Transformation Language (ETL)
	\item Epsilon Comparison Language (ECL)
	\item Epsilon Merging Language (EML)
	\item Epsilon Wizard Language (EWL)
	\item Epsilon Generation Language (EGL)
	\item Epsilon Pattern Language (EPL)
\end{itemize}

For each language, Epsilon provides Eclipse-based development tools and an interpreter\footnote{The interpreters are not bound in any way to Eclipse and can also be used in standalone Java applications.} that can execute programs written in this language. Epsilon also provides a set of ANT tasks for creating workflows of different tasks (e.g. a validation followed by a transformation followed by code generation). The following chapters present the syntax of each language and a few usage examples.

\section{How To Read This Book}

If you are reading this book, there's a good chance that you are already interested in using a particular task-specific language provided by Epsilon (e.g. EVL for model validation or ETL for model transformation). In this case, you don't have to need to read about all the languages: you should start by spending some time reading Chapter \ref{sec:Design.EOL} that presents the core Epsilon Object Language (EOL) -- as all languages of the platform extend EOL both syntactically and semantically -- and you can then proceed directly to the chapter that discusses the particular language you are interested in (e.g. Chapter \ref{sec:EVL} for EVL).

\section{Questions and Feedback}

Our intention is to keep this book a live project that will evolve in parallel with Epsilon. Therefore, your feedback on any omissions, errors or outdated content is critical and much appreciated (and will also earn you a place in the Acknowledgements section of the book). Please send your feedback to the Epsilon forum  (see \url{http://www.eclipse.org/epsilon/forum/} for detailed instructions).

\section{Additional Resources}

As mentioned above, information about Epsilon and examples are available in many different places. If you can't find what you are looking for in this book there are a few other places where you may try.

\subsection{Epsilon Website}
Epsilon is a component of the Eclipse Modelling project, hosted under \url{http://www.eclipse.org/epsilon}. In the documentation section \url{http://www.eclipse.org/epsilon/doc} of the website you can find examples, articles and screencasts on all tools and languages that Epsilon provides.

\subsection{EpsilonLabs}

EpsilonLabs is a satellite project of Epsilon that hosts experimental applications/extensions of Epsilon or other content that cannot be shared under Eclipse.org due to licensing issues (e.g. incompatibility with EPL). EpsilonLabs is hosted at GitHub: \url{https://github.com/epsilonlabs}

\subsection{Twitter}
To keep in touch with the latest news on Epsilon, please follow \href{http://twitter.com/#!/epsilonews}{@epsilonews} on Twitter.