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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Third, we present the feature model of the graph editor by adding<br />

assertions (refer to the tutorial 5 for use ofprotégé).<br />

Last, we reason about feature model to verify its consistency and<br />

completeness by using reasoner and SPARQL.<br />

We get feature instances whose state is conflict by following<br />

SPARQL: "SELECT ?x WHERE {?x hasState conflict}"<br />

Case 1: Suppose ABox A={Feature(graphManipulate),<br />

Feature(graphDelete), Feature(graphSelect), hasState(graphDelete,<br />

bound), hasState(graphSelect,removed), require(graphDelete,<br />

graphSelect)}. Using SPARQL, we find two conflict feature instances<br />

graphDelete and graphSelect according to require-rule2, require-rule3<br />

and conflict-rule.<br />

Case 2: Suppose ABox A={ Feature(graphMove), DimFeature<br />

(movingMode) , hasState(movingMode,bound), hasMandatoryPart<br />

(graphMove, movingMode), DimFeature(graphDim), DimValue(2D),<br />

DimValue(3D), hasState(3D,bound), hasAlternativeValue<br />

(graphDim,2D), hasAlternativeValue(graphDim,3D), mutex<br />

(graphMove, 3D)}. Using SPARQL, we find three conflict feature<br />

instances 3D, graphMove and movingMode according to mutex-rule,<br />

require-rule3 and conflict-rule. Feature instances 3D, graphMove are<br />

conflict because they are mutually exclusive. The feature instance<br />

movingMode is conflict, because new assertion<br />

“hasState(movingMode,removed)” is derived according to requirerule3,<br />

the assertion is inconsistent with “hasState(movingMode,bound)”.<br />

By using reasoner, we can verify the consistency of feature model,<br />

or achieve new assertions to make the feature model more complete.<br />

V. RELATED WORK<br />

Current methods have some limitations. The relationship between<br />

features and constraints among them are similar but different. For<br />

example, the variation-variant features (in FeatuRSEB [3]) are<br />

equivalent to dimension-value features (in FODM [10]); and XORrelation<br />

(in FeatuRSEB) and alternative-relation (in Czarnecki’s<br />

proposal [13]) are similar. Furthermore, most proposals depict feature<br />

models in a grapy way by using slightly different notations. They are<br />

essential and easy to comprehension. However, they lack semantic, and<br />

this has led to the redundancy and confusion.<br />

Ontology-Oriented requirement analysis (OORA) [14] method<br />

enhances the object-oriented analysis and design. In FODM,<br />

propositional logic is selected separately to model and verify constraint<br />

relations. Kaiya et al [15] proposed a method of software requirements<br />

analysis based on ontologies, where inference rules is established to<br />

detect incompleteness and inconsistency in a specification. Peng et al [8]<br />

proposed an ontology-base feature meta-model supporting applicationoriented<br />

tailoring. Some constraints rules are introduced to validate<br />

constraints by ontology reasoning. Benavides et al [9] used constraint<br />

programming to model and reason on a SPL. The model need to be<br />

extended to support dependencies such as requires or excludes relation.<br />

To the best of our knowledge [16], there are only small numbers of<br />

proposals that treat automatic reasoning about feature models to verify<br />

the constraints. Many ontology-based approaches do not differentiate<br />

between feature meta-model and feature models.<br />

VI. CONCLUSIONS<br />

In this paper, we propose a DLs-based method to model feature:<br />

describing feature meta-model with concepts, roles, axioms and rules in<br />

TBox, while describing feature model with assertions in ABox. We can<br />

reason about the feature model to verify the consistency and<br />

completeness. A case study in graph editor domain shows that this<br />

method will be beneficial.<br />

The main features of this method are as follows: i) our feature<br />

model is compatible with the model that adopted by most of domain<br />

engineering methods. ii) The explicit semantic clarifies the similarity<br />

and differences among these methods. iii) Concrete feature models are<br />

instantiated in ABox, so it is convenient to perform running-time<br />

verification. Still there are some weaknesses: some non-functional<br />

