Language Level
This operation reports the UVL language level a feature model uses, i.e. which subset of the Universal Variability Language is required to express it (for example Boolean, Arithmetic, Type, or the group/feature cardinality levels). It is a structural operation computed directly on the feature model, without a backend solver.
Code Examples
from flamapy.metamodels.fm_metamodel.transformations import UVLReader
from flamapy.metamodels.fm_metamodel.operations import FMLanguageLevel
feature_model = UVLReader('model.uvl').transform()
levels = FMLanguageLevel().execute(feature_model).get_result()
print(levels)
Using the Python facade:
from flamapy.interfaces.python.flamapy_feature_model import FLAMAFeatureModel
result = FLAMAFeatureModel('model.uvl').language_level()