Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for extended feature models with integer features #23

Open
h3ssto opened this issue Feb 15, 2024 · 3 comments
Open

Support for extended feature models with integer features #23

h3ssto opened this issue Feb 15, 2024 · 3 comments
Labels
enhancement enhancement or feature requests

Comments

@h3ssto
Copy link

h3ssto commented Feb 15, 2024

One of the UVL language levels adds support for non-Boolean features. There already exists basic support in FeatureIDE and UVLS but not for visualization. Something like this, would probably suffice:
image

Example UVL file by @acherm.

features
    "Floating Point Experiment" {extended__}
        mandatory
            "Language"
                alternative
                    C
                    Rust
            "Compilation Flags"
                or
                    "-O2"
                    "-O3"
                    "-Os"
                    "-O0"
                    "-Ofast"
                    // customFlags "Specify any custom flags"
            "Data Types"
                or
                    double
                    float
                    long
                    f16
                    f32
                    f64
            Integer "Experiment Repetitions"
            Integer "Random Draws"
            "Random Generation Method"
                alternative
                    "Uniform Distribution"
                    "Uniform Distribution [0,1]"
                    "Naive Random Generator"
            "Operating System"
                alternative
                    Windows
                    MacOS
                    Linux
            "Algebraic Relation"
                or
                    Associativity
                    RelationWithPi
                    Inverses
                    // customRelation "Specify any custom relation"
            "Processor Type"
                alternative
                    CPU
                    GPU

        optional
            "Cross Compilation"
constraints
    C => double | float | long
    Rust => f16 | f32 | f64
    Windows => "Cross Compilation"
    CPU => !GPU
    GPU => !CPU
@h3ssto h3ssto added the enhancement enhancement or feature requests label Feb 15, 2024
@h3ssto
Copy link
Author

h3ssto commented Feb 15, 2024

Also, we should more gracefully handle opening models

@acherm
Copy link

acherm commented Feb 15, 2024

Thanks a lot!

I can imagine different visualization (physics of notation is a thing), like putting attributes as in class diagram, i.e., within the box of a feature, and in case the attribute is not associated to a feature, put it to the root.

A cool, temporary workaround could be to have an export in SVG... since SVG can be edited and customized owing to the (very) specific needs of a user.

@h3ssto
Copy link
Author

h3ssto commented Feb 15, 2024

Hi @acherm, by removing the extended stuff, you can already export the model as SVG, like this:
mathieu_example

Collapse and edit as you like, you can also auto-hide and change the distances.

If possible, could you share your amended SVG with us for inspiration?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement enhancement or feature requests
Projects
None yet
Development

No branches or pull requests

2 participants