features are not taken into considerations; how to elicit feature in a<br />

domain depends on expertise experience.<br />

ACKNOWLEDGMENT<br />

This research was supported by the National High-Tech R&D<br />

Program of China (No. 2009AA010307), and by Fundamental<br />

Research Funds for the Central Universities (No. NS<strong>2012</strong>022). We<br />

thank Prof. David Parnas, Jie Chen for their helpful suggestions.<br />

REFERENCES<br />

[1] K.C. Kang, S.G. Cohen, J.A. Hess, W.E. Novak, and A.S. Peterson. Feature-<br />

Oriented Domain Analysis Feasibility Study [R]. Technical Report(SEI-90-TR-21),<br />

CMU, 1990.<br />

[2] K.C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh. FORM: A Feature-<br />

Oriented Reuse Method with Domain-Specific Architecture [J]. Annals of<br />

Software Engineering, vol. 5, pp. 143-168, Sept. 1998.<br />

[3] M.L. Griss, J. Favaro, and M. d'Alessandro. Integrating Feature Modeling with the<br />

RSEB [C] //Proc of ICSR 1998, pp. 76-85,1998.<br />

[4] J.Bayer,O.Flege,P.Knauber,R.Laqua,D.Muthig,K.Schmid,T.Widen,and<br />

J.M. DeBaud. PuLSE: A Methodology to Develop Software Product Lines[C]<br />

//Proc of SSR'99, May 1999.<br />

[5] P. Clements, L.M. Northrop. Software Product Lines: Practices and Patterns [M].<br />

Addison-Wesley, 2001.<br />

[6] H. Wang, Y.F. Li, J. Sun, H. Zhang, and J. Pan. Verifying Feature Models using<br />

OWL. Journal of Web Semantics, 5:117–129, June 2007.<br />

[7] S. Fan and N. Zhang. Feature model based on description logics. In <strong>Knowledge</strong>-<br />

Based Intelligent Information and Engineering <strong>Systems</strong>, 10th Intl. Conf., KES,<br />

Part II, volume 4252 of Springer–Verlag, 2006.<br />

[8] X. Peng, W.Y. Zhao, Y.J. Xue, Y.J. Wu. Ontology-Based Feature Modeling and<br />

Application-Oriented Tailoring [C] //Proc of ICSR 2006. pp. 87-100, LNCS, 2006.<br />

[9] D. Benavides, P. Trinidad, and A. Ruiz-Cortes. Automated Reasoning on Feature<br />

Models. //Proc ofCAiSE 2005. pp.491-503, LNCS, 2005.<br />

[10] W. Zhang, H. Mei. A Feature-Oriented Domain Model and Its Modeling<br />

Process[J]. Journal of Software, 2003,14(8): 1345-1356(in Chinese).<br />

[11] W. Zhang, H.Y.Zhao, H. Mei, A Propositional Logic-Based Method for<br />

Verification of Feature Models, ICFEM 2004 (LNCS, 3308) , pp. 115-130,2004.<br />

[12] F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel-Schneider. The<br />

description logic handbook: theory, implementations and applications [M].<br />

Cambridge University Press, 2003.<br />

[13] K. Czarnecki and U.W. Eisenecker. Generative Programming: Methods,<br />

Techniques, and Applications.Addison–Wesley, may 2000.<br />

[14] R.Q. Lu, Z. Jin. Domain Modeling-Based Software Engineering: A Formal<br />

Approach [M]. KluwerAcademic Publishers, pp. 1-347, 2000.<br />

[15] H.Kaiya, M.Saeki. Using Domain Ontology as Domain <strong>Knowledge</strong> for<br />

Requirements Elicitation [C] //Proc of RE'06, pp. 189-198, IEEE C.S., 2006.<br />

[16] D. Benavides, S. Segura, A. Ruiz-Cortés: Automated analysis of feature models 20<br />

years later: A literature review. Information <strong>Systems</strong> 2010,35(6):615-636<br />

5 http://protege.stanford.edu/doc/users.html#tutorials<br />

425

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

Saved successfully!

Ooh no, something went wrong!