Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Integrated Design of Production Strategy and Reuse

Scenario for Product Line Development

Zhiqiao WU, Jiafu TANG Xiaoqing WANG


Department of Systems Engineering, Key Lab of Integrated IBM Research--China
Automation of Process Industry of MOE Beijing, China
Northeastern University xqwangxq@cn.ibm.com
Shenyang, P. R. China
wuzhiqiao@hotmail.com

Abstract—One of the core problems of product line development is each specific developer. A domain model should also guide the
the coordination efforts of product builder and core-asset developer. developers in selecting variants they wish to accommodate into a
More specifically, it is the integration of production strategy decision system they build.
and core asset implemention scenario selection. In this paper, we
have developed the CoFAQ (Cost Optimization under Functional Although the core-asset developers have primary
And Quality goal satisfaction constraints) framework which provides responsibility for developing the product line design, the product
a systematic mechanism for management to analyze all possible builders contribute as well. For effectively contrive a design, it
products and evaluate various reuse alternatives at the must be considered adequately from two processes. A
organizational level, based on an integrated decision model (IDM). combination of the these processes will, however, have a different
The solution of CoFAQ is provided to assist decision-maker in character and different goals in different phases. One of the main
optimizing design when developing a product line towards objectives that traverses each phase of a development process is
minimizing cost, while satisfying system functional and quality to select the “best” set of core assets and build the “best” set of
requirements to a certain degree. Considered the IDM model is NP- products, but with difference of goals in each phase. In the
complete problem, a two-phased algorithm with heuristic (TPA) is product builders phase, it play at least two goals. First, during
developed to solve the model efficiently. Using the TPA, the IDM
domain analysis and product-line scoping, it identify and capture
boils down to a weighted set covering problem for production
common and variant requirements. The second goal is to
strategy decision sub-problem (PSD) and knapsack problem for
reuse scenario selection sub-problem (RSS). document a product line architecture, specify a range of variants
implemented by the architecture and document design decisions
Keywords-software product line; optimization model; heuristic related to variants. Since the satisfaction of quality requirements
depends also on the performance of software architecture and
component, it is obvious that the total quality control takes place
I. INTRODUCTION in a later phase. In the core-asset developers phase, the goal of the
Software product line (SPL) have been regarded as a preferred core-asset builders is assessing core assets sufficiently in order to
software development paradigm due to the large economic estimate appropriateness of their inclusion into the product line.
improvements they bring compared to one-at-a-time software Such a process may result in selecting several candidates or a
system development [1]. The products in a SPL are assembled particular asset, or in finding that some desired functionalities
from the organization’s core assets an attached process that cannot be found in existing core assets and the functionalities
describes how the core asset is used in product. A design of should be implemented in a new component or asset. They are
product line is a description of how the attached processes responsible for including sufficient information about each core
cooperate to yield products, and it captures how the organization asset’s quality to allow the builders to understand the assets and
builds any product in SPL [2]. Product line designs cover a wider make informed choices considered on the total quality
range of issues and is more complex than the typical project used requirements. In all phases, the choice may have significant
by single-product projects. One of the crucial and specific consequences on the development costs. Therefore, the tools that
activities is core assets development. Core-asset developers have support decisions that minimizing development cost, while
primary responsibility for this process (see Figure 1). The core- keeping the value of properties of the functional and quality
asset developers contribute to the product line design from the within a certain threshold, would be very helpful to the product
perspectives of having analyzed all products within the scope of line practitioners’ tasks.
the product line and having developed or selected the
organization’s core assets. The core-asset developers provide
guidance to the product builders on how the assets should be used
by attaching a process to each core asset. Another specific
activities is production strategy charged by product builders. The
product builders contribute to a product line design from their
perspective of actually executing the product-building process
when they meet certain (typically functional) requirements. In this
process a domain model will be formated to tell what kind of
systems they can build based on a product-line architecture for Figure 1. Relationships between core-asset developer and product builder.
This work was financially supported by project of National Natural Science
Foundation of China (NSFC 70721001, 70625001) and project of Fundamental
Research Funds for the Central Universities (N090604004)

