Updated Installation procedure authored by Bernhard Johannes Berger's avatar Bernhard Johannes Berger
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
Page](https://gitlab.informatik.uni-bremen.de/evoal/source/evoal-core/-/pipelines).
![EvoAl pipelines page](Installation/evoal-pipeline-page.png)
Here, you can see all the automatic builds and you can download a fresh EvoAl build.
Search for the most recent build where the status indicates a successful build. There,
look for the `Actions` chooser and click the `Download Artifacts` chevron.
![EvoAl artifact download](Installation/evoal-pipeline-artifact.png)
Select the entry `all:package:archive` and download the linked `.zip` file.
The download will start automatically when you click the entry. Next, open
your File Explorer (Finder) and go to your `Downloads` folder. You will find
a file called `evoal-develop-...-release.zip`. Please unzip this folder by
right-clicking the file and choosing `Extract`. You can move the extracted
`evoal` folder wherever you want but please remember the location for
later usage. Now, the EvoAl installation is done.
# Eclipse Installation
The Eclipse installation is a little bit more complicated since we first need
to install Eclipse.
## Install Eclipse
1. Download [Eclipse Installer](https://www.eclipse.org)
2. Open Installer and change to ```Advanced Mode```
3. Install a ```2022-12``` ```Eclipse Modeling Tools``` with a ```JDK 17```
4. Open Eclipse
To install Eclipse, you first have to download the Eclipse installer. Head over
to the [Eclipse download page](https://www.eclipse.org/downloads/).
## Configure Static Update Site
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
![Eclipse Download Page](Installation/eclipse-download.png)
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/)
![Eclipse Mirror Selection Page](Installation/eclipse-mirror.png)
Click the `Download` button and wait until your browser has downloaded the
installer successfully. Then, start the Installer from your `Downloads` folder.
![Eclipse Installer Version Selection](Installation/eclipse-installer-version.png)
Select the `Eclipse Modeling Tools` installation package on the
first page. Then, you can change the installation folder so it
fits your needs. Otherwise, please remember the default location
so you can find your Eclipse installation.
![Eclipse Installer Path Selection](Installation/eclipse-installer-path.png)
Click the `Install` button and wait for the installation process
to finish. The installation process might ask you whether you
trust the installed packages. In this case, you have to check the
corresponding checkbox and then press the `Trust Selected` button.
![Eclipse Trust Confirmation Dialog](Installation/eclipse-installer-trust.png)
After the installation process, a final window shows up that
allows you to start Eclipse directly. Simply click on the
`Launch` button.
![Launch Eclipse Dialog](Installation/eclipse-installer-start.png)
Eclipse will start up and ask you to select a workspace location. The
workspace is the location where Eclipse stores the files you are
creating and editing, for instance, the DSL files. Select a folder
that fits your needs, for instance, in your `Documents` folder and
select `Launch`.
![Eclipse Workspace Selection](Installation/eclipse-workspace-selection.png)
Please see the next section for more details on the EvoAl plugin
installation process.
## Install EvoAl Plugins
1. Select `EvoAl` in the `Work with` drop down
2. Choose ```EvoAl's DSLs``` for installation.
3. Confirm installation
4. Restart Eclipse
5. You can now create a new project and add a new file with a proper [file extension](DSL/Common File Syntax)
6. Confirm that you want to convert the project into a ```Xtext project```
After the first start, you will find yourself in the Eclipse workspace
and have to install the EvoAl plugins. Therefore, go to ```Help > Install New Software ...```.
![Eclipse Install New Software](Installation/eclipse-install-new.png)
A window will show up that allows you to install new plugins for Eclipse.
![Eclipse Install](Installation/eclipse-install.png)
Click the `Add ...` button. In the appearing `Add Repository` dialog use
`EvoAl` as `Name` and
`https://evoal.glpages.informatik.uni-bremen.de/source/evoal-core/develop/`
as `Location`.
![Add Repository Dialog](Installation/evoal-install-add-repository.png)
Click the `Add` button to add the repository to Eclipse. Eclipse will
use this repository to fetch new plugins. Now, check the checkbox
next to ```EvoAl's DSLs``` in the `Install` dialog and press `Next >`.
Eclipse will now calculate the plugins to install and the result should
look like the following:
![Eclipse Installation Details](Installation/eclipse-install-details.png)
Confirm the dialog either by clicking `Finish` or `Next >`. If you have
to click next, you have to review the licenses of the installed plugins
and accept them.
![Eclipse Review Licenses](Installation/eclipse-install-licenses.png)
Finally, you have to trust the authorities once more by checking the
checkbox next to the EvoAl Update Site.
![Eclipse Trust Authorities](Installation/eclipse-install-trust.png)
After the installation has finished, Eclipse asks you to restart Eclipse
to properly load the plugins. Please restart Eclipse here.
![Eclipse Restart](Installation/eclipse-install-restart.png)
## Write your first DDL file
After starting Eclipse, you now can create a new project for writing
EvoAl configurations. To do so, please close the `Welcome` tab and
expand the `Model Explorer` (the small icon on the left-hand side of
Eclipse). Now, right-click on the `Model Explorer` and select ```New > Project ...```.
![Eclipse First Run New Project](Installation/eclipse-first-new.png)
Select ```General > Project``` in the dialog.
![Eclipse First Run New General Project](Installation/eclipse-first-project.png)
Now, choose a project name for the new file you want to create:
![Eclipse Select Project Name](Installation/eclipse-first-project-configuration.png)
Select `Finish`. After the dialog has closed, right-click on your newly
created project and select ```New > File ...``````
![Eclipse Select New File](Installation/eclipse-first-new-file.png)
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`.
![Eclipse Select New File name](Installation/eclipse-first-file-name.png)
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.
![Eclipse First Final](Installation/eclipse-first-final.png)
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.
![Eclipse Link Folder](Installation/eclipse-link-folder.png)
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/)