A Model and Its Algorithm For Software Reuse Optim
A Model and Its Algorithm For Software Reuse Optim
net/publication/267405703
A model and its algorithm for software reuse optimization problem with
simultaneous reliability and cost consideration
Article in International journal of innovative computing, information & control: IJICIC · May 2011
CITATIONS READS
7 156
4 authors, including:
C. Y. Chan
The Hong Kong Polytechnic University
63 PUBLICATIONS 498 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Jiafu Tang on 13 January 2015.
Zhiqiao Wu1 , Jiafu Tang1 , Chun Kit Kwong2 and Ching Yuen Chan2
1
Department of Systems Engineering
Key Lab of Integrated Automation of Process Industry of MOE
Northeastern University
No. 11, Lane 3, Wenhua Road, Heping District, Shenyang 110819, P. R. China
[email protected]; [email protected]
2
Department of Industrial and Systems Engineering
The Hong Kong Polytechnic University
Hung Hom, Kowloon, Hong Kong, P. R. China
{ mfckkong; mfcychan }@polyu.edu.hk
Abstract. In this paper, a model is proposed where the cost and reliability of activities
of reuse-based development can be predicted or measured, and all possible reuse scenarios
can be analyzed and compared to support the selection of alternative scenarios. A scheme
of typical reuse mode is designed from the perspectives of application engineering and do-
main engineering activities. According to the scheme, six reuse modes are addressed from
the sequences of activities. Alternative industry reuse scenarios can be derived from the
modes. An optimization model is proposed that can assist decision-makers in selecting
a reuse scenario for minimizing cost, maximizing reliability and satisfying system re-
quirements. To solve efficiently the bi-objective 0-1 integer programming involved in the
model, a new algorithm is presented that can find the entire set of efficient solutions.
Keywords: Software reuse, Reuse models, Optimization models, Bi-objective program-
ming problems, Efficient solution
2611
2612 Z. WU, J. TANG, C. K. KWONG AND C. Y. CHAN
The paper is organized as follows. Section 2 describes the typical reuse modes and their
cost and reliability formulation. In Section 3, a model of Cost and Reliability Optimization
under a goal Satisfaction constraint (CROS) is described. The model is expected to
achieve the highest reliability and the lowest cost while keeping the satisfactory values of
system requirements. Section 4 describes an entire efficient solution method to solve the
problem. Finally, conclusions and future work directions are given in Section 5.
2. Typical Reuse Modes and Their Cost and Reliability Formulation. In this
section, all possible reuse modes from the viewpoints of the product line [17] are formu-
lated. Clements summarized the activities in a product line using two main circles: core
asset development and product development [2]. As the issue of reuse strategies has been
introduced [3], operations categorization is reinvestigated and a logic map is created for
a common SPL process as shown in Figure 1.
The node denoted by a circle refers to an operation with a specific number. An edge
between two nodes indicates the presence of an arc between the two operations. The star
(*) indicates that operational costs and the failure rate accumulate in case of operation
repetitive execution in an SPL. Each typical reuse mode corresponds to a route from a
leaf node, such as nodes 1, 2, 3, 5 and 6, to the root node, such as asset, through one or
several operations. For example, the low-level reuse mode, PD, represents a reuse case in
which a module is developed from scratch through white-box reuse. The high-level reuse
mode, SRC, indicates that the COTS asset is bought from the market. Subsequently,
the COTS asset will undergo modifications and adaptations to convert it to a reusable
asset for the product line. In a software development project, each reuse scenario can be
derived from a special mode. Considering the characteristics of assets possessed by an
organization, software developers can directly produce and weigh alternative scenarios’
cost (c) and failure rate (η) based on the above mentioned operations.
3. Mathematical Modeling for Selecting Reuse Scenario. In this section, the prob-
lem formulation and modeling of goal satisfaction constraints as well as cost and reliability
are described.
To formulate the reuse scenario selecting problem, the following notations are used
throughout this paper:
n Number of modules within a target SPL system
mj Number of reuse scenarios available for module j
cij Cost of reuse scenarios i for module j
ηij Failure rate of reuse scenarios i for module j
sij The average of invocations on module j with reuse scenarios i
Satij (k) Satisfaction level of goal k when module j is implemented by using
scenario i
xij Decision variable, which is equal to 1 when module j is implemented
by using scenario i and 0, otherwise
where τk is the weight of goal k. The targeted software system should at least meet an
overall satisfaction level R. The formulation can be shown as
∑
n ∑
mj
where ωj is the weight of module j. The analytic hierarchy process (AHP) is used to
determine the ωj of the module based on the access frequencies of the modules [23].
2616 Z. WU, J. TANG, C. K. KWONG AND C. Y. CHAN
3.3. Modeling of cost and reliability. The objective functions of the reuse scenario
selection problem are to minimize overall cost of a software system and to maximize
system reliability.
Let cij be the cost of reuse scenarios i for module j. The overall cost of a software
system can then be given as follows:
∑
n ∑
mj
The parameter cij is depended on its reuse mode as discussed in Section 2. Similarly,
for a module j with the reuse scenario i, reliability of a module can be formulated in
terms of failure rate ηij , which is also depended on its reuse mode. The formulation of
the reliability of an entire SPL is described as follows.
Let pj define the probability of at least one failure occurrence when the module j is in-
voked in system execution. Referring to the work of Berman [9], the effect of failures from
a module can be represented in an exponential function. One can obtain the probability
that no failure occurs during an execution of module j as follows:
[ mj ]
∑
1 − pj = exp − sij ηij xij , ∀j. (4)
i=1
In view of the Poisson probability principle, which states that the probability of a
failure occurring is proportional to the length of sojourn time, and the assumption that
an operation of each module is independent, the probability of the occurrence of no failure
in a software system may be formulated as
[ n mj ]
∏n ∑∑
(1 − pj ) = exp − sij ηij xij . (5)
j=1 j=1 i=1
Based on the above equation, it can be concluded that an optimization model for
reuse scenario selection problem with minimized cost and maximized reliability under
constraints of goal satisfaction (CROS) can be formulated as follows:
∑
n ∑
mj
∑
n ∑mj
It becomes the jointed effort on cost and reliability to enhance one unit of satisfaction of
requirements in module j when used in scenario i.
For any module j with given λ′ , an aggregated efficiency can be ordered as
el1 j (λ′ ) ≤ . . . ≤ eli j (λ′ ) ≤ eli+1 j (λ′ ) ≤ . . . ≤ elmj j (λ′ ), where ⟨l1 , . . . , lmj ⟩ = ⟨1, . . . , mj ⟩.
(15)
To determine the efficient solution, the efficiency ratios have to be sorted using Equa-
tion (15). Certain efficient/non-dominated solutions can be obtained by minimizing the
weighted-sum of the objective functions (i.e., Supporting-ES). The corresponding sorting
is called Efficient Order (EO).
4.2. The first phase: Determination of module efficient orders (EOs). The EO
of the subintervals for λ of each module will be determined. As λ changes within [0, 1], the
order defined in Equation (15) is not stable [24,26]. Hence, dividing λ into subintervals
([0, u1j ], . . . , [utj , ut+1j ], . . . , [u−j , 1]) for every module j such that the order of Equation
(15) has to be maintained, the procedure is as follows:
Using Procedure-1, we can obtain all EOs (l1 , l2 , . . . , lmj ) and their corresponding subin-
tervals for λ for every module (j = 1, . . . , n). The intervals ([0, v1 ], . . . , [vg , vg+1 ], . . . , [vG , 1])
can then be determined by combing the subintervals of every module while keeping the ag-
gregated efficiency of all the modules unchanged. Due to the parallel nature of Procedure-
1, the intervals of each module regarding λ can be executed on separated processors [27].
4.3. The second phase: Obtaining supported efficient solution set. Once the
EOs of the module have been constructed, the next step is to obtain the Supported-ES
set. This is done by using a greedy procedure traversing on the intervals of λ determined
in the first phase. The detailed operation is shown below.
Using Procedure-2 for every module, the entire set of Supported-ES can be obtained.
Each solution can associate with the trade-off information of λ.
4.4. The third phase: Determination of non-supported efficient solutions (non-
supported ESs). Based on the experimental results, the Supported-ES set is very close
to all efficient solutions [26]. However, dropped Non-supported-ESs are located in the
triangular sectors generated in the objective space by two successive Supported-ES [24].
These are represented in Figure 4.
Therefore, an exact procedure starts with the Supported-ES set, which can be employed
to determine the Non-Support ESs. The additional step is to guarantee that the decision
space is explored completely.
In addition, the aggregated functions can be used to define bounds to cover the entire
reduced objective space. The upper and lower bounds for these functions (the limits
for the rooms) can be derived to provide “optimal” value for some variables to obtain
non-dominated solutions within the rooms (Figure 4). When all the rooms have been
completely explored, the result is in the ES set. Using the three phases cited above, the
ESs found are the “optimal” solution to the CROS model.
5. Conclusions and Future Work Directions. This paper presents a method to ex-
amine the cost and reliability of reusing modules in the creation of software products by
employing the product line approach. The CROS model based on binary non-linear pro-
gramming was developed to assist the decision-maker to select alternative reuse scenarios
towards simultaneous cost minimization and reliability maximization while satisfying sys-
tem requirements to a certain degree. A three-phased algorithm for finding all efficient
solutions was discussed, and preference-based decision and budget constrained decision
method were provided to support the decision-maker in choosing a good solution from
the entire range of efficient solutions.
This paper focuses on the optimization of cost and reliability, which are generally the
important factors in product line development. However, other factors, such as time-to-
market and component supplier selection, are also expected to be included in the reusing
software assets. We are currently working on extending our model to include these factors.
Acknowledgment. This work was financially supported by the National Natural Sci-
ence Foundation of China (NSFC) (70721001, 70625001), the National 973 Basic Research
Project (2009CB320601) and the Fundamental Research Funds for the Central Univer-
sities (N090604004). This work was also supported by a grant from The Hong Kong
Polytechnic University, Hong Kong, China (Project No. G-YJ09). The authors would
like to thank the reviewers for their valuable comments and suggestions that helped us
improve this paper.
REFERENCES
[1] F. Ahmed and L. F. Capretz, The software product line architecture: An empirical investigation of
key process activities, Information and Software Technology, vol.50, no.11, pp.1098-1113, 2008.
[2] P. C. Clements, L. G. Jones and L. M. Northrop, Project management in a software product line
organization, IEEE Computer Society, vol.22, no.5, pp.54-62, 2005.
[3] A. Tomer, L. Goldin, T. Kuflik, E. Kimchi and S. R. Schach, Evaluating software reuse alternatives:
A model and its application to an industrial case study, IEEE Transactions on Software Engineering,
vol.30, no.9, pp.601-612, 2004.
[4] M. A. Rothenberger, K. J. Dooley, U. R. Kulkarni and N. Nada, Strategies for software reuse: A
principal component analysis of reuse practices, IEEE Transactions on Software Engineering, vol.29,
no.9, pp.825-837, 2003.
[5] B. Morel and P. Alexander, SPARTACAS automating component reuse and adaptation, IEEE Trans-
actions on Software Engineering, vol.30, no.9, pp.587-600, 2004.
[6] R. V. Ommering, Software reuse in product populations, IEEE Transactions on Software Engineer-
ing, vol.31, no.7, pp.537-550, 2005.
[7] R. W. Selby, Enabling reuse-based software development of large-scale systems, IEEE Transactions
on Software Engineering, vol.31, no.6, pp.495-510, 2005.
[8] Z. Q. Wu, J. F. Tang and L. Y. Wang, An optimization framework for reuse scenarios selection in
software product line, Proc. of Chinese Control and Decision Conference, Guilin, China, pp.1880-
1884, 2009.
[9] O. Berman and M. Cutler, Optimal software implementation considering reliability and cost, Com-
puters & Operations Research, vol.25, no.10, pp.857-868, 1997.
[10] O. Berman and N. Ashrafi, Optimization models for reliability of modular software systems, IEEE
Transactions on Software Engineering, vol.19, no.11, pp.1119-1123, 1993.
A MODEL AND ITS ALGORITHM FOR SOFTWARE REUSE OPTIMIZATION PROBLEM 2621
[11] Y. Liu, C. Wei and S. Gao, Research on software reliability modeling based on stochastic petri nets
and module level software rejuvenation, ICIC Express Letters, vol.3, no.3(B), pp.607-613, 2009.
[12] V. Cortellessa, F. Marinelli and P. Potena, Automated selection of software components based on
cost/reliability tradeoff, Lecture Notes in Computer Science, vol.4344, pp.66-81, 2006.
[13] V. Cortellessa, F. Marinelli and P. Potena, An optimization framework for “build-or-buy” decisions
in software architecture, Computers & Operations Research, vol.35, no.10, pp.3090-3106, 2008.
[14] B. W. Boehm and R. Valerdi, Achievements and challenges in Cocomo-based software resource
estimation, IEEE Software, vol.25, no.5, pp.74-83, 2008.
[15] H. W. Jung, Optimizing value and cost in requirements analysis, IEEE Software, vol.15, no.4, pp.74-
78, 1998.
[16] V. Cortellessa, I. Crnkovic, F. Marinelli and P. Potena, Experimenting the automated selection of
COTS components based on cost and system requirements, Journal of Universal Computer Science,
vol.14, no.8, pp.1228-1255, 2008.
[17] B. Boehm, Managing software productivity and reuse, IEEE Computer Society, vol.32, no.9, pp.111-
113, 1999.
[18] A. V. Lamsweerde and E. Letier, Handling obstacles in goal-oriented requirements engineering, IEEE
Transactions on Software Engineering, vol.26, no.10, pp.978-1005, 2000.
[19] L. Lin and H.-M. Lee, A new algorithm of software quality evaluation for user satisfaction, Inter-
national Journal of Innovative Computing, Information and Control, vol.4, no.10, pp.2639-2647,
2008.
[20] C. Alves, COTS-based requirements engineering, Component-Based Software Quality: Methods and
Techniques, vol.2693, pp.21-39, 2003.
[21] E. Letier, J. Kramer, J. Magee and S. Uchitel, Deriving event-based transition systems from goal-
oriented requirements models, Automated Software Engineering, vol.15, no.2, pp.175-206, 2008.
[22] D. Amyot, Introduction to the user requirements notation: Learning by example, Computer Net-
works, vol.42, no.3, pp.285-301, 2003.
[23] H. W. Jung and B. Choi, Optimization models for quality and cost of modular software systems,
European Journal of Operational Research, vol.112, no.3, pp.613-619, 1999.
[24] M. Visee, J. Teghem, M. Pirlot and E. L. Ulungu, Two-phases method and branch and bound
procedures to solve the bi-objective knapsack problem, Journal of Global Optimization, vol.12, no.2,
pp.139-155, 1998.
[25] G. B. Dantzig, Discrete-variable extremum problems, Operations Research, vol.5, no.2, pp.226-288,
1957.
[26] C. G. D. Silva, J. Climaco and J. R. Figueira, Core problems in bi-criteria {0, 1}-knapsack problems,
Computers & Operations Research, vol.35, no.7, pp.2292-2306, 2008.
[27] T.-Y. Lee, Y.-H. Fan, Y.-M. Cheng and C.-C. Tsai, Hardware-software partitioning for embedded
multiprocessor FPGA systems, International Journal of Innovative Computing, Information and
Control, vol.5, no.10(A), pp.3071-3083, 2009.
[28] C. Bazgan, H. Hugot and D. Vanderpooten, Solving efficiently the 0-1 multi-objective knapsack
problem, Computers & Operations Research, vol.36, no.1, pp.260-279, 2009.