69
A significant breakthrough in this field is the first appearance II. INTEGRATED DECISION MODEL
of optimization techniques [3, 4], and it rapidly draws a great deal
of scholars’ attention [5]. Jung [4] firstly proposed a 0-1 knapsack A. Problem Formulation and Notations
model to select the set of software requirements to yield To formulate the problem, the following notations are used
maximum value while minimizing costs. The concept of value is throughout this paper.
kept quite general and may be interpreted as an implementation
priority. Considering the reliability growth as a function of cost, L Number of products within a target SPL system;
Berman and Cutler [3] introduced an optimization model to J Number of modules within a target SPL system;
maximize the reliability of an assembly of assignments under a m j Number of reuse scenarios available for module j;
budget constraint. Thereafter, many scholars consider it as a cost-
minimization problem within reliability constraint. Taking R Number of regions of target market;
delivery time and product reliability into account, Cortellessa [6] j = 1,..., J Index of modules in a target system;
addresses a model that views it as a cost-minimization problem i = 1,..., m j Index of reuse scenario;
under quality constraints, by building costs and quality attributes
l = 1,..., L Index of products in a target system;
on a common set of decision variables in a special framework.
They both are integrated solutions for cost management and r = 1,..., R Index of regions of target market;
failure rate control in software development. Cortellessa [7]. k = 1,..., K Index of quality goals of a target system;
further induces the goal-oriented requirements engineering. It t = 1,..., T Index of functional goals of a target system;
makes optimal tools sufficient to describe the satisfaction of
system requirements in a precise way. Gt The t-th group of functional goals;
However, none of the previous work provides an optimization cij Implementation cost of reuse scenarios i for module j;
method extending production strategy determination to τl The cost of the l-th assembly product, i.e., the cost of
component reuse scenario selection. In fact, there is complex and
integration and adaptation needed to build the product;
nonlinear relation between the two issues, the models or
algorithms for product line reuse optimization considering them U Accepted level of satisfaction of requirements for the SPL
simultaneously received little attention. This paper attempts to system;
tackle these still unsolved problems where the problem domain Satij ( k ) Satisfaction level of quality goal k when module j is
broadly covers the work range of the product builder and the implemented by using scenario i;
core-asset developer by using optimization technique. χ ijk The probability that test input occurs during the real use
As integrated modelling of the feature-oriented for functional of operation k when module j is implemented by using scenario i;
requirements and goal-oriented for quality attributes would makes Fgl (t ) is equal to 1 if the t-th functional goal is satisfied by
developers and customers come up with realistic overall the l-th product, and 0 otherwise;
requirements for the target system early, avoiding possible
expensive rework in later stages of the software lifecycle [8]. And, M l The set of modules was included by product l;
a pre-selection of core assets and products at the requirements Pj The set of products was made up by module j;
phase, in particular related to a combination of functional and Ar The set of alternative group goals was belong to market
quality requirements, can sensibly improve the efficiency of the
whole SPL development process [9] and decrease the region r;
development costs [7], we have developed the CoFAQ framework. Cr The set of common group goals was belong to market
For coordinates the efforts of product builders and core-asset region r ;
developers effectively, we first devise a non-linear optimization xij Decision variable, it equals 1 when module j is
model (IDM) where 0-1 variables select product and core-asset
instances, the special objective formulation represents the cost of implemented by using scenario i, and 0, otherwise;
the whole software product line to be minimized, and each major yl Decision variable, it equals 1 when product l is selected in
constraint represents the value of a property of the whole product the platform, and 0, otherwise;
line to be kept under/over a certain threshold in order to meet w j An integer decision variable, that represent the number
functional and quality requirements. Such formulation involves of reuses of the module j.
further variables representing the number of reuses of the core-
asset in a pilot study. Since these combining variables enter the
cost objective and the requirement constraints formulation, the B. Cost Analysis and the Objective Function
model takes into consideration the production strategy’s costs and In this section we try to setting out reuse cost from view
functional requirements together with core assets’ costs and points of product line given in [10]. Clements [1] summarizes the
quality requirements, and makes optimal decision in not only the activities in product line. The issue of reuse strategies and their
best reuse scenario to be implemented for each core asset, but also costing policies in reuse-based development is introduced in [11].
the best production strategy to fulfill the functional and quality In order to assign reuse cost from various scenarios efficiently
constraints while minimizing development costs. and identify operations without repeat costing, we reinvestigate
the operations categorization and contrive a 6-layers hierarchical
This paper is organised as follows. Section 2 gives integrated scheme for a common software product line process from the
decision (IDM) process. Then, considered the model is NP- perspectives of work range in the product builder and the core-
complete problem, a two-phased algorithm with heuristics (TPA) asset developer, as shown in Figure 2. And operations for each
is developed in section 3. Finally, concluding remarks are given in layer are explained in the following subsections. For simplicity,
section 4. let C represent the cost regards to an operation, and W represent
the number of reuses of the asset in a pilot study.

