Catalog PyPI
Back to packageRELEASE DETAILS

1.0.3

PyPI

afmparser

This module provides a get_tree function to obtain an ANTLR4 parse-tree from a AFM-defined feature model

Published16 Oct 2023
Direct dependencies1
Transitive dependenciesNot calculated

README

Version 1.0.3 documentation

AFM-parser

This is an antlr4 implementation of the old fama plain-text format built from scratch, developed for retrocompatibility purposes.

%Relationships Home : ControlSystemLighting [AntiTheftAlarm] [MoviePlayer] [Internet] [Contents] [ADA] ;
ControlSystem:[1,2]CellPhone ControlPanel;
MoviePlayer:[1,3]{HDTV42in HDTV32in PCPlayer} ;
Internet:[1,4]{EthernetWiFi_n WiFi_bg Mobile3G } ;
Contents:[1,2]{VideoOnDemand DMS } ;
VideoOnDemand : [Cache] Providers ;
Providers : [1,2]ProviderA ProviderB ;
%Constraints
VideoOnDemand REQUIRES Internet ;
VideoOnDemand REQUIRES ADA ;
Cache REQUIRES DMS ;
PCPlayer REQUIRES CellPhone ;
AntiTheftAlarm REQUIRES ControlPanel ;
Model 1: Feature Model Example

Load Model 1 in FAMA console using the load command. In case you need help about the available commands, use help command or read the reference manual. The following table shows the results of executing the difeerent operations.

Operation Result

Valid Yes
#Products 4928
Commonality(CellPhone) 3696
Errors No error

If you want to see how FAMA behaves when an error is found, introduce at the end of Model 1 the constraint ControlPanel REQUIRES CellPhone;. The result is a model where CellPhone is a false-mandatory feature. It means that it is mandatory for any product despite of being modelled as optional. When we calculate Its commonality (the number of products where a feature appears in), it is equal to the total number of products. It is the sign of mandatory features:

Operation Result

Valid Yes
#Products 3696
Commonality(CellPhone) 3696
Errors False-mandatory: CellPhone
Explanations [CTC-6],[to-CellPhone-ControlPanel-rel]

%Relationships Home : ControlSystemLighting [AntiTheftAlarm] [MoviePlayer] [Internet] [Contents] [ADA] ;
ControlSystem:[1,2]CellPhone ControlPanel;
MoviePlayer:[1,3]{HDTV42in HDTV32in PCPlayer} ;
Internet:[1,4]{EthernetWiFi_n WiFi_bg Mobile3G } ;
Contents:[1,2]{VideoOnDemand DMS } ;
VideoOnDemand : [Cache] Providers ;
Providers : [1,2]ProviderA ProviderB ;
%Attributes
HDTV42in.ppp : [720,1080],0,0 ;
%Constraints
VideoOnDemand REQUIRES Internet ;
VideoOnDemand REQUIRES ADA ;
Cache REQUIRES DMS ;
PCPlayer REQUIRES CellPhone ;
AntiTheftAlarm REQUIRES ControlPanel ;
HDTV42in.ppp == 1080 IMPLIES Ethernet ;
Model 2: Model 1 extended with quality attributes

All credits to the original design corresponds to Jesús García Galán.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 1

Native requirements
1 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
antlr4-python3-runtime
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.0",
  "evaluation": "NOT_EVALUATED"
}
antlr4-python3-runtime ==4.13.1runtime

Distribution files

1 collected
afmparser-1.0.3-py3-none-any.whl

bdist_wheel · 29.53 KB · Python py3

Source file

Repository

PENDING
flamapy/afmparser

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:09 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:02b0a5de749beb513e0b185eb75c8fe5b8ac2aee2d63165472dd3eeab0408e0f

Other collected versions

View all collected versions →