27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

hasOptionalPart hasPart<br />

hasMandatoryPart hasPart<br />

The role hasValue, which is sub-role of role hasPart, describes the<br />

relation between concept DimFeature and DimValue. The sub-role<br />

relation is defined in GRI axiom as:<br />

hasValue hasPart.<br />

Figure 3 depict the roles, and their inclusion relation.<br />

C. Constraints of the feature model<br />

Several methods proposed their own constraints of the model. E.g.,<br />

the semantic between vp-feature and variant features in FeatuRSEB [3]<br />

is somewhat similar to the one between dimension feature and value<br />

features in FODM [10]. However, the “require”, “mutual exclusion” in<br />

FODA [1], and “OR”, “XOR” constraints in FeatuRSEB are redundant<br />

and easy to cause confusion among different methods. In this paper, we<br />

define roles require and mutex, to describe the dependency and mutual<br />

exclusion constraints respectively (see Figure 3).<br />

We define a role hasAlternativeValue, which is sub-role of role<br />

hasValue,to indicate the mutual exclusion constraints.<br />

hasAlternativeValue hasValue.<br />

We use DLs to describe the semantic of constraints between<br />

features. The rules are defined in DLs knowledge base.<br />

Alternative-Rule: f1f2f3 DimFeature(f1)DimValue(f2)<br />

DimValue(f3)hasAlternativeValue(f1,f2)hasAlternativeValue(f1,f3)<br />

mutex(f2,f3)<br />

Mutex-Rule:f1f2 Feature(f1)Feature(f2) hastate(f1,bound)<br />

mutex(f1,f2) hasState(f2, removed)<br />

The alternative-rule indicates that f2 and f3 are mutually exclusive.<br />

The mutex-rule means that f1 and f2 are instances of Feature,and<br />

they are mutually exclusive, if f1 is bound,then f2 must be removed.<br />

The role hasMandatoryPart expresses the dependency constraint<br />

implicatively. That is, feature instance f1 has a mandatory child feature<br />

f2 means that f2 depends on f1 (see require rule1). If f2 is bound, then f1<br />

must be bound (see require rule2). If f1 is removed, then f2 must be<br />

removed (see require rule3).<br />

Require-Rule1: f1f2 Feature(f1) Feature(f2)<br />

hasMandatoryPart (f1, f2) require(f2, f1)<br />

Require-Rule2: f1f2 Feature(f1) Feature(f2)<br />

hasState(f2,bound) require(f2, f1) hasState(f1,bound)<br />

Require-Rule3: f1f2 Feature(f1) Feature(f2) <br />

hasState(f1,removed) require(f2, f1) hasState(f2,removed)<br />

D. Reasoning about model for its verification<br />

There are some basic inference issues considered in the reasoning<br />

about consistency and completeness of feature model. In order to<br />

reason about consistency, we define the state conflict by using the<br />

following conflict rule, which indicated that a feature instance f1 has the<br />

two states bound and removed at the same time, then f1 has the state<br />

conflict.<br />

Conflict-Rule: f1 Feature(f1) hasState(f1,bound) <br />

hasState(f1,removed) hasState(f1,conflict)<br />

Definition 1. consistency<br />

For knowledge base K=(T,A), the ABox A, in which the feature<br />

model is described, is consistent with respect to (w.r.t.) the TBox T if<br />

there is no state conflict.<br />

Definition 2. completeness<br />

For K=(T,A), the ABox A, in which the feature model is described,<br />

is complete w.r.t. the TBox T if all the assertions necessary are included.<br />

IV. CASE STUDY<br />

We take the graph editor system as an example, and analyze its<br />

feature modeling and verification based on DLs. The graph editor is<br />

used for manipulating and displaying graphs in domains such as<br />

CAD/CAM. It is a relatively simple, easy to understand domain system.<br />

A. Semantic model of graph editor<br />

Though the notations of the graphs have different semantic, we can<br />

abstract features, which can be shared among all graph software.<br />

In graph editor, graph manipulation is a key function; it controls the<br />

lower level functions such as graph addition, selection, deletion,<br />

moving and composition. These lower level functions are bound in<br />

reuse time, and graph composition is optional. Figure 1 depicts its<br />

typical feature model.<br />

B. Reasoning about feature model of graph editor<br />

Figure 4.<br />

Feature meta-model definition in Protégé.<br />

We adopt Protégé3.4.4 2 as OWL editor, Jena 3 as ontology API.<br />

Jena is a Java framework for ontology application. It provides a<br />

programmatic environment for OWL, query language SPARQL 4 and<br />

includes a rule-based inference engine and SPARQL query engine.<br />

First, we create the feature meta-model according to the DLs-based<br />

modeling method (see Section 3.2) in Protégé. That is, we define the<br />

concepts, roles and constraints (see Figure 4).<br />

Second, we use rule language to describe all rules.<br />

2 http://protege.stanford.edu/<br />

3 http://jena.sourceforge.net/<br />

4 http://www.w3.org/TR/rdf-sparql-query/<br />

424

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!