70
derived from the direct effort invested in performing private
modifications to a certain artifact, at the specific product level, to
obtain a specific product. ○ 8 Black-Box reuse ( C ): Acquiring a
BB
copy of a repository asset “as is” (that is, with no modifications)
for a specific product as a private asset. Because the reused
artifact itself is not changed, there is no modification cost as such.
However, extra effort may be required to adapt the architecture,
interfaces, or other artifacts of the target product in order to
enable the asset to be integrated.
Operations of layer-6 From the perspective of the product
builder, an important phase is how to integrate the available assets
to develop a targeted application or a new asset. The operations
involved in this phase are the activities of analysis, design, and
coding of new or modified artifacts, as well as integration,
verification and validation activities performed directly on the
available asset. The cost incurred in this phase includes the effort
on integration, verification, validation and risk management [12].
Figure 2. The6-layers hierarchical scheme of reuse scenario processes. The cost of operations in this layer are determined by the
This article assumes that a core-asset repository has been assembly product τ l .
established in which assets are stored or cataloged for the benefit
of other products. From the core-asset developer perspective, In summary of the aforementioned operations of an asset in
there are several acquisition ways of asset, including purchasing product line, one can generalize the product line process and lead
asset from a source outside the organization, effort of investment to six typical reuse modes from pure development to systematic
in seeking an appropriate asset, whether it is stored in a core-asset reuse. They are pure development (PD), opportunistic reuse (OR),
repository or available elsewhere either in an organization or in controlled reuse (CR), systematic reuse-COTS (SRC), systematic
public domain, and a new asset from scratching. These operations reuse-adapted (SRA) and systematic reuse-new (SRN), as shown
involved cost is presented as layer1 to 5. in Figure 3. The node denoted by a circle in the Figure 3 shows an
operation with a specific number; an edge between two nodes
Operations of layer-1 ○ 1 *External Utilization( C
EU
): It is indicates there is an arc between operations from left to right, and
typically the activities of acquiring a Commercial Off-The-Shelf the star(*) indicates that operations were implemented one time,
(COTS) asset and cataloging it in the repository. The cost is without importing repeat in the same system.The reuse mode PD,
usually the purchase price. OR and CR are called opportunistic reuse, and the remains are
systematic reuse.
Operations of layer-2 ○ 5 Copy and Paste( C
CP
): It is the
activity of acquiring a copy of a private asset for a specific
product. The source asset is not cataloged in the repository, and
awareness of its existence is based on personal knowledge. ○ 6
Made to order( CMD ): The activity of constructing a target private
asset directly from scratch.
Operations of layer-3 ○ 2 *Made for Reuse( C
MR
): The
activity of constructing a new repository asset from scratch. It is
expected that the asset will be developed in conformance with
applicable standards that make it effectively reusable. ○3
*Mining and Cataloging( CMC ): The activity of identifying and Figure 3. Typical reuse modes.

acquiring an existing private asset, from a certain product, and The cost under the typical six reuse modes are given in detail
then storing and cataloging formally as a repository asset. ○ 4
as follows.
Cataloged and Commission( CCC ): The activity of acquiring a
1) Pure Development (PD): In this mode, each product
copy of a repository asset for a specific product as a private asset.
Although in most cases this cost is expected to be close to zero, team responsible for one module is unaware of the existence
license or royalty fees may apply as well. of core-asset and develops its target from scratch via white-
box reuse. Thus, the total cost composed of charge for scratch
Operations of layer-4 ○7 *Adaptation for Reuse( C
AR
): It is effort and for modification, and of course the reliability is
the operation of modifying an existing repository asset to product of the ones of the two operations, as formulated in (1).
compatible with the reuse standards applicable for a special PD cost c(w) = w × CMD + w × CWB (1)
purpose.
Operations of layer-5 Two types of operations are available 2) Opportunistic Reuse (OR): Each group responsible for
for software reuse, they are: ○ 9 White-Box reuse ( C ): some of the L modules knows that there exists a viable source,
WB but it is not stored in any shared repository or registered in a
Modifying an existing private asset into another private asset. It public catalog. Therefore, each of the products invests

