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.

It means that throughout the development process, we have<br />

to identify and describe where the products created by the<br />

product line may differ in terms of the features they provide,<br />

the requirements they fulfill, or even in terms of the underlying<br />

architecture [5]. This flexibility is called variability and it is the<br />

basis for the software product line engineering since it<br />

represents the difference in each product produced by the<br />

Software Product Line.<br />

Different models have been proposed for specifying<br />

Software Product Line, features models proposed in Feature-<br />

Oriented Domain Analysis (FODA) approach [6] is one of the<br />

most used [7]. Product line scoping is also an important phase<br />

in product line engineering to d ecide not only what products to<br />

include in a product line but also whether or not an<br />

organization should launch the product line [8]. One approach<br />

for product line scoping is product m ap [9] for selecting a<br />

subset of products to be created by the product line . The<br />

inspection techniques proposed use feature models and product<br />

map. These m odels are further discussed in the following<br />

sections.<br />

A. Feature Models<br />

Feature models are hierarchi cal models that capture the<br />

commonality and variability of a Product Line. This feature -<br />

oriented concept is based on the emphasis placed by the<br />

method on identifying those featur es a user commonly expects<br />

in applications domain.<br />

The feature concept used for modeling the feature models is<br />

that it is a prom inent distinctive user-visible aspect, quality, or<br />

characteristic of software system [6]. The purpose of the<br />

feature model is to represent the general capabilities for the<br />

applications in the domain.<br />

Feature Models are created using m andatory, optional,<br />

alternatives and or features. The m andatory features represent<br />

the features, which must be c ontained in every product created<br />

by the product line. The optional features represents the<br />

features which can be contained or not in the prod uct from the<br />

SPL. Alternative features repres ent an alternative betw een two<br />

or more others features so th at only one of them must be<br />

contained in products from the SPL. And or features represent<br />

an alternative betw een two or m ore features in w hich at least<br />

one of them must be contained in the products from the SPL.<br />

The feature m odels also have constraints elem ents:<br />

implication and exclusion. Th e implication notation im plies<br />

that if one feature is selected , some other feature must be<br />

selected as well. The exclusion constraint indicates that two<br />

features must not be selected in the sam e product so they are<br />

mutually exclusive.<br />

B. Product Map<br />

The selection of optional or alternative features is not m ade<br />

arbitrarily. It is usually made based on a number of objective s<br />

or concerns that the end-user (and customer) has [6]. The<br />

product map [9] aims to complement the feature model by<br />

specifying the products, which are compliant with the software<br />

requirements.<br />

The product map lists all features available in the y-axis and<br />

the products specified by the requirements in the x-axis. Every<br />

product in the x-axis matches a list of features according to the<br />

software product line requirements. Then the software product<br />

line only creates the products specified in the requirements.<br />

III. SOFTWARE PRODUCT LINE INSPECTION TECHNIQUE<br />

A Software Product Line creates a set of products sharing<br />

common features and features which differs from product to<br />

product. Therefore, it is im portant to assure the quality of their<br />

models, as they specify several products. A mapping study [10]<br />

was conducted to obtain evidence about quality assurance<br />

techniques for SPL models. M apping studies [10] are a formal<br />

process that uses a methodology to identify all research related<br />

to a specific topic [10]. U nlike informal literature review s,<br />

mapping studies uses a scientific rigorous approach to assert an<br />

efficient survey of the current knowledge.<br />

The databases used for this mapping study were the IEEE<br />

Xplore, ACM Digital Library and Scopus. Our formal process,<br />

as well as all selected studies, is described in a Technical<br />

Report [11]. The initial search returned a total of 841 papers, as<br />

described in Table I. After the first filter, in w hich the title and<br />

abstract from the selected papers were analyzed, it has been<br />

filtered to 90 papers. In the second filter, it w as also analyzed<br />

the introduction and conclusion from papers selected after the<br />

first filter, resulting a total of 27 papers about quality assurance<br />

techniques for SPL models.<br />

The data extracted presented that 23 (85% ) papers used<br />

model checking techniques, 3 (11% ) used ontologies for<br />

modeling and model checking and code inspections were<br />

presented in 2 papers (7%). Although the benefits of inspection<br />

techniques [3] and the need for inspections tailored for SPL [4],<br />

no inspection technique for assuring quality for softw are<br />

product line models was identified [11].<br />

TABLE I.<br />

Database<br />

PAPERS SELECTED IN THE MAPPING STUDY<br />

Papers<br />

returned for<br />

the 1 st filter<br />

Papers<br />

selected after<br />

the 1 st filter<br />

Papers<br />

selected after<br />

the 2 nd filter<br />

IEEE Xplore 88 22 5<br />

ACM Digital<br />

Library<br />

482 28 10<br />

Scopus 271 40 12<br />

We have proposed a set of checklist based techniques,<br />

named Software Product Line Inspection Techniques (SPLIT),<br />

for verifying feature models and product map in comparison<br />

with themselves and the software requirem ents specification.<br />

The software requirem ent specification needs to enum erate<br />

functional and non-functional requirem ents and the products<br />

created by the software product line and its constraints. An<br />

overview of SPLIT is presented in Figure 1:<br />

658

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

Saved successfully!

Ooh no, something went wrong!