next up previous contents
Next: Interpretation of Constraints Up: The Constraint Language Previous: Feature Description

Feature Graphs

The semantics of -constraints will be defined with respect to the domain of feature graphs. A feature graph is a finite, rooted, connected and directed graph for which the following properties must hold :

For example, figure 3.1 shows two possible dgs for the -constraint:

tabular1178

   figure1182
Figure 3.1: The left dg tex2html_wrap_inline10603 directly mirrors the set of atomic constraints expressed in the example -constraint, and the right dg tex2html_wrap_inline10607 bears additional constraints. Hence, it is more informative than the left one.

Formally, a feature graph is defined as follows (cf. [Smolka1992]) where xfs is called an f-edge (with tex2html_wrap_inline11113 , tex2html_wrap_inline11115 , and tex2html_wrap_inline11117 ):

Thus, variables are labels of nodes, features are labels of edges, and constants are the terminal nodes of a feature graph, since no edge can leave a constant node.

A feature graph G is called a subgraph of a feature graph G' if the root of G is a variable or a constant occurring in G' and every edge of G is an edge of G'. For example,

picture1596

is a subgraph of the dg tex2html_wrap_inline10603 of figure 3.1. The subgraphs of a feature graph G are partially ordered by

tex2html_wrap_inline11171 tex2html_wrap_inline11173 G' is a subgraph of tex2html_wrap_inline11177

For example, for the subgraphs of tex2html_wrap_inline10603 of figure 3.1 given in figure 3.2 it holds that tex2html_wrap_inline11181 , tex2html_wrap_inline11183 , tex2html_wrap_inline11185 .

   figure1618
Figure 3.2: Some of the sub-dgs of the dg tex2html_wrap_inline10603 given in figure 3.1

According to [VanNoord1993] we define the traversal of a given feature graph and a given path as follows: For tex2html_wrap_inline11221 a path, and G a feature graph, and x a node of G, define x/p to be a node in G as follows: If k=0, then x/p = x. Otherwise, tex2html_wrap_inline11235 , if there exists an tex2html_wrap_inline11237 -edge tex2html_wrap_inline11239 (otherwise, x/p is undefined). We will use the notation G/p to mean tex2html_wrap_inline11245 for tex2html_wrap_inline11127 the root node of G.

If G is a feature graph and s is a constant or variable in G, then tex2html_wrap_inline11257 denotes the unique maximal subgraph of G whose root is s. For a feature graph G and a path p, tex2html_wrap_inline11267 denotes the subgraph tex2html_wrap_inline11257 , if G/p = s is defined.

For example the subgraph tex2html_wrap_inline11273 of the graph tex2html_wrap_inline10603 of figure 3.1 (i.e., the unique maximal subgraph of tex2html_wrap_inline10603 with root node tex2html_wrap_inline10999 ) is denoted by the expression tex2html_wrap_inline11281 .


next up previous contents
Next: Interpretation of Constraints Up: The Constraint Language Previous: Feature Description

Guenter Neumann
Mon Oct 5 14:01:36 MET DST 1998