71
independently in searching for it, obtaining a copy of it as a discriminator that enables us to identify common and variant
private source asset and then modifying it (white-box reuse) for requirements or variation points. Variant requirements are
utilization in target component. identified in two ways [13]; first, alternative variation: from a set
OR cost c( w) = w × CCP + w × CWB (2) of alternative goals, only one goal can be chosen to achieve a
specific domain product-defining as an exclusive relationship,
3) Controlled Reuse (CR): Under this mode, a copy of a which means a “1 from n choice”. Second is optional variation
private component is first mined and cataloged as a repository (goal): optional scenarios for a goal may or may not be integrated
asset. Other than the mining and cataloging effort, no other effort into the system. This means that from a set of optional scenarios,
is invested in modifying it, and it is made available for other any number of scenarios can be chosen (from zero to all).
products for acquisition in its original form. Thus, each of the Consequentially, optional goal is less considered in first-order
products will acquire a copy, similarly to the previous mode. cost models, but in economic models. In this paper, we try to
CR cost c( w) = CMC + w × CCC + w × CWB (3) formulate production strategy assignment with constraint
functions for common and alternative goals satisfaction.
4) Systematic Reuse-adapted (SRA): In this case, it is
responsible for looking for code assets in specific products, Functional requirements are referred as functional goals,
mining them, and cataloging them in the component. Then, it will which can be effectively specified in “Available” or “N/A”. The
undergo modifications to convert it into a reusable asset. relationship between the functional goals and the products is
described by Fgl(t) where it equal to 1 if the t-th goal is satisfied
SRA cost c( w) = CMC + C AR + w × CBB (4)
by the l-th product, and 0 otherwise. For addressing the method in
5) Systematic Reuse-new (SRN): In this mode, the acquisition widely applicable, it assume the common and alternative relations
cost represents construction man-hours of the new component. It expressed by grouping goals. Certainly, single goal in a group is
is based on new for reuse development (instead of adaptation). allowed as a special case. For common goals, whatever the
products selected in product line a group of goal should be
SRN cost c( w) = CMR + CAR + w × CBB (5)
implemented compulsorily for each special market region r,
6) Systematic Reuse-COTS (SRC): It is typically the activities formulated as constraint (7).
p
(7)
of acquiring a COTS asset form the market. Then, it will undergo SCG = ∏ ∏ ∑ Fg (t ) × y l l = 1, ∀r
modifications to convert it into a reusable asset. Gt ∈Cr t∈Gt l =1

SRC cost c( w) = CEU + C AR + w × CBB (6) On the contrary, the only one alternative group of goal with
an exclusive relationship can be chosen for each special market
In an industrial software projects, every alternative reuse region r, formulated as constraint (8).
scenario can be derived from a special mode, regardless of the p
(8)
specific costing policies used. Considered on the characteristic of SAG = ∑ ∏ ∑ Fg (t ) × y
Gt ∈Ar t∈Gt l =1
l l ≥ 1, ∀r
assets possessed by an organization, developer could directly
produce and weigh alternative implemented scenarios based on 2) Reuse Sscenario Sselection to Ssatisfy Quality Goal
the modes depicted in the former formulas. It obviously that Constraint: Unlike functional goals, in most cases quality goals
relation between reuse mode and scenario is not one one-to-one should be not leveraged merely by satisfied and unsatisfied, i.e. (1,
correspondence in actual practice. 0). As discussed in the former sections, the satisfaction of quality
requirements depends mainly on the performance of software
We devise the objective function F represents the combining architecture and component, it is obvious that the total quality
cost of the production strategy and reuse scenario to be minimized control takes place in the core-asset developers level.
simultaneously:
F ( xij , yl , w j ) = productionstrategy cost + reusescenario cost In light of the goal-oriented requirement engineering approach
[14], assuming that satisfaction level Satij(k) is available by
n mj p
= ∑∑ c( w j )ij xij + ∑τ l yl
matching core-asset reuse scenario preference up to the pattern
j =1 i =1 l =1
and its value corresponds to integer number in [0,1]. Therefore, it
could explicitly formulate the overall performance of module j
In next section, we try to provide a mathematical model for
was implemented by using scenario i can be evaluated in terms of
making reuse scenario selection more effectively.
a weighted satisfaction of each goals, and thus is given as
K
C. Goal Satisfaction Constraints Satij = ∑ χ ijk × Satij ( k ) (9)
In this subsection, we try to model system functional and k =1

