<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Goals and Scenarios for Requirements Engineering of Software Product Lines</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gabriela Guedes</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Carla Silva</string-name>
          <email>carla@dce.ufpb.br</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jaelson Castro</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Centro de Informática - Universidade Federal de Pernambuco (UFPE) CEP 50740-540</institution>
          ,
          <addr-line>Recife/ PE -</addr-line>
          <country country="BR">Brasil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Departamento de Ciências Exatas, Centro de Ciências Aplicadas e Educação Universidade Federal da Paraíba (UFPB) - CEP 58297-000</institution>
          ,
          <addr-line>Rio Tinto/ PB -</addr-line>
          <country country="BR">Brasil</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2011</year>
      </pub-date>
      <fpage>108</fpage>
      <lpage>113</lpage>
      <abstract>
        <p>Goal-oriented requirements engineering (GORE) approaches offer a natural way to capture similarities and the variability in software product lines (SPLs) development. Besides, they can effectively capture both the stakeholders' objectives and the system requirements. From i* models, for example, it is possible to systematically obtain feature models. To complement the requirements specification of SPLs, their behavioral characteristics can be captured by using a scenario specification technique. This paper presents a process. An extension of i* that includes cardinality is used in connection with feature models and a use case scenarios to support the requirements engineering phase in SPLs development. This process also includes activities to aid the configuration of requirements artifacts for a specific product in the SPL. The paper also presents the case study being used to illustrate the proposed process.</p>
      </abstract>
      <kwd-group>
        <kwd>Requirements Engineering</kwd>
        <kwd>Software Product Lines</kwd>
        <kwd>Goal Orientation</kwd>
        <kwd>Feature Model</kwd>
        <kwd>Scenarios</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Requirements Engineering (RE) is the phase of software development concerned with
