flamapy-sdd is a plugin to flamapy providing Sentential Decision Diagram (SDD) knowledge compilation for exact analysis of feature models
Project description
flamapy-sdd
flamapy-sdd is a flamapy plugin that compiles a feature model
into a Sentential Decision Diagram (SDD) for exact analysis.
SDD is a knowledge-compilation language (a subset of d-DNNF, strictly more succinct than OBDD in cases), so it supports exact, polytime queries — model counting, consistency, conditioning — and can stay compact on models where a BDD blows up. It complements the ecosystem:
flamapy-bddcompiles to OBDD (exact, but can explode on large models).flamapy-sharpsatgives an approximate count (ApproxMC) for very large models.flamapy-sddgives an exact count via a more succinct compilation, on top of the SAT CNF.
It uses PySDD.
Installation
pip install flamapy-sdd
Operations
| Operation | Class |
|---|---|
| Exact number of configurations | SDDConfigurationsNumber |
| Satisfiable (non-void) | SDDSatisfiable |
| Core features | SDDCoreFeatures |
| Dead features | SDDDeadFeatures |
Usage
from flamapy.metamodels.fm_metamodel.transformations import UVLReader
from flamapy.metamodels.sdd_metamodel.transformations import FmToSDD
from flamapy.metamodels.sdd_metamodel.operations import SDDConfigurationsNumber
fm = UVLReader('model.uvl').transform()
sdd_model = FmToSDD(fm).transform()
count = SDDConfigurationsNumber().execute(sdd_model).get_result()
License
GPL-3.0-or-later.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flamapy_sdd-2.6.0.dev12.tar.gz.
File metadata
- Download URL: flamapy_sdd-2.6.0.dev12.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cf3daed0463c87cf21f84e226516237452b446ce388054da7531b732e8aac8d
|
|
| MD5 |
90d368d6aef380a3b041951297c5c0f5
|
|
| BLAKE2b-256 |
edfd3d77ec361e6ab03f04006726acf12fb3c8f6c9ad118713bd766b4ebe2c76
|
File details
Details for the file flamapy_sdd-2.6.0.dev12-py3-none-any.whl.
File metadata
- Download URL: flamapy_sdd-2.6.0.dev12-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50b9d52b267544f06049ea6bf7b6310cd815ad4397c317ff03eef36659a08cb4
|
|
| MD5 |
72f1eed3f6af522bf785b2b564af3305
|
|
| BLAKE2b-256 |
75a265be658499bd4e76a226ec64b25e0a9e4789b7d27de182503f92ab01b2fc
|