https://github.com/giordanodaloisio/manila
MANILA, a low-code framework for Quality-Based ML development
https://github.com/giordanodaloisio/manila
fairness machine-learning model-driven-engineering software-quality
Last synced: about 1 month ago
JSON representation
MANILA, a low-code framework for Quality-Based ML development
- Host: GitHub
- URL: https://github.com/giordanodaloisio/manila
- Owner: giordanoDaloisio
- License: agpl-3.0
- Created: 2022-04-27T15:13:41.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-30T17:37:00.000Z (over 1 year ago)
- Last Synced: 2025-01-24T20:37:56.729Z (3 months ago)
- Topics: fairness, machine-learning, model-driven-engineering, software-quality
- Language: Python
- Homepage:
- Size: 8.45 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MANILA Framework
[](https://www.gnu.org/licenses/agpl-3.0)
[](https://doi.org/10.5281/zenodo.8421769)
This repository cointains the source code of the _MANILA_ framework described in the papers _Democratizing Quality-Based Machine Learning Development through Extended Feature Models_ and _A Framework to Democratize the Quality-Based Machine Learning Development Through Extended Feature Models: Strengths and Limitations_.
## Citation Request
Please cite our work if you use it in your research:
_G. d’Aloisio, A. Di Marco, e G. Stilo, «Democratizing Quality-Based Machine Learning Development through Extended Feature Models», in Fundamental Approaches to Software Engineering, L. Lambers e S. Uchitel, A c. di, in Lecture Notes in Computer Science. Cham: Springer Nature Switzerland, 2023, pp. 88–110. doi: 10.1007/978-3-031-30826-0_5._
```bibtex
@inproceedings{daloisio_democratizing_2023,
address = {Cham},
series = {Lecture {Notes} in {Computer} {Science}},
title = {Democratizing {Quality}-{Based} {Machine} {Learning} {Development} through {Extended} {Feature} {Models}},
copyright = {All rights reserved},
isbn = {978-3-031-30826-0},
doi = {10.1007/978-3-031-30826-0_5},
language = {en},
booktitle = {Fundamental {Approaches} to {Software} {Engineering}},
publisher = {Springer Nature Switzerland},
author = {d’Aloisio, Giordano and Di Marco, Antinisca and Stilo, Giovanni},
editor = {Lambers, Leen and Uchitel, Sebastián},
year = {2023},
pages = {88--110},
}
```## Project Structure
This project is structured in the following way:
- **generator**: this folder contains all the files needed to generate an experiment workflow
- **templates**: this folder contains all the Jinja templates used to generate the needed files
- **generator.py**: main file to generate the experiment workflow
- **manila-fm**: this folder contains the implemented Extended Feature Model and the relative configuration specifications
- **configs**: directory in which the configuration files are stored
- **feature-model.png**: full picture of the Extended Feature Model
- **model.xml**: specification of the Extended Feature Model
- **imgs**: this directory contains the images used in this README
- **replication_package**: this directory contains the replication package of the experiments conducted in section 5.2 of the paper. Refer to the [README](./replication_package/README.md) in the directory for more information.## MANILA Setup
Please follow these steps to setup the MANILA framework:
### Environment setup
1. Install FeatureIDE following the instructions reported at the following [link](https://featureide.github.io/#download)
2. Install Miniconda following the instructions reported at the following [link](https://docs.conda.io/en/latest/miniconda.html#)
3. Create a new conda environment and install the Jinja package using these commands:```shell
$ conda create -n manila_env python=3.9
$ conda activate manila_env
$ pip install Jinja2
```### Importing the Extended Feature Model in FeatureIDE
1. Start Eclipse and select the root folder as workspace:

2. From the opened window click of _File_ -> _Import_ -> _Existing Project into Workspace_, select the root folder as the root directory and `manila-fm` should appear among the projects:

3. Click on Finish and the project should appear on the left panel:

4. Click on the `model.xml` file to open the Extended Feature Model:

5. Open the `config.xml` file to see an example configuration of an experiment:

## License
This work is distributed under AGPL v3 License