<!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>
      <journal-title-group>
        <journal-title>Proceedings of MoDISE-EUS</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>From a Business Component to a Functional Component using a Multi-View Variability Modelling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Rajaa Saidi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Agnès Front</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dominique Rieu</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mounia Fredj</string-name>
          <email>fredj@ensias.ma</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Salma Mouline</string-name>
          <email>L@GI</email>
          <email>mouline@fsr.ac.ma</email>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>GSCM_LRIT, Mohammed V-Agdal University</institution>
          ,
          <addr-line>B.P 1014, Rabat</addr-line>
          ,
          <country country="MA">Morocco</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>LIG - SIGMA Team</institution>
          ,
          <addr-line>BP 72, 38402 Saint Martin d'Hères Cedex</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2008</year>
      </pub-date>
      <volume>35</volume>
      <fpage>34</fpage>
      <lpage>45</lpage>
      <abstract>
        <p>The ability of reusable components to be varied and appropriate to different designers and re-users requirements is a key property in reusable component development, especially in Business Component (BC) development. The primary objective of this work1 is BCs reuse in different Business Domains. In order to achieve this goal, we focus on the variability concept, which is defined as the ability of a software artefact to be changed or customized so as to be reused in multiple contexts. Thus, we introduce the concept of Functional Component (FC) that captures similarities and variations between BCs that share common behaviours in order to increase their reusability in different business domains. The FC is modelled by using a multiview variability.</p>
      </abstract>
      <kwd-group>
        <kwd>Business Component</kwd>
        <kwd>Functional Component</kwd>
        <kwd>Reuse</kwd>
        <kwd>Variability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Component reuse is defined as the process of implementing or updating information
systems using existing assets, and the ability of reusable components to be varied and
appropriate to different designers and re-users needs is a key property in reusable
components development.</p>
      <p>
        This process has been supported by research contributions from various fields,
