{"id":24612801,"url":"https://github.com/giordanodaloisio/manila","last_synced_at":"2025-03-18T16:46:34.096Z","repository":{"id":131021761,"uuid":"486243651","full_name":"giordanoDaloisio/manila","owner":"giordanoDaloisio","description":"MANILA, a low-code framework for Quality-Based ML development","archived":false,"fork":false,"pushed_at":"2023-10-30T17:37:00.000Z","size":8860,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T20:37:56.729Z","etag":null,"topics":["fairness","machine-learning","model-driven-engineering","software-quality"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/giordanoDaloisio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-04-27T15:13:41.000Z","updated_at":"2023-10-10T14:13:57.000Z","dependencies_parsed_at":"2023-10-10T16:52:42.930Z","dependency_job_id":null,"html_url":"https://github.com/giordanoDaloisio/manila","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giordanoDaloisio%2Fmanila","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giordanoDaloisio%2Fmanila/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giordanoDaloisio%2Fmanila/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/giordanoDaloisio%2Fmanila/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/giordanoDaloisio","download_url":"https://codeload.github.com/giordanoDaloisio/manila/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244265613,"owners_count":20425753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fairness","machine-learning","model-driven-engineering","software-quality"],"created_at":"2025-01-24T20:37:59.642Z","updated_at":"2025-03-18T16:46:34.064Z","avatar_url":"https://github.com/giordanoDaloisio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MANILA Framework\n\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8421769.svg)](https://doi.org/10.5281/zenodo.8421769)\n\nThis 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_.\n\n## Citation Request\n\nPlease cite our work if you use it in your research:\n\n_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._\n\n```bibtex\n@inproceedings{daloisio_democratizing_2023,\n\taddress = {Cham},\n\tseries = {Lecture {Notes} in {Computer} {Science}},\n\ttitle = {Democratizing {Quality}-{Based} {Machine} {Learning} {Development} through {Extended} {Feature} {Models}},\n\tcopyright = {All rights reserved},\n\tisbn = {978-3-031-30826-0},\n\tdoi = {10.1007/978-3-031-30826-0_5},\n\tlanguage = {en},\n\tbooktitle = {Fundamental {Approaches} to {Software} {Engineering}},\n\tpublisher = {Springer Nature Switzerland},\n\tauthor = {d’Aloisio, Giordano and Di Marco, Antinisca and Stilo, Giovanni},\n\teditor = {Lambers, Leen and Uchitel, Sebastián},\n\tyear = {2023},\n\tpages = {88--110},\n}\n```\n\n## Project Structure\n\nThis project is structured in the following way:\n\n- **generator**: this folder contains all the files needed to generate an experiment workflow\n  - **templates**: this folder contains all the Jinja templates used to generate the needed files\n  - **generator.py**: main file to generate the experiment workflow\n- **manila-fm**: this folder contains the implemented Extended Feature Model and the relative configuration specifications\n  - **configs**: directory in which the configuration files are stored\n  - **feature-model.png**: full picture of the Extended Feature Model\n  - **model.xml**: specification of the Extended Feature Model\n- **imgs**: this directory contains the images used in this README\n- **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.\n\n## MANILA Setup\n\nPlease follow these steps to setup the MANILA framework:\n\n### Environment setup\n\n1. Install FeatureIDE following the instructions reported at the following [link](https://featureide.github.io/#download)\n2. Install Miniconda following the instructions reported at the following [link](https://docs.conda.io/en/latest/miniconda.html#)\n3. Create a new conda environment and install the Jinja package using these commands:\n\n```shell\n$ conda create -n manila_env python=3.9\n$ conda activate manila_env\n$ pip install Jinja2\n```\n\n### Importing the Extended Feature Model in FeatureIDE\n\n1. Start Eclipse and select the root folder as workspace:\n\n![featureide-window](imgs/featureide1.png)\n\n2. From the opened window click of _File_ -\u003e _Import_ -\u003e _Existing Project into Workspace_, select the root folder as the root directory and `manila-fm` should appear among the projects:\n\n![img2](imgs/featureide2.png)\n\n3. Click on Finish and the project should appear on the left panel:\n\n![img3](imgs/featureide3.png)\n\n4. Click on the `model.xml` file to open the Extended Feature Model:\n\n![img4](imgs/featureide4.png)\n\n5. Open the `config.xml` file to see an example configuration of an experiment:\n\n![img5](imgs/featureide5.png)\n\n\u003c!-- 6. From the root folder call the generator file with the following command:\n\n```shell\n$ conda activate manila_env\n$ python generator/generator.py -n manila-fm/configs/config.xml\n```\n\n7. Create the required environment and execute the generated experiment with the following commands:\n\n```shell\n$ conda env create -f gen/environment.yml\n$ conda activate base_env\n$ python gen/main.py -d test_data/cmc.csv\n```\n\n8. See the results in the `ris` folder --\u003e\n\n## License\n\nThis work is distributed under AGPL v3 License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiordanodaloisio%2Fmanila","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgiordanodaloisio%2Fmanila","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgiordanodaloisio%2Fmanila/lists"}