| layout | default |
|---|---|
| title | Getting started |
| nav_order | 2 |
{: .no_toc }
{: .no_toc .text-delta }
- TOC {:toc}
{% include flamapy.html %} provides an ecosystem to build up automated analysis tools AAFM. While the framework support any kind of variability model, it provides easy use and extensibility in the case of feature models.
To analyze feature models, you can rely on the flamapy distribution. It requires Python >= 3.9.
{: .important }
It's recommended to use a virtual environment (venv) for installation to avoid conflicts with other packages. Here’s how you can set it up:
python -m venv flamapyenv && source flamapyenv/bin/activate
Install the distribution:
pip install flamapy
To test some basic operations, you need UVL models. Several are available at UVLHub. If you prefer, you can download a test one:
wget -q "https://raw.githubusercontent.com/flamapy/flamapy/main/resources/models/simple/valid_model.uvl"
wget -q "https://raw.githubusercontent.com/flamapy/flamapy/main/resources/configurations/valid_configuration.csvconf"
Now we will present some examples of operations so you can check if the tool is working as expected, but first, let's see which operations are available using the flamapy command line.
flamapy --help
To check if the model is valid, run:
flamapy satisfiable ./valid_model.uvl
To generate all possible configurations from the model, use:
flamapy configurations ./valid_model.uvl
To verify if a specific configuration is valid, run:
flamapy satisfiable_configuration ./valid_model.uvl ./valid_configuration.csvconf
{% include flamapy.html %} runs on a framework based on Core / Plugins architecture. If you are interested in more feature model operations, check the flamapy as a tool
We have prepared flamapy to provide support by default to the most used operations in a ready and easy way of using. You can execute it using an easy-to-use facade, a cli o directly using the framework. You can see how to execute each operation and which interface are available in the [operations] documentation.
You can choose not to use the distribution. In that case, yo have to select the most suitable plugins for your variability model analysis. Therefore you have to install the core and the corresponding plugins.
You can check the rest of plugins.