✈️ DSL for deploying distributed systems, with custom commands to compile and execute FraSCAti applications
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Amelia is a Domain Specific Language for deploying distributed systems.


The Amelia editor is an Eclipse plugin. To develop deployment specifications, you need to install Amelia first. In Eclipse, add the Xtext update site (http://download.eclipse.org/modeling/tmf/xtext/updates/releases/) and the Amelia update site (http://unicesi.github.io/amelia/releases). Then, list the features in the latter and follow the steps in the installation Wizard. If you have never installed Eclipse plugins before, the Eclipse help site can give you a hand.

Amelia is also available as a stand-alone compile through Maven. Please refer to the examples to know more about the Maven configuration.


Cloning this repository

Before cloning this repository, please notice two things: first, this repository does not contain generated sources, and second, the Eclipse update site is hosted in the gh-pages branch. That being said, my advice is to clone each branch separately; this avoids compiling the sources everytime you checkout the gh-pages branch. Additionally, this makes cloning the master branch lighter.

To clone the master branch:

git clone -b "master" --single-branch https://github.com/unicesi/amelia

To clone the gh-pages branch:

git clone -b "gh-pages" --single-branch https://github.com/unicesi/amelia p2-repository

Compiling from sources

If you want to build the Amelia sources locally, you need Maven.

First of all, make sure to increase memory

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"

And then run

mvn install

Using Amelia as a stand-alone library

The maven artifacts generated by mvn install expect Pascani and Xtend lib to be present in the execution environment. In order to use Amelia as a stand-alone library, you need to compile the library project using:

cd maven/org.amelia.dsl.lib
mvn package -Pstand-alone-jar

You can then use the file org.amelia.dsl.lib-<version>-dependencies.jar from the target folder.


If you have any questions about Amelia, or something doesn't work as expected, please submit an issue here.