The Pure::Variants adapter allows to access elements from the feature model and the family model of Pure::Variants. Properties of the original artifacts can be mapped to ANALYZE attributes. The adapter supports link extraction from the original model based on the natural relation of the model elements and reads their hierarchy.
The data access allows to restrict the resources that should be considered by the adapter.
Open the ANALYZE configuration with the ANALYZE configuration editor, and add a new data access as described in section "Data accesses". Select Pure::Variants as data access type.
The configuration panel allows to define which files and folders the adapter should consider for data extraction.
Supported keywords:
Sample configuration for a single project :
resource "*.vdm"
resource "*.xfm"
resource "*.ccfm"
The example above will consider any .vdm file and any .xfm and .ccfm files.
The Pure::Variants adapter allows for flexible artifact configuration to specify which artifacts ANALYZE should import from the Pure::Variants data access. It also allows to define custom attributes and to map them to native attributes.
Open the ANALYZE configuration with the ANALYZE configuration editor, and add a new artifact type as described in section "Artifact types". Select your previously-configured "Pure::Variants data access"
The configuration panel allows to define which native Pure::Variants artifacts should be included, based on their attributes and properties. The configuration language offers content assist to guide through the different options. In case no explicit configuration is supplied, all artifacts for the type in the scope of the data access are included.
Supported keywords:
Example:
include elements if (
valueOf (type) == "ps:family"
|| valueOf (type) == "ps:component"
)
name valueOf ("name") + " visible: " + valueOf (vname) + "(" + valueOf(type) + ")"
map{
visualType to valueOf(vtype)
activeValue to valueOf(value)
ownRestrictions to valueOf(restrictions)
ownAndChildrestrictions to valueOf(allRestrictions)
propertyValue to property("Value")
}
The example above will load all elements that are of
type
"ps:family" or of
type
"ps:component".
The name of the artifact is set to the value of the
"name" attribute followed by
" visible: " followed by the visible name (
vname) and the
type of the element.
Finally the
map block is used to map attributes of the element to ANALYZE attributes. In this case, the ANALYZE attribute
visualType is read from the
vtype of the element and so on.
The Pure::Variants adapter allows to derive links based on the relation of model elements.
Open the ANALYZE configuration with the ANALYZE configuration editor, and add a new link type as described in section "Configuring a link type".
Supported keywords:
Example:
include relation if (
valueOf(class) != "ps:parent" &&
valueOf(type) == "ps:alternative"
)
map {
classifier to valueOf("class")
}
The example above will derive links from any feature where a link with type "ps:alternative" exists, to the alternatives. All "ps:parent" relations are ignored.
An artifact’s version is used for suspicious links validation. Artifacts of this type do not provide a version.
Selecting an artifact will open the element in pure::variants and any selected element in the feature or family model is recognized by ANALYZE, if configured.