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.

contributions from the several actors. Fig. 1 presents part of the<br />

SR model for MobileMedia [8], an SPL that will be used in this<br />

paper as a running example. The main purpose of MobileMedia<br />

is to manage media files in mobile devices.<br />

Figure 1. MobileMedia i* SR model<br />

The SR model in Fig 1 depicts two actors (“MobileMedia”<br />

and “User”) and their dependencies. “User” depends on<br />

“MobileMedia” to achieve the “Photo Added” goal and to<br />

obtain “Album” resource. It also expects that “MobileMedia”<br />

contributes to satisfy the “Integrity [Photo]” softgoal. On t he<br />

other hand, “MobileMedia” depends on “User” to obtain<br />

“Path”, “Photo” and “Name” resources and it expects “User” to<br />

contribute to the “Accuracy [Path]” softgoal.<br />

The boundary of the “MobileMedia” actor, shown in Fig. 1,<br />

provides information on how this actor can fulfill its<br />

dependencies and why it depends on other actors. The “Add<br />

Photo” task is a way to satisfy the “Manage Media” goal, thus<br />

these elements are linked by a means-end relationship. The<br />

“MobileMedia” will fulfill the “Photo Added” dependency<br />

through “Add Photo” task, which is d ecomposed in “Album<br />

Selected” and “List of Photos Updated” goals and the “Store<br />

Photo” task. “Store Photo” is decomposed in the “Quickness<br />

[Storage]” softgoal and the “Photo Saved” goal. The “Photo<br />

Saved” goal can be satisfied by “Save Automatically” task,<br />

which contributes positively (“help” contribution link) to<br />

satisfy the “Quickness [Storage]” softgoal, or by ”Save by<br />

User” task that contributes negatively (“hurt” contribution link)<br />

to the satisfaction of the same softgoal.<br />

To capture variability in SR models of SPLs, an extended<br />

version of i* has to be used. The i*-c (i* with cardinality)<br />

allows the insertion of cardinality in task and resource elements<br />

and also in means-end relationships [2]. This i* extension is<br />

used by G2SPL [3] approach to derivate feature models. Our<br />

approach is an extension of the G2SPL and, hence, it uses i*-c<br />

models to derive not only FMs, but use case scenarios as well.<br />

C. Scenarios for SPL<br />

PLUSS (Product Line Use case modeling for <strong>Systems</strong> and<br />

Software engineering) [9] is an SPL approach that combines<br />

feature models and use case scenarios. It captures both<br />

common and variable behavior of the SPL. In PLUSS, both use<br />

cases and scenario steps are annotated with the features to<br />

which they are related. During product configuration, desired<br />

features are selected in the FM, and their corresponding<br />

annotations, present on the use case scenarios, are used to<br />

configure these scenarios for a specific product. Thus, only use<br />

cases and scenario steps annotated with the selected features<br />

will be present on the product’s use case descriptions.<br />

III. GS2SPL<br />

GS2SPL is an RE approach for SPL in which the feature<br />

model and the use case scenarios of an SPL are obtained from<br />

i*-c goal models. The GS2SPL process is divided in eight<br />

activities, mostly are part of the Domain Engineering process<br />

and just the last one is part of Application Engineering process.<br />

The first four activities were inherited from G2SPL and,<br />

therefore, they will not be explained in details in this paper.<br />

Additional information about these activities can be found in<br />

[3]. The rest of the process consists on the addition of new<br />

activities or adaptations of G2SPL activities. The next subsections<br />

present all activities of GS2SPL:<br />

A. Creation of SR Model<br />

This activity consists of modeling the stakeholders’ goals<br />

using the i* framework. It is considered an optional activity if<br />

the SR model is already available. The output of this activity,<br />

for the running example, is depicted in Fig.1.<br />

B. Identification of Candidate Elements to be Features<br />

In this activity, the domain engineer identifies the elements<br />

of the SR Model that could represent features. Features may be<br />

extracted from tasks and resources. Therefore, all internal tasks<br />

and resources of the actor that represents the SPL should be<br />

highlighted, as w ell as t ask and resource dependencies<br />

connected to this actor.<br />

C. Reengineering the SR Model<br />

In this activity, cardinality is added to the SR model based<br />

on some heuristics defined in the G2SPL approach [3]. In<br />

summary, cardinality may be added to intentional elements and<br />

to means-end relationships in which the root element (end) has<br />

more than one sub-element (means). The output of this activity<br />

is an SR Model with cardinality, as the one shown in Fig. 2.<br />

Figure 2. MobileMedia i*-c SR model with feature candidates highlighted in<br />

grey<br />

D. Elaboration of the Feature Model<br />

This activity is c oncerned with the derivation of the SPL<br />

feature model (activity output). The input artifacts are some<br />

heuristics to elaborate the FM and the SR model with<br />

652

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

Saved successfully!

Ooh no, something went wrong!