layout | title | nav_order |
---|---|---|
default |
Getting started |
2 |
{: .no_toc }
{: .no_toc .text-delta }
- TOC {:toc}
To analyze feature models, you can use 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"
To check if the model is valid, run:
flamapy-fm-cli --modelPath="./valid_model.uvl" valid
To generate all possible products from the model, use:
flamapy-fm-cli --modelPath="./valid_model.uvl" products
To verify if a specific configuration is valid, run:
flamapy-fm-cli --modelPath="./valid_model.uvl" valid_configuration ./valid_configuration.csvconf
{% include flamapy.html %} runs on a framework based on Core / Plugins
architecture. If you are interested in more feature model operations, you have several options:
We have prepared the flamapy
distribution which acts as an interface and is specific to feature models.
You can choose not to use the distribution. In that case, you have to install the core and the corresponding plugin in developer mode.
To set up your environment in developer mode and work directly with the plugins, visit the section 'Setting the development environment'
You can check the rest of operations of the plugin for feature models.
Of course, {% include flamapy.html %} incorporates more plugins. In Core and plugins you can check the rest of plugins.