quality requirements as a domain analysis for product-lines. Thus, no matter in which scenario a module is reused, the
Feature-oriented domain analysis is a widely accepted domain targeted software system should meet an accepted overall
analysis method for modelling common and variant requirements satisfaction level at least U. It is given as:
mj
for product lines. Goal-oriented analysis, on the other hand, n
(10)
SAT = ∑∑ ω j Satij xij ≥U
focuses on quality attribute analysis in single system development. j =1 i =1
Jarzabek [8] provides model integrating these two well-known Where ω j is the weight of module j. The AHP is utilized to find
methods, in which requirements of a domain can be categorised
into features and quality attributes. In agreement with Jarzabek’s the module weights based on the access frequencies of the
work, we illustrate goal satisfaction constraints functional and modules[15].
quality goal respectively.
D. Integrated Decisions Model
1) Production Strategy Ddecision with Functional Goal
Constraint: In a product line, since goals should provide the In summary of the above formula, one can conclude the
rationale for variations in domain requirements, it is used as a integrated decision on minimum product line cost consider

72
production strategy decision and reuse scenario selection Secondly, if the alternative sets have the same munber of the
simultaneously using the following model (IDM): elements, it cut down the set with more assembly cost. Due to the
n m p j
(11) ultimate aim of the IDM is cost minimization.
min F ( x , z ) =
ij c( w ) x + τ y
ij ∑∑ j ij ij ∑ l l
j =1 i =1 l =1 Based on the Cut Set Strategy (CSS), therefore, in order to
mj
n K deduce the optimal production strategy the following procedure is
s.t. SAT = ∑∑ ω j Satij xij ≥U , where Satij = ∑ χ ijk × Satij (k ) used:
j =1 i =1 k =1
(12) PS_Procedure: production strategy decision Heuristic (PS)
p for product line
SCG = ∏ ∏ ∑ Fg (t ) × y
Gt ∈C r t∈Gt l =1
l l = 1, ∀r (13)
Begin
p
Step1: Initiation t=0; set Gt unlocked
SAG = ∑ ∏ ∑ Fg (t ) × y
Gt ∈Ar t∈Gt l =1
l l ≥ 1, ∀r (14) Step2: Solve for set covering problem (Traditional Algorithm)
Step3: If find the unlocked smallest number of Gt, Cut Gt
mj
from Ar then go to Step5
yl ≤ ∑ xij , ∀j ∈ { j : j ∈ M l , l = 1,..., L} (15)
i
Else if the alternative sets have the same munber of
mj the elements, go to Step 4
∑x
i
ij ≤ 1, ∀j (16) Else go to Step 6
Step4: If find the unlocked Gt with max assembly cost, Cut
w j = ∑ yl , ∀j (17) Gt from Ar then go to Step5. Else go to Step 6
l∈Pj
Step5: If the alternative goal constraint is unsatisfacted then
xij , yl = 0 /1, ∀i, j (18) restore Gt and set it locked. Go to Step 3
Else go to Step 6
Constraint (15) shows if a product is selected in the Step6: Output the feasible solution or non-feasible solution,
production plan, all the composed modules of the product are then stop
also included. It is easy to find that the IDM problem here End
addressed is NP-complete. It can be hardly solved by traditional
nonlinear programming techniques such as GINO, gradient search B. Reuse Scenario Selection Sub-problem (RSS)
methods, and quasi-Newton method, where only the local optimal
solution may be found. However, the computation will also After the cover sets determining, the products and modules
become more complex and difficult with increased number of was assiged at the same time. At next step the core-asset builders
products, modules, and reuse scenarios. It is difficult to solve by need select the most effective reuse scenario for each module.
traditional nonlinear programming techniques. Thus a more Dantzig [16] showed that an optimal solution for the
effective method is needed to solve the IDM model. continuous 0-1 knapsack problem could be obtained by sorting
the items according to their non-increasing profit-to-weight ratios
III. A TWO-PHASED ALGORITHM(TPA) FOR THE IDM (also called efficiencies), and adding them to the knapsack until
the capacity is reached. It can be observed that the reuse scenario
It is easy to find that the IDM problem here addressed is NP- selection procedure is similar to 0-1 integer knapsack problem.
complete since it boils down to a weighted set covering problem Thus, this paper develops a reuse scenario selection Heuristic (RS)
for production strategy decision sub-problem (PSD) and knapsack method for this 0-1 integer programming.
problem for reuse scenario selection sub-problem (RSS). For
solving the two sub-problems effectively, production strategy RS_Procedure: reuse scenario selection Heuristic (RS) for
decision heuristic (PS) and reuse scenario selection heuristic (RS) module
has been provided respectively.
Begin
A. Production Strategy Decision Sub-problem (PSD) Step1: Initiation t=0; SolutionSet=“null”
There are two kinds of grouping goals (i.e. alternative and Step2: Sorting the scenarios according to their non-decreasing
common) for production strategy decision constraints. However, cost-to-satisfaction level ratios (i.e. efficiencies etj)
we can identify the common grouping goals which is compulsory Step3: Find xtj where min etj for all j
component for optional products and include them in the product Update SolutionSet with xtj
plans for satisfacting SCG constraint, that means we just focus on
the alternative grouping goals. Obviously, it can use the Step4: Loop the SolutionSet’s satisfaction to accepted level U
calculated by (2)
traditional greedy algorithm to get the minimum sets which cover
all alternative grouping goals. Still for selecting a minimum cost Loop up to find xt+1j with min (et+1j - etj ) and
of the modules to develop and satisfacting SAG constraint, we unlocked for all j
need cut the fungible alternative grouping goals. Considered If xt+1j = “null”, set xtj locked
component implementation cost and reusability, we define a Cut End loop
Set Strategy (CSS) for geting least sets (i.e. modules) and Update SolutionSet with xt+1j
minimum assembly costs solution as listed: End loop
Firstly, it cut the set with the smallest number of the elements. Step5: Output the solution with minimum cost calculated by
Due to get rid of a larger set may reduce the number of reuses and SolutionSet
make the solution infeasible, and the cost estimation functions End
indicate that the more times of reuse the less cost may pay.

