Clemson CPSC 950 - A Semantic Web Approach

Unformatted text preview:

A Semantic Web Approach to Feature Modeling andVerificationHai Wang1Yuan Fang Li2Jing Sun3Hongyu Zhang4Jeff Pan11The University of Manchester, United Kingdom{hwang,pan}@cs.man.ac.uk2National University of Singapore, [email protected] University of Auckland, New [email protected] University, [email protected]. Feature models are widely used in domain engineering to capturecommon and variant concepts among systems in a particular domain. However,the lack of a formal semantics of feature models has hindered the developmentof this area. This paper presents a Semantic Web environment for modeling andverifying feature diagrams using ontologies. We use OWL DL (a decidable di-alect of OWL) to precisely capture the relationships among features in featurediagrams and configurations. OWL reasoning engines such as RACER are de-ployed to check for the inconsistencies of feature configurations fully automati-cally. As part of the environment, we also develop a CASE tool to facilitate thevisual development, interchange and reasoning of feature diagrams representedas ontologies.1 IntroductionDomain engineering is a software reuse approach that focuses on a particular applica-tion domain such as word processing, inventory management systems, etc. In domainengineering, we perform domain analysis and capture domain knowledge in the formof reusable software assets. By reusing the domain assets, an organization will be ableto deliver a new product in the domain in a shorter time and at a lower cost. In industry,domain engineering forms a basis for software product line practices [14].Feature modeling [3] plays an important role in domain engineering. Features areprominent and distinctive user visible characteristic of a system. Systems in a domainshare common features and also differ in certain features. In feature modeling, we iden-tify the common and variant features and capture them as a graphical feature diagram.Feature modeling is considered as “the greatest contribution of domain engineering tosoftware engineering” [3].Quite a number of feature-based reuse approaches have been proposed, such asFODA (Feature-Oriented Domain Analysis) [12], FORM (Feature-Oriented Reuse Method) [13]and FeatuRSEB [8]. However, due to the absence of a formal semantics of features andfeature modeling, there is no automated tool that can check the correctness of a partic-ular feature configuration based on the constraints specified in a feature model.Works in the description logics area also inspired us to apply Semantic Web tech-nologies to feature modeling. For instance, various description logics systems have beenapplied to solving complex configuration problems [17, 6] and verifying the consistencyof UML diagrams [1]. However, to our best knowledge, Semantic Web and ontologylanguages have not been applied to feature modeling problems before. Moreover, theSemantic Web approach that we adopt provides an semantic foundation and workingenvironment that facilitates model creation, verification, integration, maintenance, etc.Ontology languages such as OWL [11] play a key role in realizing the full potentialof Semantic Web as they prescribe how data are defined and related. We feel that thereis a strong similarity between Semantic Web ontology engineering and feature model-ing, both of which represent concepts in a particular domain and define how variousproperties relate among them. Hence, we believe that Semantic Web can play importantroles in domain engineering, and vice versa.In this paper, we explore the synergy of domain engineering and Semantic Web. Wepropose methods for transforming a feature model into an OWL DL ontology. Beingbased on XML, the OWL format facilitates storage and exchange of the feature models.We then use OWL reasoning engine such as RACER [10] to perform automated analysisover an OWL representation of the feature model. The analysis helps us detect possibleinconsistencies in feature configurations. We illustrate our approach using an exampleof the Graph Product Line (GPL) feature model, which is a standard problem proposedin [15] for evaluating product line technologies. Furthermore, we developed a CASEtool to facilitate visual development, reasoning and distribution of feature models in theSemantic Web environment.The remainder of the paper is organized as follows. In Section 2, we give a briefoverview of feature modeling and Semantic Web ontology languages and tools. Sec-tion 3 presents our proposal of feature model using OWL. We also show how SemanticWeb reasoning engines, can be used to perform automated analysis over the OWL rep-resentation of the feature configurations. In Section 4, we demonstrate the CASE toolwe developed to facilitate the visual creation and reasoning of feature models. Section 5concludes the paper and describes future work.2 Background Information2.1 Feature Modeling - PreliminaryConcepts & FeaturesFeature research has its root in conceptual modeling and cognitive science. In classicalconceptual modeling, we describe concepts by listing their features, which differentiateinstances of a concept. In software engineering, software features differentiate softwaresystems. Features of a software system are not only related to user-visible functionalrequirements, but also related to non-functional requirements (quality attributes), designdecisions, and implementation details. In domain engineering and software product linecontext, features distinguish different members of a product line. A product line canbe seen as a concept, and members of the product line can be seen as instances ofthe concept. Product line members share common features and also differ in certainfeatures.Feature Diagrams & Feature RelationsConceptual relationships among features can be expressed by a feature model as pro-posed in [12].Table 1. Features typesType NotationMandatoryCFOptionalCFAlternativeF1 F2COrF1 F2CA feature model consists of a feature diagram and other associated information(such as rationale, constraints and dependency rules). A feature diagram provides agraphical tree-like notation that shows the hierarchical organization of features. Theroot of the tree represents a concept node. All other nodes represent different features.Table 1 provides an overview of some commonly found feature types. The graphicalnotation introduced in [3] are used here. In Table 1, assuming the concept C is selected,we have the following definitions on


View Full Document
Download A Semantic Web Approach
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view A Semantic Web Approach and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view A Semantic Web Approach 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?