10.3. Glossary

Configuration Space

The Configuration Space describes the set of Input Models for creating product variants. It also defines the transformation of variants.

Context Menu

A menu, which is customized according to the user interface item the user is currently pointing at (with the mouse). On Windows, Linux and MacOS X (with two or more mouse buttons), the right mouse button is usually configured to open the context menu. Under MacOS X (with single button mouse) the command key and then the mouse button have to be pressed (while still holding the command key) to open the context menu.

CSV

Comma Separated Value list. A simple text format often used to exchange spreadsheet data. Each line represents a table row, columns are separated with a comma character or other special characters (e.g. if the comma in the user's locale is used in floating point numbers like in Germany).

DOT

The name of a tool and its input format for automatic graph layouting. The tool is part of the GraphViz package available as open source from www.graphviz.org .

EBNF

Extended Backus-Naur Form. A common way to describe programming language grammars. The Backus-Naur Form (BNF) is a convenient means for writing down the grammar of a context-free language. The Extended Backus-Naur Form (EBNF) adds the regular expression syntax of regular languages to the BNF notation, in order to allow very compact specifications. The ISO 14977 standard defines a common uniform precise EBNF syntaxt.

Family Model

This model type is used to describe how the products in a product line will be assembled or generated from pre-specified components. Each component in a Family Model represents one or more functional elements of the products in the product line, for example software (in the form of classes, objects, functions or variables) or documentation. Family models are described in more detail in Section 5.4, “ Family Models ” .

Family Model Editor

The editor for Family Models. See Section 7.3.3, “ Family Model Editor ” for a detailed description.

Matrix Editor

The editor for Configuration Spaces. See Section 7.3.7, “ Matrix Editor ” for a detailed description.

Feature Model

This model type is used to describe the products of a product line in terms of the features that are common to those products and the features that vary between those products. Each feature in a Feature Model represents a property of a product that will be visible to the user of that product. These models also specify relationships between features, for example, choices between alternative features. Feature Models are described in more detail in Section 5.3, “ Feature Models ” .

Feature Model Editor

The editor for Feature Models. See Section 7.3.2, “ Feature Model Editor ” for a detailed description.

HTML

Hyper Text Markup Language.

Input Model

Input Models are the Feature and Family Models of a Configuration Space. They are added to a Configuration Space using the Configuration Space properties dialog. See Figure 6.15, “Configuration Space properties: Model Selection” for more information.

Link Element

Elements in models that represent links to VDMs or Configuration Spaces to create a variant hierarchy. See Section 6.2.1, “ Hierarchical Variant Composition ” for a detailed description.

Model Rank

The model rank is a positive integer that is used to control the order in which the models of a Configuration Space are evaluated. Models are evaluated from higher to lower ranks, i.e. models with rank 1 (highest) are evaluated before models with rank 2 or lower. The rank of a model is specific to a Configuration Space and can be set in the Configuration Space properties. The default rank is 1.

OCL

Object Constraint Language. A standardized declarative language for specifying constraints on UML models. See http://www.omg.org .

pvSCL

pure::variants Simple Constraint Language. A simple language to express constraints, restrictions and calculations.

UML

Unified Modeling Language. A standardized language for expressing software architectures and similar information. See http://www.omg.org .

URL

Uniform Resource Locator. A standardized format for expressing the type and location of a resource (i.e. a file or service access point). Most commonly used for referring to HTML pages on an HTTP web server (e.g. http://my.server.org/index.html)

Variant Description Model

This model type is used to describe the set of features of a single product in the product line. Taking the Input Models of a Configuration Space and making choices where there is variability in the Input Models creates these models. VDMs are described in more detail in Section 5.5, “ Variant Description Models ” .

Variant Result Model

This model is the result of evaluating the input models of a Configuration Space according to a given element selection (VDM). It represents a specific variant of the input models and is used as the input for the transformation. See Section 5.9.2, “ Variant Result Models ” for a detailed description.

VDM

Abbreviation of Variant Description Model.

VDM Editor

The editor for the pure::variants Variant Description Model. See Section 7.3.4, “ Variant Description Model Editor ” for detailed information about it.

VRM Editor

The editor for Variant Result Models. See Section 7.3.5, “ Variant Result Model Editor ” for a detailed description.

XML

eXtensible Markup Language. A simple standardized language for representing structured information. See http://www.w3.org .

XML Namespace

To provide support for independent development of XML markup elements (DTD/XML Schema) without name clashes, XML has a concept to provide several independent namespaces in a single XML document. See http://www.w3.org .

XMLTS

XML Transformation System. The name for the pure::variants transformation system for generating variants from XML based models.

XPath

XPath is part of the XML standard family and is used to describe locations in XML documents but also contains additional functions e.g. for string manipulation. XPath is heavily used in XSLT.

XSLT

XML Stylesheet Language Transformations. A standardized language for describing XML document transformation rules. See http://www.w3.org .