Overview

This is a presentation of the Feature Model Parameters Meta Model and the associated views(Parameters and Check Consistency). It also provides a configuration example and example meta models with descriptions of the logic behind them.


Prerequisites


Feature Model Parameters - Meta Model

This models lets the user connect parameters to the feature model. A parameter’s values can depend on a feature family meaning that the parameter should have one value for each feature within that feature family.

A parameter can have a relation to a feature family meaning that the parameter should have a value for each feature in the feature family. Parameters can also be independent, not having a relation to a feature family. These parameters should only have one value.



Values for the parameters are added in a parameter list. The “Parameters” part adds parameters to the list. The “Parameter values” part adds values to parameters.

The RefObj of the “Parameter values” part identifies what feature the parameter value is valid for.



Configuration

The Feature parameter views are configured using feature configuration in “Configure the explorer”.


Here follows a configuration example:


<ParameterFeatureConfig>

  <FeatureModelItem>10FM</FeatureModelItem>

  <FeatureFamilyItem>10FV</FeatureFamilyItem>

  <FeatureItem>10FE</FeatureItem>

  <FeaturesPart>10IVA</FeaturesPart>

  <FeatureFamiliesPart>10IVP</FeatureFamiliesPart>

  <FeatureVariationPart>10IFP</FeatureVariationPart>

  <FeatureModelPath>/10IFM</FeatureModelPath>

  <FeatureContextPath>/back::PALI</FeatureContextPath>

  <HintContextPath>PALI</HintContextPath>

  <IncludedParamPath>/2IPG</IncludedParamPath>  

  <ValueUiMessage>Feature: </ValueUiMessage>

</ParameterFeatureConfig>


The first part of the configuration configures the feature model connected to the parameter model.



<ParameterFeatureConfig>

  <FeatureModelItem>10FM</FeatureModelItem>

  <FeatureFamilyItem>10FV</FeatureFamilyItem>

  <FeatureItem>10FE</FeatureItem>

  <FeaturesPart>10IVA</FeaturesPart>

  <FeatureFamiliesPart>10IVP</FeatureFamiliesPart>

  <FeatureVariationPart>10IFP</FeatureVariationPart>

  <FeatureModelPath>/10IFM</FeatureModelPath>

  <FeatureContextPath>/back::PALI</FeatureContextPath>

  <HintContextPath>PALI</HintContextPath>

  <IncludedParamPath>/2IPG</IncludedParamPath>  

  <ValueUiMessage>Feature: </ValueUiMessage>

</ParameterFeatureConfig>


<FeatureModelPath> specifies how to get form the top item type to the feature model.


<ParameterFeatureConfig>

  <FeatureModelItem>10FM</FeatureModelItem>

  <FeatureFamilyItem>10FV</FeatureFamilyItem>

  <FeatureItem>10FE</FeatureItem>

  <FeaturesPart>10IVA</FeaturesPart>

  <FeatureFamiliesPart>10IVP</FeatureFamiliesPart>

  <FeatureVariationPart>10IFP</FeatureVariationPart>

  <FeatureModelPath>/10IFM</FeatureModelPath>

  <FeatureContextPath>/back::PALI</FeatureContextPath>

  <HintContextPath>PALI</HintContextPath>

  <IncludedParamPath>/2IPG</IncludedParamPath>  

  <ValueUiMessage>Feature: </ValueUiMessage>

</ParameterFeatureConfig>


<FeatureContextPath>specifies how to get from the parameter list to the top item holding the feature model. HintContextPath works the same way as for using script language parameters.


<ParameterFeatureConfig>

  <FeatureModelItem>10FM</FeatureModelItem>

  <FeatureFamilyItem>10FV</FeatureFamilyItem>

  <FeatureItem>10FE</FeatureItem>

  <FeaturesPart>10IVA</FeaturesPart>

  <FeatureFamiliesPart>10IVP</FeatureFamiliesPart>

  <FeatureVariationPart>10IFP</FeatureVariationPart>

  <FeatureModelPath>/10IFM</FeatureModelPath>

  <FeatureContextPath>/back::PALI</FeatureContextPath>

  <HintContextPath>PALI</HintContextPath>

  <IncludedParamPath>/2IPG</IncludedParamPath>  

  <ValueUiMessage>Feature: </ValueUiMessage>

</ParameterFeatureConfig>


<IncludedParamPath> specifies how to find the included parameters from the parameter list. The part for adding parameter values are hard coded from the parameter list.


<ParameterFeatureConfig>

  <FeatureModelItem>10FM</FeatureModelItem>

  <FeatureFamilyItem>10FV</FeatureFamilyItem>

  <FeatureItem>10FE</FeatureItem>

  <FeaturesPart>10IVA</FeaturesPart>

  <FeatureFamiliesPart>10IVP</FeatureFamiliesPart>

  <FeatureVariationPart>10IFP</FeatureVariationPart>

  <FeatureModelPath>/10IFM</FeatureModelPath>

  <FeatureContextPath>/back::PALI</FeatureContextPath>

  <HintContextPath>PALI</HintContextPath>

  <IncludedParamPath>/2IPG</IncludedParamPath>  

  <ValueUiMessage>Feature: </ValueUiMessage>

</ParameterFeatureConfig>


<ValueUiMessage> sets the user interface label for the feature.


<ParameterFeatureConfig>

  <FeatureModelItem>10FM</FeatureModelItem>

  <FeatureFamilyItem>10FV</FeatureFamilyItem>

  <FeatureItem>10FE</FeatureItem>

  <FeaturesPart>10IVA</FeaturesPart>

  <FeatureFamiliesPart>10IVP</FeatureFamiliesPart>

  <FeatureVariationPart>10IFP</FeatureVariationPart>

  <FeatureModelPath>/10IFM</FeatureModelPath>

  <FeatureContextPath>/back::PALI</FeatureContextPath>

  <HintContextPath>PALI</HintContextPath>

  <IncludedParamPath>/2IPG</IncludedParamPath>  

  <ValueUiMessage>Feature: </ValueUiMessage>

</ParameterFeatureConfig>


Views

The views part of the feature model parameters are:

  • Parameters
  • Check consistency


To set values to a parameter:

  1. Create the parameter in the parameter list
  2. Set the data dimension of the parameter
  3. Add any relation to the feature model
  4. Add parameter values in the Parameters view


Add parameters to the Parameter list.



Set the data dimension of the parameter.




Copy a feature family and add to the feature family.



To add values, use the “Parameters” view. The view is active on individual parameters and the parameter list. The view shows one tab for each feature family. The parameters related to a feature family are shown in the tab. For each feature in the feature family a value can be added.



The “Check consistency” view checks the validity of the parameter model. It identifies incorrect parts etc.