Académique Documents
Professionnel Documents
Culture Documents
0), and
c
inf { c
R : r
1.0} (1)
Where e is the total effort expended on all the components and
c
]
]. Reliability of a module i is the
probability Ri, that the module performs its functions
correctly. Application begins execution in module one,
produces correct output then transfers controls to next module
and terminate after module n completes. Two absorbing state
C and F are added to the DTMC matrix of the application
architecture, representing the correct output and failure of the
application. Then the transition probability is modified
toR
P
]
, which is the modification of original transition
probability between modules i and j. which denotes that
module i produces the correct output and control transfers to
module j. Reliability of an application is the probability of
reaching the absorbing state C of the application. To denote
the correct execution, create a directed edge from final state n
to the absorbing state C with transition probabilityR
n
.
Similarly failure behaviour is denoted by creating a directed
edge from final state to absorbing state F with transition
probability ( 1-R
3) Let
nn
=D . P
4) Compute S
nn
=(I )
-1
5) R =s
1,n
r
n
Where P is the nn probability transition matrix and S is
nn visit statistics matrix. Q is a matrix obtained by deleting
rows and columns corresponding to C and F.
B. Component Level Modelling
Above section indicates that component reliability is
essential for the determination of system reliability. Each
component of a software system has different characteristics
and hence each of them produces different reliability values
even though same amount of effort is expended. Therefore it
is very essential to capture the relationship between effort and
reliability of every component. Two approaches to model the
effort reliability relationships are presented below.
(i)Software Reliability Models (SRMs):
Two important functions used in SRM [5] are Mean Value
Function and Conditional Reliability Function. Mean Value
Function relates the expected number of faults detected and
the effort or testing time. Mean value function [12] is used by
Conditional reliability function to compute the reliability for a
particular mission time.
m
(t) = o
(1 - c
-b
i
t
i
) (3)
r
= R (t
+t
m,n
l t
) (4)
= c
-(m
i
(t
i
+ t
m,n
)- m
(t
i
))
Where m
=
cxp[u
i
](cxp[[
i
i
] -1)
[
i
n
=1
(6)
Whereo
,[
=
Iog( 1+
i
c
i
ex [o
i
]
)
[
i
( 7)
IV. OVERVIEW OF THE PROPOSED
METHOD
A. Reusable System Modelling
Fig.1. shows the schematic overview of the proposed
model [2] adapted for the design process of software
components. The main focus on Component Based Software
Engineering (CBSE) process is the component development
process. From the figure it can be viewed that the design
process can be assumed as a waterfall model with four steps,
design, realization, test execution, and finally delivery to the
component repository. The main characteristics of proposed
model are:
(i)Preparation step/design decisions: This step is an entrance
step into the process. The outcome of this stage is a work-
order, guiding design and verification efforts.
(ii)Verification step/defect detection: This step results in the
detection of unplanned side effects. Regression testing used
for this purpose.
(iii)Metadata: The model is based on metadata. Hence the
need for manual intervention is very small.
The two important stages in the model are preparation and
verification. Algorithms used in these stages are described
below. At the preparation stage when a component is needed
the central decision regarding the component is based on reuse
or adaptation of the component.
AR
i
derives all requirements shared by all variants
and versions of a component. It is the intersection of
all requirements addressed by all entities of a certain
component
C
i
: AR
i
={
jk
Req(C
ijk
)}
International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013
ISSN: 2231-5381 http://www.ijettjournal.org Page 2033
BRi is the set containing the requirements addressed
only by a sub-set of the variants and versions of a
certain component C
i
. BR
i
={
jk
Req (C
ijk
)} AR
i
CR(r) gives the set of versions and variants that
address the requirement r, of CR(r) ={C
ijk
| {r}
Req (C
ijk
)}
Expressions above give overall information about the
different variants and versions of the components. From this
information divide the requirements into those addressed by
variants, versions and sub set of variants and versions. This
information helps the developers to find out a suitable
component for reuse. This information also helps to derive a
work order for each concrete component. Work orders are
used to estimate the amount of works applied to each
component in order to adapt to a new application.
Fig. 1 Overview of the model
At the verification stage unplanned side effects are
detected. Regression testing is used to detect unplanned side
effects based on the information from work order. Unplanned
changes during the development must be found and corrected
by the developers. To achieve a continuous improvement of
decision supporting relations, undocumented dependencies in
the relations between components should be updated and
added.
V. RESULTS AND DISCUSSION
This section shows the effectiveness of architecture based
optimization framework to obtain a desired system level
reliability target with minimal testing effort. By incorporating
component reuse effort in the optimization framework the
testing effort will be minimized compared to the recent
literature works [1].
In system level modelling, architecture of the application
is represented by DTMC matrix. DTMC shows the flow of
control among the components with transition probability
matrix. Fig 2 shows the architecture and transition
probabilities of an example application. A real time
application consists of four components is taken for the sake
of illustration. System level modelling is used to calculate the
overall system reliability. Estimates of component reliabilities
are essential to compute the overall system reliability.
Assessing the reliability of individual components depends on
whether or not the component code is available, the testability
of the component and whether it can be reused or not.
Component level modelling is used to capture the effort
reliability relationship of a component.
Architecture based optimization procedure needs the
system reliability expression and effort reliability function for
each component. The proposed model focuses on
incorporating component reuse effort in the optimization
procedure. It is based on associating metadata with the
components. Main focus in this system is the component
Fig.2 Application architecture
development process. During design phase the different
versions and variants of components are identified and they
are analysed to record the used and unused versions of the
components, test cases covered and the various requirements
of each of the components in the component repository. When
a new component is needed, central decision regarding
whether the component is reused or a new component is to be
constructed based on metadata. Component reusability
reduces the testing time or testing effort and the memory
utilization.
A. Performance Evaluation
Performance of the proposed system with the existing
system is evaluated by considering some of the performance
characteristics such as reliability, efficiency, complexity etc.
The following is the graph that depicts time and memory
utilized by both existing and proposed system. It can be
inferred from the graph that due to component reusability
model suggested in the proposed system, the memory and
time required for the completion of process in proposed
system is remarkably less compared to that of existing system.
Figure 2 shows the performance of proposed system with
existing system by considering the time constraint.
Testing time or testing effort needed in proposed system is
reduced to a much lower value compared to the testing time of
existing system. Here the blue colour bar indicates the testing
International Journal of Engineering Trends and Technology (IJETT) - Volume4Issue5- May 2013
ISSN: 2231-5381 http://www.ijettjournal.org Page 2034
time in existing system and green bar shows the testing time
of proposed system.
Fig. 2 Time Comparison Graph
Figure 3 shows the memory utilization in existing
system and proposed system. Memory utilization of proposed
method also shows considerable decrease from memory
usage of existing system.
Fig. 3 Memory Comparison Graph
VI. CONCLUSIONS, FUTURE WORK
This paper presents an architecture based optimization
framework to efficiently allocating the testing effort to critical
components to get a specified level of reliability target with
minimum effort. The framework considers the impact of
components in system reliability, which is governed by the
system architecture and effort reliability relationship. Log
Linear Process Function from mechanical system reliability is
used to model the effort reliability relationship. This system
also proposed a model that supports embedded software
components developers to use optimized variants of
components.
The advantageous of this model is achieved by
introducing a start and a completion step into a regular design
flow. The completion-phase provides automatic detection of
accidentally introduced side effects in redesign. The starting
phase supports the selection of the best matching candidate
from a repository of components given a set of requirements.
This promotes the reusability in the effort allocation model.
Future work is concerned with applying the optimization
framework when the parameters representing component
effort to reliability relationships are uncertain.
REFERENCES
[1] Lance Fiondella, Swapna S.Gokhale,Optimal Allocation Of
Testing Effort Considering Software Architecture,IEEE
Transactions on SoftwareReliability,Vol.61,No.2,J une 2012.
[2] Mikael Akerholm,J oakim Froberg,Kristian Sandstorm,Ivica
Crnkovic,A Model For Reuse And Optimization Of Embedded
Software Components
[3] Goseva-Popstojanova.K and K. Trivedi, Architecture based
approach to quantitative assessment of software systems,
Performance Evaluation, vol. 45, no. 2/3, pp. 179204, J un2001.
[4] Huang.C and J . Lo, Optimal resource allocation for cost and
reliability of modular software systems in the testing phase,
J ournal of Systems and Software, vol. 79, no. 5, pp. 653664,
May 2006.
[5] Yamada.S, H. Ohtera, and H. Narihisa, Software reliability
growth models with testing-effort, IEEE Trans. Rel., vol. R-35,
no. 1, pp. 1923, Apr. 1986.
[6] Yamada.S,H.Ohtera,Software Reliability Growth Modelfor
testing effort control,European J ournal of Operational
Research,vol 46,pp,343-349,1990
[7] Huang.C and S.Kuo,Analysis of incorporating logistic testing
effort function into software reliability
modelling,IEEETrans.Rel.,vol.51,no..3,pp.261-270,sep.2002.
[8] Yamada.S,Software quality reliability measurement and
assessment: Software reliability growth models and data
analysis, J ournal of internationalProcessing,vol.14,no.3,pp.254-
266,1991
[9] Winston.W and M. Venkataramanan, Introduction to
Mathematical Programming, 4th ed. Florence, KY: Cengage
Learning, 2002.
[10] Heineman G.H ,An evaluation of component adaptation
techniques,2
nd
ICSE workshop on component based software
engineering,1999
[11] Trivedi. Probability and Statistics with Reliability, Queuing and
Computer Science Applications, 2nd ed. New York, NY: J ohn
Wiley & Sons, Inc., 2002.
[12] Goel.A, Software reliability models:
Assumptions,limitations,and applicability, IEEE Trans.
Software Eng., vol. 11, no. 12, pp. 14111423, Dec. 1985
[13] Pulcini.G, Handbook of Reliability Engineering. NewYork,NY:
Springer-Verlag, 2003, ch. chapter Mechanical reliability and
maintenance models, pp. 317348.