=Paper=
{{Paper
|id=Vol-2326/paper2
|storemode=property
|title=A System to Manage Multi-domain Software Product Line
|pdfUrl=https://ceur-ws.org/Vol-2326/paper2.pdf
|volume=Vol-2326
|authors=Yacine Djebar,Mohamed Tahar Kimour
|dblpUrl=https://dblp.org/rec/conf/icaase/DjebarK18
}}
==A System to Manage Multi-domain Software Product Line==
A system to manage Multi-domain Software Product line
Yacine Djebar Mohamed Tahar Kimour
Computer Science Department Computer Science Department
May 8,1945 University of Guelma Badji Mokhtar Annaba University
djebyass@hotmail.fr mtkimour@hotmail.fr
Abstract specific needs of a particular market segment or
mission and that are developed from a common set of
The development with Software product Line core assets in a prescribed way». In order to well
(SPL) often concerns one domain. The configured and derived products, SPL engineering
representation of multi-domain software offers mechanisms to manage the product families
product line is mainly based on complex through their common and variable features in all of the
Feature models. The latter is used to represent
development steps[San08],[Voe07],[Coh90].
multi-domain component commonalities and
variabilities. However, the management of The Main activities of SPL are: identification and
multi-domain feature models needs an management of variability, management of constraints
important effort. In addition, it is not easy to and derivation of products. The foremost representation
have a visual representation of this type of of variability that can be applied for the three activities
models. Split of multi-domain SPL into two of SPL is undoubtedly a feature Model
models, the first to formulate the business (FM)[Cza00],[Rei07].The latter can be used at any SPL
needs which leads to a specific domain SPL abstraction level to model documents, code and other
and the second is devoted to compose a SPL useful artifacts. In Addition, a number of
product in terms of selected SPL features development approaches reported to Model-Driven
according to business needs can lend a hand to Engineering are based on feature models to represent
overcome the management difficulties of this requirements through the common and variable FM
Type of SPL. In this paper, we propose a features.
system to manage the multi-domain SPL. It is However, the management of multi-domain feature
composed of a business model to express the models is becomes a challenge for developers because
needs in terms of business area configuration
of its complexity. In addition , creating and maintaining
and a feature model to identify a concerned
SPL according to selected business area needs such large Feature Models can be a very fastidious
in terms of feature configurations. activity[Har08], [Alv12], [Thu09], [Ben08], [Per08],
[Whi07].To that end , several approaches have
Keywords - business area, replacement proposed solutions .Some of them are based on codes
configuration, business configuration, software and offer tools [Har08], [Alv12], [Thu09], [Ben08],
product line, multi-domain. [Per08], [Whi07]. Other approaches are based strictly
on models [San08], [Voe07], [Coh90], [Hey07],
1. Introduction [Ghe06] and others used Aspect-oriented modeling
This a One of the more mainstream definitions of approach[Sam16], [Tru17], [Lie18], [Ros18],
software product line is given by [Nor01].The latter [Dam18], and at the end the techniques that employ
defines SPL as "a set of software-intensive systems that refined processes [Ben08], [Per08], [Whi07], [Ape08],
share a common, managed set of features satisfying the [Asp17], [Ace10], [Kha13]. However, there is no ideal
solution that addresses all aspects of the complexity of
Copyright © by the paper’s authors. Copying permitted only for private the feature models [Dam18].
and academic purposes. Given the difficulty of handling a complex FM of
In: Proceedings of the 3rd Edition of the International Conference on multi-domain SPL, instead of manipulate in one way
Advanced Aspects of Software Engineering (ICAASE18), Constantine, this type of FM, we focuses on a system that allows to
Algeria, 1,2-December-2018, published at http://ceur-ws.org
Page 17
A system to manage Multi-domain Software Product line ICAASE'2018
manipulate a multi-domain SPL FM through two ways: this FM.The remainder of the paper is structured as
a business model to formulate product needs, a feature follows. Section 2 gives an overview of the system .in
model to derivate a product in terms of features and for Section 3, we describe the elements of the system.
Multi-Domain
Feature Model
Multi-domain
Feature
Products
configurations
DSPL#1
Business Business
Feature Template Template Feature
configurations configurations
DSPL#2
Business DSPL#3
Model
Business Business
Template Template
DSPL#4
Feature
configurations
Figure 1:Fig.An overview
1. An Overview of the system
of the system
linking the two models, a generic model of product
configurations that allows to identify the domain and its Figure 2: A Class diagram of our system
SPL. Once, the SPL identified, the system manage the
product configuration as an equivalent feature Section 4 details the replacement operation and the
configuration in feature model. This business model section 5 presents insert operation. Section 6 describes
expresses the needs of stakeholders in four business an illustrative iteration of a system. Section 7 presents
areas that are: category, profile, system and Article. an overview of the support-tool of our system and a
Every area represents one or a set of business key section 8 concludes the paper and presents future work.
characteristics of the targeted product. The system
F0
offers to stakeholder by a simple selection of a category F0
of product to choose a single SPL domain and with F1 F2 F8
F1 F2
more business areas to have a set of business f11 f21
f11 f13 f21 f22
configurations that correspond to products of a
corresponding SPL domain products. The equivalent F5
F5
configuration is submitted to a stakeholder in order to F6 F7
F6 F7
be validated as If any equivalent configuration satisfies
him; the system provides a replacement configuration
Multi-domain Featue Model SPL#3 Feature Model
.The latter is the closest in terms of matching features
of the business configuration requested by the Figure 3: An Example of extraction of a
stakeholder. Domain SPL FM from a multi-domain FM.
The stakeholder can validate the replacement
configuration if satisfied; else the integration of 2 An overview of our system
features without equivalence in the feature base
becomes necessary. For this, our system allows to A Multi-domain SPL can be perceived as a multi-
extend the Multi-domain FM by inserting features in Software product line of domains [Ros18],[Dam18].
International Conference on Advanced Aspects of Software Engineering Page 18
ICAASE, December, 01-02, 2018
A system to manage Multi-domain Software Product line ICAASE'2018
Each domain is modeled by a specific SPL. So, the the article (Fig. 2) .The stakeholder can select one
multi-domain FM can be perceived also as a set of business area or more by combining them .The aim is
domain Feature Models. Each domain feature model to formulate the business template (BT).
corresponds to a specific SPL feature model. The
For each business area corresponds a number of
system as structured in Fig. 1 and modeled in Fig. 2
business configurations (BC). The business
allows to extract a specific SPL FM from a multi-
configuration is composed of business features.
domain FM according to stakeholder business needs.
The Fig. 3 illustrates this extraction. The targeted
product of this type of domain must meet to business 2.2 The feature Model
needs and at the same time to structural and The multi-domain feature model defines the features,
architectural requirements. So, it can be described as a their successors, the edges and relationships between
business area needs. So, the product is represented by edges.
unique business configuration of business areas. This
configuration in terms of business areas has an
equivalent configuration in terms of feature
configuration. To meet this modeling, our system is
structured in two models: a business model and a multi-
domain feature model.
2.1 The Business Model
The selection of a category of product allows selecting
a domain SPL. So, the corresponding SPL FM is
Figure 5:An overview of a business Template
For each element of business configuration correspond
at most one feature in a domain SPL feature model.
This correspondence is achieved through an equivalent
feature configuration (FC) in a domain SPL feature
model. Fig. 4 shows a relationship between (BT),(BC)
Figure 4: Relationship between (BT),(BC)and (FC) TABLE II
Table 1 : A structure of an Equivalent Feature
extracted from a multi-domain FM and can generate a configuration
A STRUCTURE OF EQUIVALENT FEATURE CONFIGURATION
set of products according to the selected category .It
means that all of these products have a same category
F1 F2 F3 F4 F5 F6 …. F32 F33 …. Fn
in a business model.
The business model provides to stakeholder a 1 0 1 0 0 1 … 1 0 … 1
second way to express his needs other than the only
selection of FM components.
and (EC).
The business model is structured according to four
business areas: the category, the profile, the system and
International Conference on Advanced Aspects of Software Engineering Page 19
ICAASE, December, 01-02, 2018
A system to manage Multi-domain Software Product line ICAASE'2018
The replacement configurations are proposed by the
system to stakeholder in the case of a small ‘No
equivalence frame’ without edge relationship impact. It
means that the difference between (BC) and (FC) of a
same (BT) only concerns the features .The relationships
between edges in (BC) and (FC) are identical
If this configuration is not validated by the stakeholder,
the No Equivalent Features in a system base must be
inserted in the base.
The following pseudo algorithm summarizes the
functioning of our system:
Running process Pseudo Algorithm
Begin.
1. Stakeholder select a business category in a business base (BB) Figure 6 : The rules of Relationship predominance
2. A system identifies the domain and its matching SPL (MSPL) in feature base (FB).
3. A system extracts a MSPL Feature Model from a feature base.
4. Stakeholder presents needs (select Profile and/or system and/or article) through Business
Template (BT) from (BB).
3.1.1 A Business configuration
5. System defines the Feature business Configuration (BC) of (BT).
6. System searches for the (BC) an equivalent Configuration (EC) in the Feature Base . A Business Configuration (BC) is a Boolean
7. If (EC) found ((EC) = (BC)) Go to 10 expression of a business template in a business
8. If (EC) # (BC) model.The (BC) structure is a Boolean array. Each cell
5.1. System determines the Non Equivalent Frame (NEF) = ((BC)-(EC)).
5.2. System proposes a replacement Configuration (RC) to (EC) from (NEF) and (FB). of this array corresponds to a business area of selected
5.3. If (RC) accepted by stakeholder Go to 9.
5.4. If (RC) Not accepted
(BT) elements .So; all of the business areas are
5.4.1 System Insert (NEF) in (FB). represented in this array. The value ‘1’ means that the
5.4.2 Go to 10.
9. System validates (RC) Go to 11. corresponding area has been selected in the structure of
10. System validates (EC) Go to 11. the configuration and ‘0’ means that the area is not
11. (BT) satisfied.
selected. (BC) may be considered as a set of business
End.
features that have correspondence in a system base.
Table 1shows an example of this modelling.
3.1.2 Equivalent Feature Configuration (FC)
3 The System Elements
Each (BC) element may have a representative feature in
a system base (SB).it means that some ones may
3.1 A Business Template
haven’t. The set of the corresponding features in a
A Business Template (BT) is composed from a
selection of one or more business areas according to
stakeholder needs. For example the stakeholder can
select only the category categ#1.In this case, the
business template will be composed only by this
category. If the selection of category “categ#1” is
combined to “profile#2” profile, the system gives
another BT composed by “categ#1” and “profile#2. Figure 7: An example of NEF , (NEF=(F9,F10)
The Fig. 5 illustrates an example of (BT).
system base forms an equivalent feature configuration
(FC).
International Conference on Advanced Aspects of Software Engineering Page 20
ICAASE, December, 01-02, 2018
A system to manage Multi-domain Software Product line ICAASE'2018
These configurations represent possible structures of The BC elements that have not corresponding features
products. Unlike the business configuration, the in a SPL domain feature model (EC) forma no
equivalent configuration is structured as a binary array equivalence frame (NEF).The Fig. 4 shows an example
as illustrated in Fig. 4. The Feature configuration is an
expression of business configuration elements in a SPL
domain feature model. The (FC) structure is a Boolean
array. Each cell of this array corresponds to a feature of
selected SPL Feature model .So; all of the FM features
are represented in this array. The value ‘1’ means that
the corresponding feature has been selected in the
structure of the product and ‘0’ means that the feature
is not selected. Table 1shows an example of this
modeling.
The automatic generation of valid structures of (FC)
may be achieved by one of the most techniques used in
this context. However, the approach of [Dam18] that
we’ve slightly adapted to our study is that we advocate
for our system given the similarity of the structure of
Figure 8: An example of a Replacement
the configurations that are based on binary
configuration of a NEF=(“chipset”).
representations. The adaptation concerns only the
pseudo-algorithm of generation of valid configurations. of (NEF). The Fig. 7 shows an example of (NEF).
The latter is proposed as follows :
3.1.4 A system base
All of (FC) and validated (BC) configurations are
stored in a system base. The feature model is mainly
based on the following classes: product repository that
contains all of configurations, feature, feature
successors and edges through feature-successor-
relationship .This organization combined to three
insertion rules (Fig. 6) allows to system to identify
rapidly the targeted feature nodes where the feature
must be inserted or replaced in a SPL feature model
Figure 11: An example of Samsung Multi-domain graph.
template
4 The Replacement configuration
The replacement configurations are proposed by the
system to stakeholder in the case of a small ‘No
equivalence frame’ without edge relationship impact. It
means that the difference between (BC) and (FC) of a
same (BT) only concerns the features. Relationships
between edges in (BC) and (FC) must be identical.
The stakeholder can validate the replacement proposal
configuration. In this case, the system replaces (FC) by the
valid (RC). The Fig. 8 shows an example of replacement
configuration. We’ll present hereinafter the pseudo-
3.1.3 The No Equivalence frame (NEF) algorithm of the replacement proposal of (BC).
International Conference on Advanced Aspects of Software Engineering Page 21
ICAASE, December, 01-02, 2018
A system to manage Multi-domain Software Product line ICAASE'2018
Pseudo Algorithm of replacement proposal of (BC)
Begin.
1. (NEF) = {Fk,Fl,…Fm}.
2. For each NEF(Fi) do
2.1 (CF):=(Fi)
2.2 Determine the parent P of (CF) in ((FB).Successor).
2.3 Determine the set of (edges) U related to (CF) across P in ((FB).Edge).
2.4 Determine the set of (successors) S of P in ((SB).Edge).
2.5 For each (Sj) of (S) do
2.5.1. Replace (Fi) with (Sj) in (FC) ((FC).Fi:=Sj)
2.5.2. (RC):=(FC)
2.5.3. If (RC) valid Go to 3
2.5.4.Else
2.5.4.1 j:=j+1
2.5.4.2. Go to 2.5.1
Endif
2.6. i:=i+1
2.7.Go to 2.1
3. (BT) satisfied.
Figure 9: The feature Model of Samsung Laptop
End. PC Domain.
Aiming to facilitate understanding different concepts of
our system, we present an illustrative example of a
5 The Insertion Samsung PC multi-domain [Sam16] that we have
The insertion of (NEF) elements in a system base is adapted to our study. This system abbreviated «
performed by the system in case of an important ‘No SMDSPL» allows to stakeholder to formulate his
equivalence frame’ and/or NEF with an impact on needs in a business template according to business
relationships of edges. It means that relationships areas. The Business areas are :
between (BC) edges and (FC) edges are different. For Category :Essential , Ultrabook , MiniLaptop
The system uses the three rules of insertion (see Figure The Domain of DesktopPC is represented by
6) according to (BC) and (SB) features, feature- For Profile : mobility , multimedia , gaming , versatility
successors and edges. , fixed Office automation (FOA)
There are two types of insertion rules: the simple For System : NP , R , N
insertion (successor rule) that implies one edge and two And for article : NP-NC10 ,RV-510 ,N100 ,
predominance cases and a complex insertion (edge NP530U4BH, NP300V5AH , NP400U5AH
rules) that implies many edges, many relationships and Multi-domain System contains three domains, each of
many predominance cases. them may be represented by a SPL FM. The domains of
The system uses the three rules of insertion (see Figure « SMDSPL» are as follows :
6) according to (BC) and (SB) features, feature- The Domain of LaptopPC is represented by SPL#1 .
successors and edges . There are two types of insertion
rules: the simple insertion (successor rule) that implies The Domain of DesktopPC is represented by
one edge and two predominance cases and a complex SPL#2 and the Domain of Hardware Server is
insertion (edge rules) that implies many edges, many represented by SPL#3.
relationships and many predominance cases. Figure 6 The stakeholder selects the ‘LaptopPC’ category.The
illustrates all of the predominance rules used by for system select SPL#1and extracts automatically the
insertion of (NEF) features by our system. corresponding SPL FM from the system base.The
current SPL is SPL#1
Figure 9 presents a “Laptop PC” SPL FM.
The stakeholder can formulate the rest of (BT)
6 Illustrative Example according to the three remaining business areas
International Conference on Advanced Aspects of Software Engineering Page 22
ICAASE, December, 01-02, 2018
A system to manage Multi-domain Software Product line ICAASE'2018
(profile, system and article)..The Fig. 10 illustrates the feature views. Each of one is modeled by a specific
business model of Samsung multi domain .The Fig. 11 SPLFM . So, instead of Multiple SPL , we use the
shows an example of composition of BT. Figure 8 multi-domain FM . Each domain feature model
illustrates an example of a replacement configuration. corresponds to a specific SPL feature model. The
system as structured allows to extract a specific SPL
Figure 10: The business Model of Samsung Laptop PC
7 The Support Tool Figure 12 : MSPLSys Tool : A Replacement
We have implemented a tool called “MSPLSys” to configuration Report
support our system. The first version allows to create FM from a multi-domain FM according to stakeholder
and update features, successors of features, edges, business needs. And the expected SPL product of this
relationship between edges, business areas, business type of domain must meet to business needs and at the
templates and dependencies between features. In same time to structural and architectural needs .So; it
addition, the tool allows to generate business can be described as a business area needs. This system
employs two functions replacement and insertion to
manipulate the multi-domain SPL. The system is
powered by a tool that can support FM with a limited
number of constraints. An extension can extend it to
support a group of constraints between features.
References
[Ace10] A. Acher, M. Collet,P. Lahire and R. Robert.
Composing Feature Models. France 2.1
University of Nice Sophia Antipolis, I3S
Laboratory (CNRS UMR 6070), Sophia
Figure 11: An example of Samsung Multi-domain Antipolis Cedex, France, 2010.
template
[Alv12] T. Alves, V. Gheyi, R. Massoni,T. Kulesza, U.
configurations from a business template and system Borba and P. Lucena. Refactoring product
base. Figure 12 shows a replacement configuration lines. in GPCE’06: Proceedings of the 5th
report. international conference on Generative
programming & component engineering.
8 Conclusion ACM, NewYork,2012.
We have proposed in this paper, a new view of Multi- [Ape08] R. Apel, S. Lengauer,C. Moller and B.
domain SPL. The latter can be perceived as a multi- Kastner. An algebra for features and feature
Software product line of two views: a business and a composition. In Meseguer, J., Roşu, G. (eds.)
International Conference on Advanced Aspects of Software Engineering Page 23
ICAASE, December, 01-02, 2018
A system to manage Multi-domain Software Product line ICAASE'2018
AMAST 2008. LNCS, vol. 5140, pp. 36–50. Inter.Workshop on Variability modelling of
Springer, Heidelberg ,2008. software-intense Systems – pp 89-96., 2018
[Asp17] Aspect-Oriented Modeling Workshop Series, [Nor01] P.Northorn.Software Product Line :Practices
http://www.aspect-modeling.org/., 2017. and Patterns. AddisonWesley Professional
[Ben08] S. Benavides, D. Ruiz-Cortes and A. Trinidad. Reading, 2001.
Automated merging of feature models using [Per08] P.Perrouin,G. Klein,J.Guelfi and N Jezequel.
graph transformations. in Generative and Reconciling automation and flexibility in
Transformational Techniques in Software product derivation. In SPLC’ 08: Proceedings
Engineering II. LNCS, vol. 5235, pp. 489– of the 2008 12th International Software
505. Springer, Heidelberg ,2008. Product Line Conference, pp. 339–348. IEEE,
[Coh90] K. Cohen, S. Hess, J. Novak and W. Peterson. Los Amitos, mexico, 2008.
Feature-Oriented Domain Analysis (FODA) [Rei07] M.Reiser and M.O.Weber. Multi-level feature
Feasibility Study. Technical Report CMU/ trees:a pragmatic approach to managing
SEI-90-TR-21, Software Engineering highly complex product families.
Institute,Nov, 1990. Requirements Engineering J,12,57–75 , 2007.
[Cza00] R. Czarnecki and K. Eisenecker. Generative [Ros18] M.Rosenm and N.Siegmund .Automating the
Programming: Methods, Tools,and configuration of multi software product line.
Applications .Addison-Wesley Professional, School of Computer Science , University of
Reading , 2000. Magdeburg , Germany @ovgu.de , 2018.
[Dam18] F.Damiani, R.Hähnle and E. Kamburjan, [Sam16] Samsung Laptop PC product catalog ,
Interoperability of Software Product Line http://www.samsung.com/n_africa/consumer/c
Variants. Proceeding of splc2018 .Challenge omputers-peripherals/laptops ,2016.
Case1-1.pd , pp 99-07 , 09/2018, Gothenburg, [San08] P. Sanchez, P. Loughran, N. Fuentes, and L
Sweden , 2018. .Engineering languages for specifying
[Ghe06] P. Gheyi, R. Massoni and T. Borba. A theory Product-Derivation processes in software
for feature models in alloy. in Proceedings of product lines. in Software Language
First Alloy Workshop, pp. 71–80, 2006. Engineering journal,pp. 188–207 ,2008.
[Har08] P. Hartmann and H. Trew. Using feature [Thu09] R.Thum, T.Batory and D.Kastner. Reasoning
diagrams with context variability tomodel about edits to feature models. in Proceedings
multiple product lines for software supply of the 31th International Conference on
chains. in SPLC 2008: Proceedings of the Software Engineering (ICSE IEEE), Los
12th International Software , 2008. amitos,mexico,2009.
[Hey07] P.Y.Heymans, P.Trigaux and J.C.Bontemps. [Tru17] G.I,Trujillo and T.U. Juarez-Martíne . Multiple
Generic semantics of feature diagrams. SPL: applications and challenges. division of
Comput.Netw.51(2), 456–479 ,2007. Research and P.graduate Studies.Instituto
[Kha13] K. khalfelaoui, K. Chaoui, A. Foudil and C. Tech of Orizaba , Vera-
Kerkouche. Automatic Generation of SPL cruz,Méxicodepi.edu.mx,aaguilar@itorizaba.e
Structurally Valid Products using Graph du.mx/kcortes@uv.mx OCT 2017.
Transformation Approach. Dep of Computing [Voe07] R. Voelter and M. Groher. Product line
Science, Univ of Jijel, MAAACA, implementation using aspect-orientedand
v.488,pp.333–342.Springer,Switzerland, 2013. model-driven software development. in
[Lie18] M.Lienhardt, F.Damiani, S.Donetti and L. SPLC’07:pp.233–242.,Los Alamitos ,2007.
Paolini. Multi Soft Product Lines in the Wild. [Whi07] P.K. Whittle, J. Elkhodary,A.M. and H.
VAMOS 2018, Proceedding of the 12TH Gomaa. Model compositionin product lines
International Conference on Advanced Aspects of Software Engineering Page 24
ICAASE, December, 01-02, 2018
A system to manage Multi-domain Software Product line ICAASE'2018
and feature interaction detection using critical
pair analysis. In Engels, G., Opdyke, B.,
Schmidt, D.C., Weil, F.2007. LNCS,2007.
International Conference on Advanced Aspects of Software Engineering Page 25
ICAASE, December, 01-02, 2018