including generic data models [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], generic components [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and domain model [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Most of this work aims at facilitating the reuse of generic aspects of a domain.
      </p>
      <p>
        However, we presume that is also beneficial the reuse of variable development
artefacts. For this, we focus on the concept of variability, which is defined as “the
ability of a software artefact to be changed or customized to be used in multiple
contexts” [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Variability was introduced into various contexts, particularly in domain
engineering [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and product lines development [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. However, it was
1 This work is supported by the COMPUS Project : MA/06/151, PAI: VOLUBILIS 2006
expressed a little in reusable component design, especially in Business Component
(BC) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] development.
      </p>
      <p>
        According to [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and [10], a BC is a representation of an active concept in a
business domain. Thus, BCs are used to define concepts (e.g. Patient, Hospital…) in a
standard way or to define processes for the concepts which they represent (e.g. the
Billing/Payment Process, the Medical Encounter Process…).
      </p>
      <p>
        Researchers have proposed different structures of BC (see [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]). In this
paper, we use the Symphony [11] conceptual model developed in our research team.
Thus, a BC is a structure based on the CRC technique
(Class-ResponsibilityCollaboration) [12]. A BC is modelled as a package composed of three parts (cf.
Fig.1):
- The “Interface” part describes what a BC can do. It defines the BC services which
correspond to the operations representing use cases assigned to the BC (e.g.
      </p>
      <p>ReserveBed() is a part of the interface of the Hotel BC).
- The “Master” part describes what the BC is. It corresponds to the structural part
(e.g. “Hotel” is a structural part). Yet, the class “Part” (“Room”) supplements the
Master part to which it is connected by a composition relationship. It corresponds
to a partial structuring of the attributes of the Master part, thereby highlighting a
business aspect of the component.
- The “Role” part describes what a BC uses. It highlights the collaboration played
with BC suppliers (e.g. “RoomRes” formalizes the contract between the class
“Room” and a supplier (other BC interface, for instance the Reservation BC), thus,
“RoomRes” class is described as a role).</p>
      <p>However, in this paper a special interest is given to the reuse activity in several
business domains. Therefore, we propose to represent the BC at a generic level and to
express all its variabilities. For this purpose, we introduce the concept of Functional
Component (FC) that captures similarities and variations between BCs that share
common behaviours in order to increase their reusability in different business
domains. In this paper, our objective is to design an FC and express variability in
order to support the development and the reuse of variable development artefacts.
Variability can be applied and occurs at different views of development (functional,
dynamic and static). However, locating where an FC varies and the way we can
realize its variations are complex tasks. Thus, with FC development, the necessity to
trace variability between solution and problem spaces is inevitable, and the
approaches dealing with this complexity of variability need to be established clearly.</p>
      <p>This work aims to define the main concepts of variability for reuse, namely the
requirements for identifying variability, thus outlining the crucial factor for
determining the overall benefit of variability for reuse, especially how it can enrich a
reuse space and improve the reusability of the developed BC. In this paper, to
illustrate how to get an FC from similar BCs, we use an example which shows
variability between two BCs from the same functional domain (Reservation), but
from two different business domains: Tourism (Hotel Reservation) and Health
(Hospital Reservation).</p>
      <p>The remainder of this paper is structured as follows: in Section 2, we define the
relations between a BC and an FC. Variability finality and capture concepts are
illustrated in Section 3. In Section 4, we introduce an approach to represent a
multiview variability in an FC. Related works are presented in Section 5. Concluding
remarks are given in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>2 From a Business Component to a Functional Component</title>
      <sec id="sec-2-1">
        <title>Functional Component supporting variability</title>
        <p>BC 1
BC 2
BC n</p>
      </sec>
      <sec id="sec-2-2">
        <title>Business Domain 1</title>
      </sec>
      <sec id="sec-2-3">
        <title>Business Domain 2</title>
      </sec>
      <sec id="sec-2-4">
        <title>Business Domain n</title>
        <sec id="sec-2-4-1">
          <title>Legend:</title>
        </sec>
        <sec id="sec-2-4-2">
          <title>Fixed Part:</title>
        </sec>
        <sec id="sec-2-4-3">
          <title>Variable Part :</title>
        </sec>
        <sec id="sec-2-4-4">
          <title>Abstraction:</title>
        </sec>
        <sec id="sec-2-4-5">
          <title>Reuse:</title>
          <p>In this paper, the purpose of our approach is the design of FCs that represent abstract
recurrent behaviours (e.g. Resource Allocation, Recording…) among several business
domains (e.g. Tourism, Health…), in order to reuse them in other business areas (e.g.
Transport). The main idea here is to abstract BCs that share these behaviours related
to their own business domains. This consists of the identification of what is common
and what is variable between these BCs. Hence, using variability mechanism is
needed.</p>
          <p>To support the variability concept, we propose that the specification of an FC has
to distinguish between a fixed part and variable parts (cf. Fig.2). The fixed part
represents the component structures which are reusable in each business domain that
requires these structures; they are directly integrated in the BC under construction.
The variable parts represent the component structures for which reuse requires a
selection process adapted to a particular business domain.</p>
          <p>Variability in FC is then defined as a process which is used to control the common
and variable parts of FC artefacts. Variability resolution (exploitation) produces a
collection of particular FC reuse cases. Yet, the abstraction (design for reuse) is a
process that identifies reusable artefacts from BCs that already exist in several
business domains, and the reuse (design by reuse) is a process that produces reuse
cases of FC artefacts in order to develop BCs. Both processes are based on the
variability technique.</p>
          <p>Yet, a BC can be also reused in several applications within the same business
domain. Thus, BC reuse gives a set of Business Objects which are modular structures
specific to a given information system [11]. Business objects can represent entities
(customer, supplier…) or processes (order, invoice…) associated to an information
system. This type of reuse is not undertaken in our paper.</p>
          <p>Functional Domain</p>
          <p>Functional Element
1..*</p>
          <p>*
Functional Domain
Business Domain</p>
          <p>Business Element
1..*</p>
          <p>*
Business Domain
Functional Component</p>
          <p>Business Component
0..1 Abstraction of &gt; 1..*
*
&lt; Reuse of</p>
          <p>1..*</p>
          <p>The metamodel depicted in Fig.3 highlights the relation between a BC and an FC.
The FC represents the central concept of a functional domain. A functional domain is
composed of functional elements that correspond to knowledge which is independent
from any business area whereas a BC represents the central concept of a business
domain which is composed of business elements that correspond to business
knowledge. An FC is built from the abstraction of at least one BC, and a BC can be
built by reusing at least one FC or by the abstraction of at least one business objet of
the same business domain. The relation between BC and business object is not
represented in our metamodel.</p>
          <p>Figure 4 depicts an example of functional domains composed of FCs and business
domains composed of BCs. The “Resource Allocation” can be made with or without
reservation, thus, we represent it with the FC1 which can be specialised by both FC2
and FC3. To illustrate the relation between FCs and BCs, the example shows that FC3
can be reused in several business domains, so it can be reused to design BC1, BC2 or
BC3. In addition BC1, BC2 and BC3 can be abstracted to design FC3.</p>
        </sec>
        <sec id="sec-2-4-6">
          <title>Functional Domains</title>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>FC1: Resource Allocation FC2:</title>
      </sec>
      <sec id="sec-2-6">
        <title>RA_Without</title>
      </sec>
      <sec id="sec-2-7">
        <title>Reservation</title>
        <p>FC3:</p>
      </sec>
      <sec id="sec-2-8">
        <title>RA_With</title>
      </sec>
      <sec id="sec-2-9">
        <title>Reservation</title>
        <sec id="sec-2-9-1">
          <title>Business Domains</title>
        </sec>
      </sec>
      <sec id="sec-2-10">
        <title>BC1 : Room Reservation</title>
        <sec id="sec-2-10-1">
          <title>Business Domains 1: Tourism</title>
        </sec>
      </sec>
      <sec id="sec-2-11">
        <title>BC2 : Bed Reservation</title>
        <sec id="sec-2-11-1">
          <title>Business Domain 2: Health</title>
        </sec>
      </sec>
      <sec id="sec-2-12">
        <title>BC3 : Flight Reservation</title>
        <sec id="sec-2-12-1">
          <title>Business Domain 3: Transport</title>
        </sec>
      </sec>
      <sec id="sec-2-13">
        <title>Reuse:</title>
      </sec>
      <sec id="sec-2-14">
        <title>Abstraction:</title>
        <p>There are many concepts involved in variability management. In the present section,
we introduce several concepts that we consider as the minimum necessary to specify
an FC supporting variability. These concepts deal with tow points: variability finality
and variability capture.</p>
      </sec>
      <sec id="sec-2-15">
        <title>3.1 Variability finality</title>
        <p>1. One BC implements a feature in several ways and offers the user a choice among
them.
2. Several BCs from different business domains share the same feature but implement
it in different ways and it is foreseeable that, in future BCs, the feature will be
implemented in other ways.</p>
        <p>In our case, in which we want to express variability for reuse, we focus on the
second point. This case shows that variability can be identified in several BCs and can
be predictable for future BCs.</p>
      </sec>
      <sec id="sec-2-16">
        <title>3.2 Variability capture</title>
        <p>In the initial phase of the FC development, we are confronted to requirements that
allow us to identify where variability is needed. Thus, variability capture is the most
important phase to discover where BC varies.</p>
        <p>In our context, for variability capture, we propose to use a list of BCs within the
same family of systems i.e. systems that share common characteristics. Then, we
proceed to deal with the commonalities and differences between those BCs. Hence,
we use in this paper two similar BCs of the “Reservation” system and we try to
represent them with an abstract BC as an FC. The first BC is the “Bed Reservation” in
a “Hospital” business domain and the second BC is the “Room Reservation” in the
“Hotel” business domain. Commonalities are the fixed parts of the FC, and
differences are the variable parts of the FC, which are the parts that make the BCs
distinct from one another. Yet, for more details about variations, we propose that the
specification of each BC must be at different views (i.e. functional, dynamic and
static). Due to space limitations, we cannot present a full account of the variability
capture phase.</p>
        <p>The abstraction activity aims to generate an FC by comparing similar BCs
according to the three views. In the “Room Reservation” and the “Bed Reservation”
BCs, for instance, the comparison of their functional and dynamic views leads to the
generation of abstract artefacts by a simple use of reservation taxonomy. All we have
to do is to replace “Room” and “Bed” by “Stay Place”, “Secretary” and
“Receptionist” by “Reservation Responsible”, “Hotel” and “Hospital” by “Stay
Provider”, etc.</p>
        <p>However, at the static view, the abstraction activity is more complex. This situation
shows the presence of variation between both BCs. This variation is denoted by the
way the “Stay provider” and the “Stay place” are related. In fact, in the “Hotel” BC,
the “Room” class is directly related to the “Hotel” class. Nevertheless, in the
“Hospital” BC, the “Bed” class is related to the “Hospital” class by an intermediate
class, which is the “Room” class. This statement leads to the distinction of a
structural variability, which occurs when there are classes related in several ways.
Hence, we denote the differences identified between our two BCs by the degree of
depth of related classes that vary from a BC to another. Once a variation is identified,
it needs to be constrained. Thus, it is eventually designed as variable part; we have
illustrated this point in the context of a precedent paper [13]. In the next section, we
show how to represent this variability across the three views of the FC.</p>
        <p>Proceedings of MoDISE-EUS 2008
4</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Multi-View Variability Modelling in an FC</title>
      <p>As we mentioned in Section 3, the variation identified in our BCs is the degree of
depth when a “Stay Place” is related to a “Stay Provider”.</p>
      <p>Hence, to represent differences between BCs of the same family, we use the
concepts of Variation Points (VP) [14] and / or Variants (V) [15]. According to our
context, we define VP and V as follows:</p>
      <p>Variation Point: represents a location on which a variation will occur. It is a
conceptually common feature that can be implemented in different ways. Thus, it
locates a specific place in an FC artefact to which a later decision is attached.
Variant: represents a specific implementation of a variation point. It corresponds to
design alternatives to resolve the variability.</p>
      <p>Thus, in this example “Identify StayPlace” is considered as a Variation Point and
“Identify StayPlace_0 degree” (i.e. a “Room Reservation”; the class “Room” is
related directly to the “Hotel” class) and “Identify StayPlace_1 degree” (i.e. a “Bed
Reservation”; the class “Bed” is related to the “Hospital” class by an intermediate
class: “Room” class) are considered as Variants of this VP.</p>
      <p>In this paper, to represent variability, we propose to use UML extension carried out
by stereotypes. UML is a good candidate for variability representation, because there
is wide range of tools supporting it, and the notation is extensible. Therefore, we will
apply this approach on the functional, dynamic and static views of our FC.
4.1</p>
      <sec id="sec-3-1">
        <title>Functional variability</title>
        <p>At the functional view, our proposed stereotypes are supported by use cases in the use
case diagram. Stereotypes that we use in our example are given as follows:
- « Variation »: to specify if a use case is a VP.
- « Variant »: to specify a variant related to a VP.
- « Alternative »: to specify the relation between a VP and its alternative Variants.</p>
        <p>Figure 5 depicts a variable specification of the functional view of the FC. “Identify
StayPlace” is a VP while “Identify StayPlace_0 Degree” and “Identify StayPlace_1
Degree” are its alternatives variants.
Expressing variability in the dynamic view is based on frames (fragments of
interaction). Thus, we include sub-sequences corresponding to alternatives. This
technique requires the application of the following rule: any Variation Point of the
functional view must be represented by at least a frame of a sequence diagram in the
dynamic view. Hence, we respectively use the stereotypes « Variation » and « Variant
» on the fragments related to a VP and V.</p>
        <p>Figure 6 depicts a variable specification of the dynamic view in the FC. It
illustrates the frame for the use case “Reserve StayPlace”, including a reference to the
“Identify StayPlace” fragment. Figure 7 shows how the dynamic parts of the variants
are included in the variation point.</p>
      </sec>
      <sec id="sec-3-2">
        <title>4.3 Static variability</title>
        <p>This phase consists of the specification of the static contributions of each
functionality to finalize our FC. Indeed, for each specified use case, we give the static
contributions in the solution model.</p>
        <p>The structure is distributed in several fragments which will be assembled to form a
traditional static view at the reuse activity. Each class impacted by a variation or by a
functionality will be represented in the static fragment of this use case. Figure 8
depicts static fragments of the use cases: Reserve StayPlace (8.a), Identify
StayPlace_1 Degree (8.b) and Identify StayPlace_0 Degree (8.c).</p>
        <sec id="sec-3-2-1">
          <title>Reserve StayPlace</title>
          <p>Identify StayPlace_1Degree
&lt;&lt;Variant&gt;&gt;
8.b</p>
          <p>Identify StayPlace_0 Degree
&lt;&lt;Variant&gt;&gt;
8.a
8.c</p>
          <p>Once variability is modelled across the three points of view, we obtain an FC
supporting variability. According to our example, we also mention that it is
worthwhile to note that having designed an FC allows many BCs to be derived in
other business domains such as the “Transport” business domain. For example, we
can reuse our FC for a “Train Place Reservation”. This FC reduces software
development efforts. In this context, we make use of a horizontal reuse across a wide
variety of business domains.</p>
          <p>Yet, our approach can also be applied for vertical reuse. In this case, the basic idea
is the reuse of a BC supporting variability that can be used by a family of information
systems with similar requirements in the same business domain. In this case,
variability can be used with the customization finality.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5 Related works</title>
      <p>
        Variability was originally introduced in the FODA method by the feature model [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. It
consists of a set of nodes, a set of directed edges, and a set of edge decorations.
Common features are defined as mandatory features that will be included in all the
member products in the product lines. Variable features are configurable features, i.e.
they are not necessarily included in every derived product and can be selectable.
Unfortunately, the applicability of this notation is limited by the fact that it requires
special propose modelling tools.
      </p>
      <p>Therefore, several extended UML methods have been proposed (see [14], [15] and
[16]) in order to represent the variability concept. The extension is realised by using
standardised extension mechanisms of UML by using stereotypes, and can be
expressed as a UML profile [17].</p>
      <p>In our work, we based on this solution. In fact, extending UML for modelling
variability in BC artefacts, throughout different phases of development (requirements,
analysis, design and implementation) or different points of view (functional, static and
dynamic), has the benefit to guarantee traceability among corresponding artefacts, and
the particularity of our work consists of taking into account the business aspects in
order to represent this variability.</p>
      <p>
        Furthermore, variability, as a separate model was proposed, and was denoted by
Variability Orthogonal Model (VOM) in the product line context. The VOM, as it is
described in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], has two central elements, which are variation point and variant
classes. A variation point represents an explicit engineering decision which provides
several alternatives variants with regard to selected assets or artefacts of the system
development. However, we perceive that the VOM is specific to product lines
approaches and its finality is mainly customisation. Thus, it is not enough evaluated to
fit the variability for BC reuse requirements, and therefore, it needs further empirical
verification.
      </p>
    </sec>
    <sec id="sec-5">
      <title>6 Conclusion</title>
      <p>This paper described the potential of variability modelling through BC development.
To design a generic BC, which supports variability, we have introduced the concept
of FC which captures similarities and variations between BCs that share common
behaviours. Subsequently, the FC can be reused in multiple business domains.</p>
      <p>Our proposed approach needs further study; it means that after designing
functional components supporting variability, it is essential to implement a resolution
process of this variability, as well as the integration of these components in the
development process of a components-based information system.</p>
      <p>Therefore, we presume that only conceptual models of functional components,
such as UML models, produced during the specification or design processes, are real
reusable artefacts for the design of components based information systems; they are
technologically neutral and evolve according of the changing needs for which they
respond.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Mineau</surname>
            ,
            <given-names>G.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Godin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Automatic structuring of knowledge bases by conceptual clustering</article-title>
          ,
          <source>IEEE Transactions (Data and Knowledge Engeering</source>
          ,
          <volume>7</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>824</fpage>
          -
          <lpage>829</lpage>
          , (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Castano</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Antonellis</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>The F3 Reuse Environment for Requirements Engineering</article-title>
          ,
          <source>ACM SIGSOFT Software Engineering Notes</source>
          ,
          <volume>19</volume>
          (
          <issue>3</issue>
          ), pp.
          <fpage>62</fpage>
          -
          <lpage>65</lpage>
          , (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Snoeck</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poels</surname>
          </string-name>
          , G.:
          <article-title>Analogical Reuse of Structural and Behavioural Aspects of EventBased Object-Oriented Domain Models</article-title>
          , Domain Engineering Workshop,
          <source>Proceedings of the 11th International Workshop on Database and Expert Systems Applications</source>
          , pp.
          <fpage>802</fpage>
          -
          <lpage>806</lpage>
          , London (Greenwich),
          <fpage>4</fpage>
          -
          <lpage>8</lpage>
          Sept. (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cohen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hess</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novak</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peterson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Feature-Oriented Domain Analysis (FODA) feasibility study:</article-title>
          ,
          <source>Technical report CMU/SEI-90-TR-21</source>
          , Software Engineering Insitute, Carnegie Mellon University, (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gurp</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosch</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svahnberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Managing Variability in Software Product Lines</article-title>
          , Landelijk Architectuur Congres, Amsterdam, (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bachmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bass</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Managing variability in software architecture</article-title>
          ,
          <source>ACM SIGSOFT Software Engineering Notes</source>
          , Volume
          <volume>26</volume>
          , n°3, (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bockle</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Linden</surname>
            ,
            <given-names>F.V.D.</given-names>
          </string-name>
          : Software Product Line Engineering: Foundations, Principles, and Techniques, Springer-Verlag Berlin Heidelberg, (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Barbier</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <source>Business Component-Based Software Engineering</source>
          , the Springer International Series in Engineering and Computer Science, Vol.
          <volume>705</volume>
          , 280 p, (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Cummins</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <string-name>
            <surname>OMG Business Object Concept - BOTF -</surname>
          </string-name>
          ,
          <string-name>
            <surname>White</surname>
          </string-name>
          paper - EDS- BOM/
          <fpage>99</fpage>
          -12- 42, (
          <year>1999</year>
          )
          <fpage>10</fpage>
          .
          <string-name>
            <surname>Casanave</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Business Object Architectures and standards, Data Access Corporation</article-title>
          ,
          <string-name>
            <surname>Miami</surname>
            <given-names>USA</given-names>
          </string-name>
          , (
          <year>1996</year>
          )
          <fpage>11</fpage>
          .
          <string-name>
            <surname>Hassine</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rieu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bounaas</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seghrouchni</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Towards a Reusable Business Components Model, OOIS02</article-title>
          , Montpellier, (
          <year>2002</year>
          )
          <fpage>12</fpage>
          .
          <string-name>
            <surname>Wirfs-Brock</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wilkerson</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weiner</surname>
            ,
            <given-names>L.: Designing</given-names>
          </string-name>
          <string-name>
            <surname>Object-Oriented Software</surname>
            <given-names>PrenticeHall</given-names>
          </string-name>
          , Englewood Cliffs, New Jersey, (
          <year>1990</year>
          )
          <fpage>13</fpage>
          .
          <string-name>
            <surname>Saidi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fredj</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mouline</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Front</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rieu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Towards Managing Variability Across Business Component Development</surname>
          </string-name>
          ,
          <source>Proceedings of the 2007 IEEE International Conference on Information Reuse and Integration</source>
          , IRI -
          <year>2007</year>
          ,
          <fpage>13</fpage>
          -
          <lpage>15</lpage>
          august, Las Vegas, USA, (
          <year>2007</year>
          )
          <fpage>14</fpage>
          .
          <string-name>
            <surname>Clauss</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Generic modeling using UML extensions for variability</article-title>
          ,
          <source>Workshop on Domain Specific Visual Languages</source>
          , pages
          <fpage>11</fpage>
          -
          <lpage>18</lpage>
          , (
          <year>2001</year>
          )
          <fpage>15</fpage>
          .
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>E.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gimenes</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huzita</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maldonado</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          :
          <article-title>A Variability Management Process for Software Product Lines</article-title>
          ,
          <source>In Proc. of CASCON</source>
          <year>2005</year>
          , Toronto, Canada, (
          <year>2005</year>
          )
          <fpage>16</fpage>
          .
          <string-name>
            <surname>Arnaud</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Front</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rieu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Expressing variability for patterns re-use</article-title>
          ,
          <source>First International Conference on Research Challenges in Information Science, RCIS</source>
          <year>2007</year>
          , Ouarzazate, Morocco, April
          <volume>23</volume>
          -26, (
          <year>2007</year>
          )
          <fpage>17</fpage>
          .
          <string-name>
            <surname>Ziadi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hélouët</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jézéquel</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          :
          <article-title>Towards a UML Profile for Software Product Lines</article-title>
          , 5th International Workshop, PFE 2003, Siena, Italy, November 4-
          <issue>6</issue>
          , (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>