73
quality requirements. Secondly, it might be difficult to obtain
optimal solutions of large-scale instances due the non-linearity of
the model. In this cases approximate solutions can be obtained by
the TPA algorithm with heuristic. To a great extent, the parameter
estimation of the CoFAQ is based on evaluated data and is
therefore subject to the inaccuracies of evaluation. Moreover, in
different reuse factors (e.g. various units in an organization,
applying reuse at different opportunities, or even different
individuals using reuse technology), estimation might vary
significantly. However, when this model is applied consistently
within an organization, the accumulated data can be analyzed for
better estimates in the future. Recently, we are analyzing the data
obtained from a large number of companies in order to derive
organizational impact factors that can be applied for estimations
more precise.

Figure 4. Solution framework of the method with heuristics framework and


REFERENCES
overall procedure of the TPA with heuristics. [1] P. C. Clements, L. G. Jones, and L. M. Northrop, Project management in
a software product line organization, the IEEE Computer Society, vol. 22,
To summarize the above analysis, the solution framework of no.5 pp. 54-62, 2005.
the two-phased algorithm (TPA) is illustrated as shown in Figure [2] F. Ahmed and L. F. Capretz, The software product line architecture: an
4. The overall procedures of the TPA with heuristics are: empirical investigation of key process activities, Information and
Software Technology, vol. 50, no.11 pp. 1098-1113, 2008.
Framework of the two-phased algorithm (TPA) [3] O. Berman and M. Cutler, Optimal software implementation considering
reliability and cost, Computers & Operations Research, vol. 25, no.10 pp.
Begin 857-868, 1997.
Step1: Initiation t=0; set Gt unlocked [4] H. W. Jung, Optimizing value and cost in requirements analysis, IEEE
Step2: Solve for set covering problem (Traditional Algorithm) Software, vol. 15, no.4 pp. 74-78, 1998.
Step3: If find an unlocked Gt using PS_Procedure go to Step 4 [5] V. Cortellessa, F. Marinelli, and P. Potena, Automated selection of
Else go to Step 7 software components based on cost/reliability tradeoff, in Lecture Notes
in Computer Science Heidelberg: Springer-Verlag Berlin, 2006, pp. 66-81.
Step4: Cut Gt from Ar
[6] V. Cortellessa, F. Marinelli, and P. Potena, An optiization framework for
Step5: If the alternative goal constraint is unsatisfacted then "build-or-buy" decisions in software architecture, Computers &
restore Gt and set it locked, go to Step 3 Operations Research, vol. 35, no.10 pp. 3090-3106, 2008.
Else go to Step 6 [7] V. Cortellessa, I. Crnkovic, F. Marinelli, and P. Potena, Experimenting
Step6: If find the optimal reuse scenario for the selected modules the automated selection of COTS components based on cost and system
by using RS_Procedure, then storing the optimal solution. requirements, Journal of Universal Computer Science, vol. 14, no.8 pp.
Go to Step 3 1228-1255, 2008.
Else restore Gt and set it locked, then go to Step 3 [8] S. Jarzabek, B. Yang, and S. Yoeun, Addressing quality attributes in
Step7: Output the globally optimal solution x*, y* by comparing domain analysis for product lines, Iee Proceedings-Software, vol. 153,
local optimal objective values, then stop no.2 pp. 61-73, 2006.
End [9] S. S. Gokhale, W. E. Wong, J. R. Horgan, and K. S. Trivedi, An
analytical approach to architecture-based software performance and
reliability prediction, Performance Evaluation, vol. 58, no.4 pp. 391-412,
IV. CONCLUSIONS 2004.
[10] B. Boehm, Managing software productivity and reuse, IEEE Computer
The model described in this paper is a powerful tool for this Society, no.9 pp. 111-113, 1999.
issue by integrating design of production strategy and reuse
[11] A. Tomer, L. Goldin, T. Kuflik, E. Kimchi, and S. R. Schach, Evaluating
scenario, when developing a SPL towards minimizing cost, while software reuse alternatives: a model and its application to an industrial
satisfying systems functional and quality requirements to a certain case study, IEEE Transactions on software engineering, vol. 30, no.9 pp.
degree. The major contribution of this model is the clear 601-612, 2004.
identification, evaluation and comparison all possible products, [12] Y. Peng, G. Kou, G. X. Wang, H. G. Wang, and F. I. S. Ko, EMPIRICAL
together with alternative scenarios of core assets implemention in EVALUATION OF CLASSIFIERS FOR SOFTWARE RISK
a focused and accurate way. Therefore, it provides a systematic MANAGEMENT, International Journal of Information Technology &
mechanism for management to analyze products and evaluate Decision Making, vol. 8, no.4 pp. 749-767, 2009.
various reuse alternatives at the organizational level, viewed from [13] J. Kim, S. Park, and V. Sugumaran, DRAMA: A framework for domain
the standpoint of the entire product line. There are two other requirements analysis and modeling architectures in software product
contributions. Firstly, we describe a special formulation for the lines, Journal of Systems and Software, vol. 81, no.1 pp. 37-55, 2008.
case of cost minimization under functional and quality [14] A. v. Lamsweerde and E. Letier, Handling obstacles in goal-oriented
requirement constraints. Such formulation involves further requirements engineering, IEEE Transactions on software engineering,
vol. 26, no.10 pp. 978-1005, 2000.
variables representing the number of reuses of the core-asset in a
pilot study. Since these combining variables enter the cost [15] H.-W. Jung and B. Choi, Optimization models for quality and cost of
modular software systems European Journal of Operational Research,
objective and the requirement constraints formulation, the model vol. 112, no.3 pp. 613-619, 1999.
takes into consideration the production strategy’s costs and
[16] G. B. Dantzig, Discrete-variable extremum problems, Operations
functional requirements together with core assets’ costs and Research, vol. 5, no.2 pp. 226–288, 1957.

74

You might also like