producing a set of software systems specifications that satisfy the stakeholders needs
and can be implemented, deployed and maintained [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        In RE for Software Product Lines (SPL), feature models are used to capture
similarities and the variability of product families. However, according to Borba and
Silva [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] it is a great challenge to establish a relationship between features of a
software product and the objectives of the stakeholders. In this context, we proposed a
Goal-Oriented Requirements Engineering (GORE) approach that provides a
systematic way to discover the features that will be part of a SPL and also allows the
systematic selection of the features for a particular product [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        It is worth to complement the requirements specification obtained with this GORE
approach. The dynamic aspect of a SPL may be described by a scenario specification
technique. Scenarios describe the behavior of the system functionality and are widely
used in requirements engineering because they are easily understood by stakeholders
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In this paper, we present a process that integrates a GORE approach for SPL,
feature modeling and a scenario specification technique.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 Objectives of the Research</title>
      <p>
        Many goal-oriented approaches were proposed to model requirements variability in
SPL [
        <xref ref-type="bibr" rid="ref5 ref6 ref7 ref8">5, 6, 7, 8</xref>
        ]. A comparison of these approaches was presented in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and
motivated the definition of the G2SPL (Goals to Software Product Lines) approach
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. It relies on the i*-c (i* with cardinality) language, which is used to (i) structure
requirements according to the stakeholders intentions for the SPL, (ii) facilitate the
gathering of the features that define the SPL and (iii) aid the configuration of an
individual product.
      </p>
      <p>
        In SPL, specifying non-trivial features can cause the scattering of the SPL variation
points on the line’s artifacts. Moreover, some feature specifications combine, in their
artifacts, information from the SPL variants and the product configuration. The
scattering and tangling of features related concerns can also be observed in the
scenario specifications of the SPL. These concerns are, therefore, crosscutting and
may compromise the maintainability and understanding of the SPL artifacts [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>Crosscutting concerns are requirements which may impact multiple modules or
components. Thus, the crosscutting concerns (representing functional or
nonfunctional requirements) are properties that affect various parts of the system. The
importance of their proper handling is evident. We must take into account the way in
which the crosscutting concerns interact with other concerns, otherwise there is the
risk that the nature of these interactions only becomes clear in later stages of software
development. This can cause a higher cost in solving problems related to the system
evolution and maintenance [10].</p>
      <p>
        One of the studies concerned with the separation of crosscutting concerns in
scenario specifications is the technique MSVCM (Modeling Scenario Variability as
Crosscutting Mechanisms) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. This technique improves the separation of concerns
between the variability management and the scenario specifications of the SPL. It
deals with scenario variability as a composition of different artifacts such as use case
specifications, feature models, product configuration and configuration knowledge.
      </p>
      <p>
        Another study that is concerned with the separation of crosscutting concerns in
scenario specifications is MATA (Modeling Aspects using a Transformation
Approach) [10]. MATA is an aspect-oriented modeling approach that uses graph
transformations for specifying and composing aspects. Scenario specification in
MATA is performed as follows: a non aspectual base scenario may be specified by a
sequence diagram, while an aspectual scenario is described by a sequence diagram
enhanced with roles. These roles work as variables that must be instantiated when the
aspectual scenario and the base scenario are composed. Recently, MATA was
integrated with a GORE approach to obtain a systematic identification of crosscutting
concerns in the use case scenario specification [
        <xref ref-type="bibr" rid="ref10">11</xref>
        ].
      </p>
      <p>This paper proposes the definition of a RE process for SPL that integrates a GORE
technique and a scenario specification technique with separation of crosscutting
concerns. In particular, we are extending the G2SPL approach to include activities
related to the generation and configuration of scenarios specifications for SPL.</p>
    </sec>
    <sec id="sec-3">
      <title>3 Scientific Contributions</title>
      <p>
        The extended G2SPL process, shown in Fig. 1, was modeled using the BPMN
(Business Process Modeling Notation) [
        <xref ref-type="bibr" rid="ref11">12</xref>
        ]. It consists of eight activities, explained as
follows:
1. Creation of the SR (Strategic Rational) Model: this activity consists of
modeling the stakeholders’ goals using i* framework. The output of this
activity is a SR Model.
2. Identification of the Candidate Elements to be Features: in this activity, the
Domain Engineer identifies the elements of the SR Model that could represent
features. According to Silva et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], features can be extracted from Tasks
and Resources.
3. Reengineering the SR Model: in this activity, cardinality is added to the SR
model. Restructuring is based on some heuristics tailored for i*-c language [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        The output is a SR Model with cardinality.
4. Elaboration of the Feature Model: this activity is concerned with the derivation
of the Feature Model of a SPL. The input artifacts are some heuristics and the
SR Model with cardinality and the output is the Feature Model.
5. Reorganization of the Feature Model: this activity is considered optional. If
the feature model has repeated features, sub-features with more than one father
or different features with the same meaning, reorganization is required. This
activity can be performed as many times as the domain engineer believes it is
necessary [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
6. Elaboration of the Use Case Scenarios: the SPL use case scenarios are
specified according to an adaptation of the guidelines defined by Castro et al.
[
        <xref ref-type="bibr" rid="ref12">13</xref>
        ]. This activity uses the SR Model with cardinality as input and the output
is the use case scenarios of the SPL.
7. Generation of Use Case Scenarios with Separation of Crosscutting Concerns:
in this activity, both the use case scenario specification and the feature model
are used to generate use case scenarios with separation of crosscutting
concerns. In order to accomplish this, we should choose between the MSVCM
(Modeling Scenario Variability as Crosscutting Mechanisms) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and the
MATA (Modeling Aspects Using a Transformation Approach) techniques
[10].
8. Configuration of the Product Artifacts: the purpose of this activity is the
derivation of the artifacts for a specific product of the SPL. The outcomes of
this activity are the use case scenario description, the configuration model
(containing the chosen features) and the SR model of a particular product.
3.1 Case Study
      </p>
      <p>
        We chose the Motorola TaRGeT (Test and Requirement Generation Tool) project
[
        <xref ref-type="bibr" rid="ref13">14</xref>
        ] as our case study. TaRGeT is a SPL whose products are tools that automatically
generate tests suites from scenario specifications written in a given template. In this
case, the productivity is increased, since it is only necessary to generate Tests Suites
from the Scenarios Description.
      </p>
      <p>The SR model of TaRGeT SPL is shown in Fig. 2. Note that we are using the i*-c
notation to represent some optional elements. The optional elements are “Detect
Scenario Changes and Update Test Cases” and “Verify Scenarios Syntactically” tasks,
since they have cardinality [0..1]. The tasks involved in means-end relationships are
optional too.</p>
    </sec>
    <sec id="sec-4">
      <title>4 Conclusions</title>
      <p>We presented a process to support RE of SPL in regard of the elaboration of
requirements artifacts. The proposed process aims to (i) provide the development of
more complete requirements artifacts, (ii) enable the systematic construction of model
features, (iii) allow the systematic generation of artifacts (goal models, feature models
and scenarios specification) for a specific product, and (iv) support the systematic
configuration of the artifacts of a product.</p>
      <p>Regarding to the case study, we have performed the first three activities of the
process and, as a result, we have produced the TaRGeT SR Model (see Fig.2).</p>
    </sec>
    <sec id="sec-5">
      <title>5 Ongoing and Future Work</title>
      <p>
        So far, we have held meetings with members of TaRGeT project for requirements
elicitation and validation purposes. Currently, we are carrying out the remaining
activities of the process. As future work, we suggest the development of a tool to
support the whole process, since only two activities have tool support (“Creation of
the SR Model” and “Elaboration of the Use Case Scenarios”) [
        <xref ref-type="bibr" rid="ref14 ref15">15, 16</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lamsweerde</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Goal-Oriented Requirements Engineering: A Guided Tour</article-title>
          .
          <source>In: RE '01: Proceedings of the Fifth IEEE International Requirements Engineering Conference</source>
          . Washington, DC, USA. IEEE Computer Society, p.
          <fpage>249</fpage>
          -
          <lpage>263</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Borba</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A comparison of goal-oriented approaches to model software product lines variability</article-title>
          .
          <source>In: LNCS</source>
          , Vol.
          <volume>5833</volume>
          , pp.
          <fpage>244</fpage>
          -
          <lpage>253</lpage>
          , Springer-Verlag,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borba</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A Goal Oriented Approach to Identify and Configure Feature Models for Software Product Lines</article-title>
          .
          <source>In: Proc. of the WER'11</source>
          , Rio de Janeiro,
          <string-name>
            <surname>Brazil</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Maiden</surname>
            ,
            <given-names>N</given-names>
          </string-name>
          , Alexander,
          <string-name>
            <surname>I.</surname>
          </string-name>
          : Scenarios, Stories, Use Cases:
          <source>Through the Systems Development Life-Cycle</source>
          . 1 ed.,
          <source>Wiley</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leite</surname>
            ,
            <given-names>J.C.S.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Configuring features with stakeholder goals</article-title>
          .
          <source>In: Proc. of the ACM SAC'08</source>
          ,
          <string-name>
            <surname>Fortaleza</surname>
          </string-name>
          , Brazil, pp.
          <fpage>645</fpage>
          -
          <lpage>649</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Mussbacher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Amyot</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araújo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moreira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <article-title>Modeling Software Product Lines With AoURN</article-title>
          .
          <source>In: Ws on Early Aspects at AOSD'08</source>
          , Brussels, Belgium. ACM (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alencar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araújo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moreira</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
          </string-name>
          , J.:
          <article-title>Tailoring an Aspectual GoalOriented Approach to Model Features</article-title>
          .
          <source>In: Proc. of the 20th Intl. Conf. on Software Engineering and Knowledge Engineering (SEKE'08)</source>
          , San Francisco Bay, USA (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Batista</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soares</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>On the Role of Features and Goals Models in the Development of a Software Product Line</article-title>
          .
          <source>In: Ws on Early Aspects at 9th Annual AspectOriented Software Development Conference (AOSD'10)</source>
          , Rennes, France (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bonifácio</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          and Borba,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>Modeling Scenario Variability as Crosscutting Mechanisms</article-title>
          . In: AOSD'
          <fpage>09</fpage>
          ,
          <string-name>
            <surname>Charlottesville</surname>
          </string-name>
          , Virginia, USA (
          <year>2009</year>
          )
          <fpage>10</fpage>
          .
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araujo</surname>
          </string-name>
          , J.:
          <article-title>Scenario modelling with aspects</article-title>
          .
          <source>Software, IEE Proceedings</source>
          .
          <volume>151</volume>
          (
          <issue>4</issue>
          ): p.
          <fpage>157</fpage>
          -
          <lpage>171</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          11.
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araújo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Integração de KAOS com Cenários Aspectuais (In English: Integration of KAOS with Aspectual Scenarios)</article-title>
          .
          <source>In: XV Jornadas de Ingeniería del Software y Bases de Datos (JISBD</source>
          <year>2010</year>
          ), Valencia, Spain (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          12. Business Process Modeling Notation,
          <year>V1</year>
          .1. OMG Available Specification,
          <year>2008</year>
          . Available at: http://www.omg.org/spec/BPMN/1.1/PDF/. Last access:
          <year>June 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          13.
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alencar</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santander</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Integration of i* and Object-Oriented Models</article-title>
          . In: Yu,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Giorgini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Maiden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds).
          <article-title>Social Modeling for Requirements Engineering</article-title>
          . 1st Ed., MIT Press,
          <year>2011</year>
          . Chapter 13, pp.
          <fpage>457</fpage>
          -
          <lpage>483</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          14.
          <string-name>
            <surname>Test Research</surname>
          </string-name>
          <article-title>Project (Motorola Brazil Test Center), CIn-UFPE/Brazil</article-title>
          and UFCG/Brazil, http://twiki.cin.ufpe.br/twiki/pub/LabPS/ModulosApredizagem/TreinamentoTaRGeT.pdf
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          15. IStar Tool - IStar modeling Tool support. Available at: http://portal.cin.ufpe.br/ler/Projects/IStarTool.aspx. Last access:
          <year>June 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          16.
          <string-name>
            <surname>Vicente</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santander</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castro</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freitas</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matus</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>JGOOSE: A Requirements Engineering Tool to Integrate I* Organizational Modeling with Use Cases In UML</article-title>
          . Ingeniare.
          <source>Revista Chilena de Ingeniera</source>
          <volume>17</volume>
          (
          <issue>1</issue>
          ) (
          <year>2009</year>
          )
          <fpage>6</fpage>
          -
          <lpage>20</lpage>
          . Available at: http://andvicente.googlepages.com/aav(undergraduate).
          <source>Last access: June</source>
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>