EvoAl consists of two parts: First, a set of Eclipse plugins that extends Eclipse with capabilities to edit EvoAl's DSLs. Second, EvoAl as an optimisation framework. Download the latest [EvoAl Release](https://gitlab.informatik.uni-bremen.de/evoal/source/evoal-core/-/pipelines) and unzip it somewhere on your computer.
EvoAl consists of two parts: First, a set of Eclipse plugins that extends Eclipse
with capabilities to edit EvoAl's DSLs. Second, the EvoAl optimisation framework.
Both installation steps are described in the following. Please start with the
[EvoAl installation](#evoal-installation) and then proceed with the [Eclipse
Installation](#eclipse-installation).
# Eclipse Plugins
There are two ways to install EvoAl's Eclipse plugins. You can use the archived Update Site you can find in the EvoAl release archive or you can use the Update Site hosted by us. It is recommended to use the hosted version of the Update Sites since it makes updating easier.
# EvoAl Installation
First, you have to download an EvoAl release. To do so, please go to the [Pipelines
There, you have to hit the Download button and-depending on your operating
system-choose a matching package. The Eclipse page will forward you to a
mirror selection page since the Eclipse installer is hosted on many servers
over the world, it will ask you to select a server nearby.
## Configure Hosted Update Site
1. Go to ```Help > Install New Software ...```
2. Click ```Add```
2. Use `EvoAl` as `Name` for the Update Site
3. Use the URL of the Update Site that fits your release as `Location`. You can find all available Update Sites [here](https://evoal.glpages.informatik.uni-bremen.de/source/evoal-core/)
Select `Finish`. After the dialog has closed, right-click on your newly
created project and select ```New > File ...``````

Select ```example.ddl``` as the file name and select `Finish`. In the following dialog that asks if you want to convert the project to an
Xtext project click `Yes`.

Now, write your data description, for instance:
```
module weather {
data:
/**
* Average air temperature for the weather data
* set, measured in °C.
*/
cardinal real data temperature
with constraints:
value > -273.15;
value < 1k;
;
/**
* Month of the year, coded by the ordinal number of
* the month. January is represented by 1 and
* December is represented by 12, respectively.
*/
ordinal integer data month
with constraints:
value >= 1;
value <= 12;
;
/**
* City of the measure temperature, represented by
* the license plate city code, e.g. Bremen .
*/
nominal string data city;
}
```
Your Eclipse should look like the following and you can start
testing with describing your domain data.

If you want to use some predefined EvoAl constraints for your
data, you have to link the EvoAl specifications. Right-click
your project and select `New > Folder`. Choose `definitions`
as the folders name and click on `Advanced >>`. Select the
`Link to alternate location (Linked Folder)` radio button.
Click on `Browse ...` and go to your EvoAl installation (the
path from the [EvoAl Installation](#evoal-installation)) and
select the `definitions`` folder there.

Click `Open` and then `Finish`. Afterwards, you can add the
import ```import "definitions" from de.evoal.core.constraint;```
to your `.ddl` file.
Now, you can write your own EvoAl configuration files.
# EvoAl for Users
The EvoAl release contains a `bin` folder that contains several scripts for running the different modes of EvoAl. Furthermore, it includes an `example` folder that contains simple examples for configuration files.
# EvoAl for Developers
You can, at any time, add your EvoAl extension to an official EvoAl release. Copy the resulting plugin folder (created by Maven) into the plugins folder of EvoAl. Now, EvoAl is capable of using your plugin.
# Advanced Topics
## Configure Static Update Site
There are two ways to install EvoAl's Eclipse plugins. You can use the archived Update Site you can find in the EvoAl release archive or you can use the Update Site hosted by us. It is recommended to use the hosted version of the Update Sites since it makes updating easier.
1. Go to ```Help > Install New Software ...```
2. Click ```Add```
2. Use `EvoAl` as `Name` for the Update Site
3. Choose ```Archive ...```
4. Select the `eclipse-update-site.zip` file you find in the EvoAl release
You can find all available Update Sites [here](https://evoal.glpages.informatik.uni-bremen.de/source/evoal-core/)