SlideShare a Scribd company logo
1 of 8
Download to read offline
International Journal of Research in Engineering and Science (IJRES)
ISSN (Online): 2320-9364, ISSN (Print): 2320-9356
www.ijres.org Volume 1 Issue 8 ǁ Dec 2013 ǁ PP.20-27
www.ijres.org 20 | Page
Research on Stability of Software Structure Based On Design
Patterns
Zheng Liu1
, Qian Zhang2
, Hai Zhao1
1
(College of Information Science and Engineering, Northeastern University, China)
2
(Technology Strategy & Development Department, Neusoft Corporation, China)
ABSTRACT: In view of metric for stability of software structure, a metric method based on design pattern is
presented, which makes use of the influence of design patterns in OO software network as typical microstructure.
Firstly, the application of design patterns is studied in software network, and then the stability of microstructure
extracted from design patterns is analyzed by Lyapunov method. The concept of Coverage of Design Patterns is
presented according to the application of design pattern in software system, and is used to metric for the
stability of the whole software structure.
Keywords - stability of software structure, design patterns, software network, OO software
I. Introduction
From the point of view of software design, internal structure of software will bring great influence on
the system reliability. Generally, the more complex the software structure is, the worse the structure stability is,
and more structural defects are implied in the system which can affect the system reliability. As to structural
stability, Elish believes that it is a sign of the ability that maintain their original structural characteristics during
the evolution, the greater the stability is, the stronger the ability maintaining original characteristics when some
arguments such as scale or structure change[1]
. Recently, researchers find that the software network presents
typical characteristics of complex network if many reusable elements such as class, object, module, and
subroutine are regarded as the nodes and the relationship between these elements are regarded as arcs in network
[2-8]
.
Any complex system is composed of many basic tectonic units according to certain rules, and the
stability of these basic tectonic units can affect the stability of the whole system directly. Software design
patterns describe common problems appearing during development of OO software and effective solution for
these problems. Application of design patterns in software design can improve the openness, compatibility,
stability and scalability of software system and make development and maintaining more easily. After
researching on a large number of OO software, it is found that design patterns can be found anywhere in each
software system, which are used repeatedly in order to resolve some common problems, and they compose a
complete system. From the structure of design patterns, each pattern is a microstructure has certain function
composed of several classes or interfaces and their mutual relationship. If extracting from these microstructures,
corresponding connected subgraphs will be got. Analyzing on these small connected subgraphs can help to
understand the global formation mechanism of network structure because they are basic elements to compose
the whole network. These small connected subgraph are usually used to study the structure design and evolution
of network in the area of complex network. Now this method is used to research the variation of software
structure based on design patterns in the area of software engineering that provide new perspective on the study
of characteristics of whole software system.
Research on stability of software structure based on design patterns
www.ijres.org 21 | Page
II. Design patterns in software network
2.1 Establish software network
The process of establishing software network is: starting from source code, extracting the structural of
system firstly, then abstracting to network model. As to OO software, class is the basic constituent elements and
class-level software network is that the nodes are abstracted from classes and the arcs are abstracted from
relationship between classes. The specific operation is shown as Fig.1.
class Point{
int x,y;
}
class CGrid{
void setCharAt (char ch, Point p);
void getCharFrom (Point p);
}
abstract class CGObject{
Point location;
}
class PointGrid extends CGrid{
CGObject displayList[];
void addCGObject (CGObject obj);
void deleteCGObject (int index);
}
class BorderedPrintCGrid extends PrintCGrid{
void setBorderCharacter (char ch);
void displayGrid();
}
CGrid
PrintCGrid
BorderedPrintCGrid
Point
CGObject
Extract class
diagram
from source
code
Abstract to
network
Fig.1 Extraction of software network
This network model is described as: N=(V, A, T, W). Among them, V(Vertices)={vi | i = 1, 2, …, n }
represents the set of n nodes in network, and each node represents a class in software system. A(Arcs)={(vi, vj, t)
| vi ∈ V, vj ∈ V, t ∈ T, i≠j } represents the set of arcs in network and each arc represents the relationship
between two classes. There is usually not single relationship between two classes in real software system, for
example, there is dependency and also generalization between class A and class B, so t is a composite value.
T(Type)={t | t ∈ {G, U, D} } represents the relationship between two classes. Here G means generalization, D
means Dependency and U means usage including association and aggregation. W(Weight)={w(a)|w(a)=f(t, δ, N),
a ∈ A, t ∈ T, δ ∈ (0,1), N ∈ {0,1,2……}}represents the weight of each arc.
2.2 extracting the network structure of design pattern
There are 23 design patterns for OO software. In order to study the influence on software structure
brought by design patterns, the structural network of design patterns are extracted according to the definition of
design pattern and its structural description. The specific extracting method is as follows:
(1) describing the design pattern structure by UML according to its definition, and then analyzing the
relationship between classes, interfaces and objects.
(2) Abstracting nodes in software network from classes, interfaces and objects in UML class diagram.
(3) Abstracting arcs in software network from the relationship between two elements in UML class diagram,
and determined the type value of the arc according to the relationship type.
Different from the extraction of the whole software network, the description of type of arc in design
pattern network should be more meticulous. Description the type of arc as generalization, dependency and usage
is not enough, and the types of usage and dependency need be differentiated further. According to research
needs for design pattern, usage type is described as three types: general usage U(g), static usage U(s) and
template usage U(t), and dependency type is described also as three types: parameter dependency D(p), returns
dependency D(r) and friend dependency D(f).
Research on stability of software structure based on design patterns
www.ijres.org 22 | Page
Taking Flyweight pattern as example, its structure is shown as Fig.2, and its network model is shown as Fig.3.
FlyweightFactory
flyweight
+getFlyweight (in key)
Flyweight
+operation (in extrinsicState)
UnsharedConcreteFlyweight
- intrinsicState
+operation (in extrinsicState)
ConcreteFlyweight
- allState
+operation (in extrinsicState)
U(t)
GG
Fig.2 Frame of Flyweight Fig.3 Software network of Flyweight Pattern
2.3 Match design pattern in software network
Among all the 23 design patterns, Singleton pattern, Memento pattern and Template pattern have
simple structure due to there’s only one or two nodes in their structural networks, so the affection on structure
stability is limit. There is only generalization arc in Façade pattern’s structural network, which is confused with
general generalization in software network during matching and reduces the match accuracy. So there are only
19 patterns will be matched in this paper.
The essence of matching design patterns is searching the exact network structure in software network.
If local network structure has the same characteristics with some design pattern, the design pattern is found. In
order to match all the design patterns accurately and quickly, the network structure of each pattern should be
described mathematically firstly, and then search for a feature arc of pattern structure in software network,
compare characteristics of the terminal node and the arc connecting the terminal node and another one in design
pattern network with those in software network one by one until find all the nodes and arcs in pattern network.
According to description of mathematical model of design pattern structure, the nodes are represented
by v, w, and the arc between two nodes is represented by <v, w>. v is initial node and w is terminal node. Taking
the Flyweight pattern as example, the description of its mathematics model is as follows:
There are two class nodes v and w in software network and the type of arc between v and w is U(t), and
there is a node set cw that satisfied the following conditions:
(1) All the nodes in cw are class node.
(2) There is arc between nodes in cw and w whose type is generalization.
(3) The number of nodes in cw is 2.
The structure composed with node v, w, node set cw and arc <v, w>, <cw, w> is called Flyweight
pattern.
According to the mathematics description above, the critical points in matching algorithm are:
(1) The type of arc between v and w is just template usage.
(2) Penetration of w whose type is generalization is 2.
So, matching algorithm for Flyweight pattern is as following:
(1) Select any arc <v, w> in software network;
(2) Determine if v, w are class nodes, if not, turn to (8);
(3) Determine if the type of arc <v, w> is U(t) and it is single type, if not, turn to (8);
(4) Determine if the penetration of w whose type is generalization is 2, and the penetration of v is 0, if
not ,turn to (8);
(5) Save v, w;
(6) Search all the child nodes of w and save;
(7) Update the number of Flyweight pattern;
Research on stability of software structure based on design patterns
www.ijres.org 23 | Page
(8) Determine if have traversed all the arcs in software network, if not ,turn to (1);
(9) End.
III. Analysis on structural stability of design pattern
3.1 Stability of microstructure
Recently, researchers find that the frequency of occurrence of different relationship between nodes is
non-randomness, and the frequency is different in different networks along with the deepening of the research
on complex network theory. Milo et al called the typical interactive structure appears in real network more
frequently than in random network as motif, and believed the motif is the basic unit to compose the whole
network and achieves main function of system. Researching on these basic units are benefit for understanding
the overall characteristics of the whole network and grasping the formation mechanism of macroscopic
characteristics by investigating the way that composing macroscopic topology of software network using motif.
According to the research on design patterns in OO software, the pattern structure is just the motif of software
network by ignoring the specific context in each pattern.
According to perspective of system science, the structural characteristics and dynamic behavior of a
local network topology are determined by connection mode including of the direction or weight of which
between nodes. So, the differential equation representing the corresponding dynamic system of a local network
structure is as follows:
),,2,1(),,,( 21 nixxxfx nii  
(1)
Among them, xi represents the status of node i, and fi represents how much all the other nodes
connecting with node i influence on it [9]
. Eigenvalue of Jacobian  









i
i
ij
x
f
aJ
should be calculated in order
to determine the stability of microstructure by Lyapunov method according to literature [10]
. aij represents how
much node j influence node i , and its value is the weight of directed arc form node i to node j in software
network. Since nodes have no influence on themselves in software network, the value on diagonal of matrix is
less than 0. The value is set -1 except in special circumstances so as to research further.
Prill et al find that the robustness of typical microstructure appears when the network structure changes
slightly highly correlates with frequency of this microstructure’s occurrence in networks in the study on
biological networks. At the same time, structural stability score (SSS) is presented to metric on the stability of
microstructure [11]
. Generally, the value of SSS is related with the number and size of feedback loops in the
structure. The larger the number and size are, the smaller the value is, which leads to the stability declining.
Complexity and McCabe loop in program have similar relationship in software design. When the number and
scale turn to larger, the program will be more complex [12]
. So loops should be avoided in order to reduce
complexity and improve stability in software design [13]
.
3.2 structural stability of design pattern
The structural stability of 19 design patterns are analyzed according to metrics discussed above.
Jacobians of all the 19 design patterns are listed as follows:
Research on stability of software structure based on design patterns
www.ijres.org 24 | Page
Table 1 Jacobians of design patterns composed of three nodes
Pattern Name Jacobians Pattern Name Jacobians
Builder pattern













100
01
01
21
13
w
w
Chain of
Responsibility pattern













10
01
001
31
21
w
w
Adapter pattern













100
010
1 1312 ww
Interpreter pattern













10
01
001
31
21
w
w
Composite pattern













10
01
001
31
21
w
w State pattern













10
01
001
31
21
w
w
Proxy pattern













1
01
001
3231
21
ww
w
Table 2 Jacobians of design patterns composed of four nodes
Pattern name Jacobians Pattern name Jacobians
Factory Method
pattern 















1000
10
001
0001
3432
21
ww
w
Command pattern
















1000
10
0010
001
3432
14
ww
w
Prototype pattern
















1000
100
010
001
34
24
14
w
w
w
Observer pattern
















1000
10
001
001
3432
21
14
ww
w
w
Flyweight pattern
















1000
100
010
001
34
24
14
w
w
w
Table 3 Jacobian matrixes of design patterns composed of five nodes
Pattern name Jacobians Pattern name Jacobians
Bridge pattern





















10000
1000
0100
0001
0001
45
35
21
15
w
w
w
w
Mediator pattern





















1000
1000
0100
01
00001
51
45
35
242321
w
w
w
www
Decorator pattern





















1000
1000
0100
0001
00001
51
45
35
21
w
w
w
w
Strategy pattern





















10000
1000
0100
0010
0001
45
35
25
15
w
w
w
w
Research on stability of software structure based on design patterns
www.ijres.org 25 | Page
Itarator pattern





















100
01000
010
001
00001
5451
3432
2321
ww
ww
ww
Table 4 Jacobian matrixes of design patterns composed of more than five nodes
Pattern name Jacobians
Abstract Factory
pattern










































1000000
0100000000
010000000
001000000
0000100000
000010000
000001000
0000010
0000001
0000000001
9,106,101,10
89
79
56
46
373431
282521
www
w
w
w
w
www
www
Visitor pattern


































10000000
1000000
0100000
00010000
0001000
0000100
0000010
000001
78
68
45
35
25
1812
w
w
w
w
w
ww
Eigenvalue of each the Jacobian above is calculated and it is find that all value are -1, that means
structural stability of these design patterns has nothing to do with the connection between nodes in network.
According to the definition of SSS, all SSS values of microstructures described by Jacobians are 1. So, all
design patters have stable structure.
IV. Metrics on stability of software structure
Because the structures of all design patterns are stable, applying design patterns in software system to
realize system’s function can not only improve efficiency of development due to reusability of these patterns but
also help the system structure maintain its structural stability. The more patterns are applied in a OO software,
the higher the structural stability of the system. Definition of coverage of design patterns is presented to metric
the proportion of nodes belong to design patterns in the software network as follows:
Definition 1 Coverage of Design Patterns: the proportion of nodes belongs to some design pattern
among all the nodes in software network is called Coverage of Design Patterns of this software system, which is
marked as C, and
 10,8,5,4,3,
19
1




i
i
ii
n
N
fn
C . (2)
Among this, N is the number of nodes in software network, fi is the number of some design pattern
applied, and ni is the number of nodes in this pattern.
Research on stability of software structure based on design patterns
www.ijres.org 26 | Page
In this paper, 50 open source software are selected as study sample to analyze Coverage of Design
Patterns of them, and the statistics result is shown as Fig.4. It can be find that among these software, Octave has
the highest value of C that is 0.764, and Subversion has the lowest value of C that is 0.012. The average value of
C is 0.294 and the standard deviation is 0.18.
Fig.4 Stat. of Coverage of design patterns
The relationship between C and the scale of software is described in Fig.5. The abscissa is the number
of nodes in software network that shown in logarithmic form. It is find that software whose C value is larger
always have fewer nodes, that means microstructure of design patterns have greater influence on the whole
network in the software network with fewer nodes. For example, the number of nodes in a software network
whose C value is larger than 0.5 is always within 500. Leading role that design patterns play on the structure is
declining along with the software’s scale increasing, and the value of C will keep on a stable level. According to
statistical data, it can be believed that if the value of C is larger than 0.4, design patterns have great influence on
the software structure and the structure of this software is stable due to the stable structure of design pattern. If
the value of C is less than 0.2, the stability of software structure should be metric by other means due to design
patterns have little influence on the software system.
Number of nodes
CoverageDegreeofPattern
Fig.5 Relationship between the coverage of design pattern and software scale
V. Conclusion
Different kinds of networks have different typical connection mode. The local network compose of
these connections is considered as the basic constituent element of the whole network, the structural
characteristics of which reflect the overall characteristics of network. Design patterns are basic elements
constituting OO software system. The macrostructure stability of OO software system is analyzed according to
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
No. of software
C
Research on stability of software structure based on design patterns
www.ijres.org 27 | Page
the study on structural characteristics of design patterns and patterns’ application in the system. It is finds that
design patterns have positive impact on stability of software structure described by Coverage of Design Patterns
defined in this paper based on analysis on stability of design patterns according to Lyapunov method. It is a new
research tool that metric stability of software system by that of microstructure of design patterns according to
stable structure of design patterns has positive impact on the stability of whole system structure, but the
quantitative relationship between these two kinds of structures needs to be studied further. As to the software in
which design patterns are applied infrequently, it is needed other supplementary tools to metric the structural
stability. That is what we’ll do in further research.
VI. Acknowledgements
The research work was supported by Fundamental Research Foundation of the Ministry of Education
of China under Grant No. N110304003
References
[1] Elish M O and Rine D. Indicators of structural stabilitu of object-oriented designs: a case study. Proc. 29th Annual IEEE/NASA
Software Engineering Workshop, Marriott Greenbelt, MD, 2005, 183-192.
[2] Valverde S, Cancho R F, SoléR. Scale Free Networks from Optimal Design, Europhysics Letters, 60(4), 2002, 512-517.
[3] Myers C R. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs ,
Physics Review E, 68, 2003, 1-15.
[4] Wheeldon R and Counsell S. Power law distributions in class relationships, Proc. 3rd IEEE International Workshop on Source
Code Analysis and Manipulation, Amsterdam, 2003, 45-54.
[5] Baxter G, Frean M, Noble J, et al. Understanding the shape of Java software, ACM SIGPLAN Notices, 41(10), 2006, 397-412.
[6] Potanin A, Noble J, Frean M, et al. Scale-free geometry in OO programs, Communications of the ACM, 48(5), 2005, 99-103.
[7] Moura A P S, Lai Y-C and Motter A E. Signatures of small-world and scale-free properties in large computer programs, Physical
Review E, 68, 2003, 17-22.
[8] Liu B, Li D Y, Liu J, et al. Classifying Class and Finding Community in UML Metamodel Network. In Proceedings of ADMA
2005, Springer-Verlag LNAI 3584: 690-695.
[9] Keqing He, Yutao Ma, Jing Liu, et al. Software Network (Beijing: Science Press, 2008).
[10] Khalil H K. Nonlinear Systems ( Englewood Cliffs, NJ: Prentice Hall, 2002).
[11] Prill R J, Iglesias P A and Levchenko A. Dynamic properties of network motifs contribute to biological network organization.
PLos Biology, 3(11), 2005, 1881-1892.
[12] Parnas D L. Designing software for ease of extension and contraction. Proc. 3rd International Conference on Software
Engineering, Atlanta, USA, 1976, 264-277.
[13] Melton H and Tempero E. An empirical study of cycles among classes in Java. Technical Report UoASE-2006-1, Department of
Computer Science at University of Auckland, 2006.

More Related Content

What's hot

Data clustering using kernel based
Data clustering using kernel basedData clustering using kernel based
Data clustering using kernel basedIJITCA Journal
 
Image Segmentation Using Two Weighted Variable Fuzzy K Means
Image Segmentation Using Two Weighted Variable Fuzzy K MeansImage Segmentation Using Two Weighted Variable Fuzzy K Means
Image Segmentation Using Two Weighted Variable Fuzzy K MeansEditor IJCATR
 
MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...
MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...
MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...Sangeetha Mam
 
A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...
A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...
A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...IJECEIAES
 
VARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKING
VARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKINGVARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKING
VARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKINGcsandit
 
Macromodel of High Speed Interconnect using Vector Fitting Algorithm
Macromodel of High Speed Interconnect using Vector Fitting AlgorithmMacromodel of High Speed Interconnect using Vector Fitting Algorithm
Macromodel of High Speed Interconnect using Vector Fitting Algorithmijsrd.com
 
MULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATION
MULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATIONMULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATION
MULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATIONijaia
 
Stress, strain and orientation fields in deformed FCC polycrystals
 Stress, strain and orientation fields in deformed FCC polycrystals  Stress, strain and orientation fields in deformed FCC polycrystals
Stress, strain and orientation fields in deformed FCC polycrystals Srihari Sundar
 
A new dna based approach of generating keydependentmixcolumns
A new dna based approach of generating keydependentmixcolumnsA new dna based approach of generating keydependentmixcolumns
A new dna based approach of generating keydependentmixcolumnsIJCNCJournal
 
Architecture neural network deep optimizing based on self organizing feature ...
Architecture neural network deep optimizing based on self organizing feature ...Architecture neural network deep optimizing based on self organizing feature ...
Architecture neural network deep optimizing based on self organizing feature ...journalBEEI
 
Image Recognition With the Help of Auto-Associative Neural Network
Image Recognition With the Help of Auto-Associative Neural NetworkImage Recognition With the Help of Auto-Associative Neural Network
Image Recognition With the Help of Auto-Associative Neural NetworkCSCJournals
 

What's hot (20)

Data clustering using kernel based
Data clustering using kernel basedData clustering using kernel based
Data clustering using kernel based
 
Image Segmentation Using Two Weighted Variable Fuzzy K Means
Image Segmentation Using Two Weighted Variable Fuzzy K MeansImage Segmentation Using Two Weighted Variable Fuzzy K Means
Image Segmentation Using Two Weighted Variable Fuzzy K Means
 
tsopze2011
tsopze2011tsopze2011
tsopze2011
 
MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...
MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...
MODELLING AND SYNTHESIZING OF 3D SHAPE WITH STACKED GENERATIVE ADVERSARIAL NE...
 
Ijcatr04041019
Ijcatr04041019Ijcatr04041019
Ijcatr04041019
 
A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...
A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...
A Mixed Binary-Real NSGA II Algorithm Ensuring Both Accuracy and Interpretabi...
 
VARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKING
VARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKINGVARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKING
VARIATIONAL MONTE-CARLO APPROACH FOR ARTICULATED OBJECT TRACKING
 
Macromodel of High Speed Interconnect using Vector Fitting Algorithm
Macromodel of High Speed Interconnect using Vector Fitting AlgorithmMacromodel of High Speed Interconnect using Vector Fitting Algorithm
Macromodel of High Speed Interconnect using Vector Fitting Algorithm
 
A280108
A280108A280108
A280108
 
MULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATION
MULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATIONMULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATION
MULTI-LEVEL FEATURE FUSION BASED TRANSFER LEARNING FOR PERSON RE-IDENTIFICATION
 
D028018022
D028018022D028018022
D028018022
 
Hn cw
Hn cwHn cw
Hn cw
 
Stress, strain and orientation fields in deformed FCC polycrystals
 Stress, strain and orientation fields in deformed FCC polycrystals  Stress, strain and orientation fields in deformed FCC polycrystals
Stress, strain and orientation fields in deformed FCC polycrystals
 
A new dna based approach of generating keydependentmixcolumns
A new dna based approach of generating keydependentmixcolumnsA new dna based approach of generating keydependentmixcolumns
A new dna based approach of generating keydependentmixcolumns
 
20320140503007
2032014050300720320140503007
20320140503007
 
20320140503011
2032014050301120320140503011
20320140503011
 
Topology Note
Topology NoteTopology Note
Topology Note
 
F017533540
F017533540F017533540
F017533540
 
Architecture neural network deep optimizing based on self organizing feature ...
Architecture neural network deep optimizing based on self organizing feature ...Architecture neural network deep optimizing based on self organizing feature ...
Architecture neural network deep optimizing based on self organizing feature ...
 
Image Recognition With the Help of Auto-Associative Neural Network
Image Recognition With the Help of Auto-Associative Neural NetworkImage Recognition With the Help of Auto-Associative Neural Network
Image Recognition With the Help of Auto-Associative Neural Network
 

Similar to Research on Stability of Software Structure Based On Design Patterns

UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxLeahRachael
 
Evidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designsEvidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designsKyriakos Kasis
 
A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...ijseajournal
 
A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...eSAT Publishing House
 
Software architecture
Software architectureSoftware architecture
Software architecturenazn
 
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMS
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMSA NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMS
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMSijseajournal
 
Abstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsAbstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsMartha Brown
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.pptFaizaZulkifal
 
Model-Driven Generation of MVC2 Web Applications: From Models to Code
Model-Driven Generation of MVC2 Web Applications: From Models to CodeModel-Driven Generation of MVC2 Web Applications: From Models to Code
Model-Driven Generation of MVC2 Web Applications: From Models to CodeIJEACS
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesijfcstjournal
 
ANP-GP Approach for Selection of Software Architecture Styles
ANP-GP Approach for Selection of Software Architecture StylesANP-GP Approach for Selection of Software Architecture Styles
ANP-GP Approach for Selection of Software Architecture StylesWaqas Tariq
 
A practical approach for model based slicing
A practical approach for model based slicingA practical approach for model based slicing
A practical approach for model based slicingIOSR Journals
 
Application Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded SystemsApplication Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded Systemsijseajournal
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Henry Muccini
 
software engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxsoftware engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxSomnathMule5
 
Formation control of non-identical multi-agent systems
Formation control of non-identical multi-agent systemsFormation control of non-identical multi-agent systems
Formation control of non-identical multi-agent systemsIJECEIAES
 
Conceptual Fixture Design Method Based On Petri Net
Conceptual Fixture Design Method Based On Petri NetConceptual Fixture Design Method Based On Petri Net
Conceptual Fixture Design Method Based On Petri NetIJRES Journal
 
A formal conceptual framework
A formal conceptual frameworkA formal conceptual framework
A formal conceptual frameworkijseajournal
 

Similar to Research on Stability of Software Structure Based On Design Patterns (20)

UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptxUNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
UNIT 3-DEMONSTRATING A COMPREHENSIVE UNDERSTANDING OF SOFTWARE DESIGN.pptx
 
Evidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designsEvidential diagnosis of inconsistencies in object oriented designs
Evidential diagnosis of inconsistencies in object oriented designs
 
A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...
 
A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMS
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMSA NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMS
A NEW COMPLEXITY METRIC FOR UML SEQUENCE DIAGRAMS
 
Abstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C ProgramsAbstracting Strings For Model Checking Of C Programs
Abstracting Strings For Model Checking Of C Programs
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.ppt
 
Model-Driven Generation of MVC2 Web Applications: From Models to Code
Model-Driven Generation of MVC2 Web Applications: From Models to CodeModel-Driven Generation of MVC2 Web Applications: From Models to Code
Model-Driven Generation of MVC2 Web Applications: From Models to Code
 
A framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural stylesA framework to performance analysis of software architectural styles
A framework to performance analysis of software architectural styles
 
ANP-GP Approach for Selection of Software Architecture Styles
ANP-GP Approach for Selection of Software Architecture StylesANP-GP Approach for Selection of Software Architecture Styles
ANP-GP Approach for Selection of Software Architecture Styles
 
A practical approach for model based slicing
A practical approach for model based slicingA practical approach for model based slicing
A practical approach for model based slicing
 
Application Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded SystemsApplication Of UML In Real-Time Embedded Systems
Application Of UML In Real-Time Embedded Systems
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 
software engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptxsoftware engineering Architecture and design Unit 3.pptx
software engineering Architecture and design Unit 3.pptx
 
Formation control of non-identical multi-agent systems
Formation control of non-identical multi-agent systemsFormation control of non-identical multi-agent systems
Formation control of non-identical multi-agent systems
 
Conceptual Fixture Design Method Based On Petri Net
Conceptual Fixture Design Method Based On Petri NetConceptual Fixture Design Method Based On Petri Net
Conceptual Fixture Design Method Based On Petri Net
 
Modeling software architecture with uml
Modeling software architecture with umlModeling software architecture with uml
Modeling software architecture with uml
 
A formal conceptual framework
A formal conceptual frameworkA formal conceptual framework
A formal conceptual framework
 

More from IJRES Journal

Exploratory study on the use of crushed cockle shell as partial sand replacem...
Exploratory study on the use of crushed cockle shell as partial sand replacem...Exploratory study on the use of crushed cockle shell as partial sand replacem...
Exploratory study on the use of crushed cockle shell as partial sand replacem...IJRES Journal
 
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...IJRES Journal
 
Review: Nonlinear Techniques for Analysis of Heart Rate Variability
Review: Nonlinear Techniques for Analysis of Heart Rate VariabilityReview: Nonlinear Techniques for Analysis of Heart Rate Variability
Review: Nonlinear Techniques for Analysis of Heart Rate VariabilityIJRES Journal
 
Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...
Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...
Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...IJRES Journal
 
Study and evaluation for different types of Sudanese crude oil properties
Study and evaluation for different types of Sudanese crude oil propertiesStudy and evaluation for different types of Sudanese crude oil properties
Study and evaluation for different types of Sudanese crude oil propertiesIJRES Journal
 
A Short Report on Different Wavelets and Their Structures
A Short Report on Different Wavelets and Their StructuresA Short Report on Different Wavelets and Their Structures
A Short Report on Different Wavelets and Their StructuresIJRES Journal
 
A Case Study on Academic Services Application Using Agile Methodology for Mob...
A Case Study on Academic Services Application Using Agile Methodology for Mob...A Case Study on Academic Services Application Using Agile Methodology for Mob...
A Case Study on Academic Services Application Using Agile Methodology for Mob...IJRES Journal
 
Wear Analysis on Cylindrical Cam with Flexible Rod
Wear Analysis on Cylindrical Cam with Flexible RodWear Analysis on Cylindrical Cam with Flexible Rod
Wear Analysis on Cylindrical Cam with Flexible RodIJRES Journal
 
DDOS Attacks-A Stealthy Way of Implementation and Detection
DDOS Attacks-A Stealthy Way of Implementation and DetectionDDOS Attacks-A Stealthy Way of Implementation and Detection
DDOS Attacks-A Stealthy Way of Implementation and DetectionIJRES Journal
 
An improved fading Kalman filter in the application of BDS dynamic positioning
An improved fading Kalman filter in the application of BDS dynamic positioningAn improved fading Kalman filter in the application of BDS dynamic positioning
An improved fading Kalman filter in the application of BDS dynamic positioningIJRES Journal
 
Positioning Error Analysis and Compensation of Differential Precision Workbench
Positioning Error Analysis and Compensation of Differential Precision WorkbenchPositioning Error Analysis and Compensation of Differential Precision Workbench
Positioning Error Analysis and Compensation of Differential Precision WorkbenchIJRES Journal
 
Status of Heavy metal pollution in Mithi river: Then and Now
Status of Heavy metal pollution in Mithi river: Then and NowStatus of Heavy metal pollution in Mithi river: Then and Now
Status of Heavy metal pollution in Mithi river: Then and NowIJRES Journal
 
The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...
The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...
The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...IJRES Journal
 
Experimental study on critical closing pressure of mudstone fractured reservoirs
Experimental study on critical closing pressure of mudstone fractured reservoirsExperimental study on critical closing pressure of mudstone fractured reservoirs
Experimental study on critical closing pressure of mudstone fractured reservoirsIJRES Journal
 
Correlation Analysis of Tool Wear and Cutting Sound Signal
Correlation Analysis of Tool Wear and Cutting Sound SignalCorrelation Analysis of Tool Wear and Cutting Sound Signal
Correlation Analysis of Tool Wear and Cutting Sound SignalIJRES Journal
 
Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...
Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...
Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...IJRES Journal
 
Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...
Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...
Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...IJRES Journal
 
A novel high-precision curvature-compensated CMOS bandgap reference without u...
A novel high-precision curvature-compensated CMOS bandgap reference without u...A novel high-precision curvature-compensated CMOS bandgap reference without u...
A novel high-precision curvature-compensated CMOS bandgap reference without u...IJRES Journal
 
Structural aspect on carbon dioxide capture in nanotubes
Structural aspect on carbon dioxide capture in nanotubesStructural aspect on carbon dioxide capture in nanotubes
Structural aspect on carbon dioxide capture in nanotubesIJRES Journal
 
Thesummaryabout fuzzy control parameters selected based on brake driver inten...
Thesummaryabout fuzzy control parameters selected based on brake driver inten...Thesummaryabout fuzzy control parameters selected based on brake driver inten...
Thesummaryabout fuzzy control parameters selected based on brake driver inten...IJRES Journal
 

More from IJRES Journal (20)

Exploratory study on the use of crushed cockle shell as partial sand replacem...
Exploratory study on the use of crushed cockle shell as partial sand replacem...Exploratory study on the use of crushed cockle shell as partial sand replacem...
Exploratory study on the use of crushed cockle shell as partial sand replacem...
 
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
Congenital Malaria: Correlation of Umbilical Cord Plasmodium falciparum Paras...
 
Review: Nonlinear Techniques for Analysis of Heart Rate Variability
Review: Nonlinear Techniques for Analysis of Heart Rate VariabilityReview: Nonlinear Techniques for Analysis of Heart Rate Variability
Review: Nonlinear Techniques for Analysis of Heart Rate Variability
 
Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...
Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...
Dynamic Modeling for Gas Phase Propylene Copolymerization in a Fluidized Bed ...
 
Study and evaluation for different types of Sudanese crude oil properties
Study and evaluation for different types of Sudanese crude oil propertiesStudy and evaluation for different types of Sudanese crude oil properties
Study and evaluation for different types of Sudanese crude oil properties
 
A Short Report on Different Wavelets and Their Structures
A Short Report on Different Wavelets and Their StructuresA Short Report on Different Wavelets and Their Structures
A Short Report on Different Wavelets and Their Structures
 
A Case Study on Academic Services Application Using Agile Methodology for Mob...
A Case Study on Academic Services Application Using Agile Methodology for Mob...A Case Study on Academic Services Application Using Agile Methodology for Mob...
A Case Study on Academic Services Application Using Agile Methodology for Mob...
 
Wear Analysis on Cylindrical Cam with Flexible Rod
Wear Analysis on Cylindrical Cam with Flexible RodWear Analysis on Cylindrical Cam with Flexible Rod
Wear Analysis on Cylindrical Cam with Flexible Rod
 
DDOS Attacks-A Stealthy Way of Implementation and Detection
DDOS Attacks-A Stealthy Way of Implementation and DetectionDDOS Attacks-A Stealthy Way of Implementation and Detection
DDOS Attacks-A Stealthy Way of Implementation and Detection
 
An improved fading Kalman filter in the application of BDS dynamic positioning
An improved fading Kalman filter in the application of BDS dynamic positioningAn improved fading Kalman filter in the application of BDS dynamic positioning
An improved fading Kalman filter in the application of BDS dynamic positioning
 
Positioning Error Analysis and Compensation of Differential Precision Workbench
Positioning Error Analysis and Compensation of Differential Precision WorkbenchPositioning Error Analysis and Compensation of Differential Precision Workbench
Positioning Error Analysis and Compensation of Differential Precision Workbench
 
Status of Heavy metal pollution in Mithi river: Then and Now
Status of Heavy metal pollution in Mithi river: Then and NowStatus of Heavy metal pollution in Mithi river: Then and Now
Status of Heavy metal pollution in Mithi river: Then and Now
 
The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...
The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...
The Low-Temperature Radiant Floor Heating System Design and Experimental Stud...
 
Experimental study on critical closing pressure of mudstone fractured reservoirs
Experimental study on critical closing pressure of mudstone fractured reservoirsExperimental study on critical closing pressure of mudstone fractured reservoirs
Experimental study on critical closing pressure of mudstone fractured reservoirs
 
Correlation Analysis of Tool Wear and Cutting Sound Signal
Correlation Analysis of Tool Wear and Cutting Sound SignalCorrelation Analysis of Tool Wear and Cutting Sound Signal
Correlation Analysis of Tool Wear and Cutting Sound Signal
 
Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...
Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...
Reduce Resources for Privacy in Mobile Cloud Computing Using Blowfish and DSA...
 
Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...
Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...
Resistance of Dryland Rice to Stem Borer (Scirpophaga incertulas Wlk.) Using ...
 
A novel high-precision curvature-compensated CMOS bandgap reference without u...
A novel high-precision curvature-compensated CMOS bandgap reference without u...A novel high-precision curvature-compensated CMOS bandgap reference without u...
A novel high-precision curvature-compensated CMOS bandgap reference without u...
 
Structural aspect on carbon dioxide capture in nanotubes
Structural aspect on carbon dioxide capture in nanotubesStructural aspect on carbon dioxide capture in nanotubes
Structural aspect on carbon dioxide capture in nanotubes
 
Thesummaryabout fuzzy control parameters selected based on brake driver inten...
Thesummaryabout fuzzy control parameters selected based on brake driver inten...Thesummaryabout fuzzy control parameters selected based on brake driver inten...
Thesummaryabout fuzzy control parameters selected based on brake driver inten...
 

Recently uploaded

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 

Recently uploaded (20)

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 

Research on Stability of Software Structure Based On Design Patterns

  • 1. International Journal of Research in Engineering and Science (IJRES) ISSN (Online): 2320-9364, ISSN (Print): 2320-9356 www.ijres.org Volume 1 Issue 8 ǁ Dec 2013 ǁ PP.20-27 www.ijres.org 20 | Page Research on Stability of Software Structure Based On Design Patterns Zheng Liu1 , Qian Zhang2 , Hai Zhao1 1 (College of Information Science and Engineering, Northeastern University, China) 2 (Technology Strategy & Development Department, Neusoft Corporation, China) ABSTRACT: In view of metric for stability of software structure, a metric method based on design pattern is presented, which makes use of the influence of design patterns in OO software network as typical microstructure. Firstly, the application of design patterns is studied in software network, and then the stability of microstructure extracted from design patterns is analyzed by Lyapunov method. The concept of Coverage of Design Patterns is presented according to the application of design pattern in software system, and is used to metric for the stability of the whole software structure. Keywords - stability of software structure, design patterns, software network, OO software I. Introduction From the point of view of software design, internal structure of software will bring great influence on the system reliability. Generally, the more complex the software structure is, the worse the structure stability is, and more structural defects are implied in the system which can affect the system reliability. As to structural stability, Elish believes that it is a sign of the ability that maintain their original structural characteristics during the evolution, the greater the stability is, the stronger the ability maintaining original characteristics when some arguments such as scale or structure change[1] . Recently, researchers find that the software network presents typical characteristics of complex network if many reusable elements such as class, object, module, and subroutine are regarded as the nodes and the relationship between these elements are regarded as arcs in network [2-8] . Any complex system is composed of many basic tectonic units according to certain rules, and the stability of these basic tectonic units can affect the stability of the whole system directly. Software design patterns describe common problems appearing during development of OO software and effective solution for these problems. Application of design patterns in software design can improve the openness, compatibility, stability and scalability of software system and make development and maintaining more easily. After researching on a large number of OO software, it is found that design patterns can be found anywhere in each software system, which are used repeatedly in order to resolve some common problems, and they compose a complete system. From the structure of design patterns, each pattern is a microstructure has certain function composed of several classes or interfaces and their mutual relationship. If extracting from these microstructures, corresponding connected subgraphs will be got. Analyzing on these small connected subgraphs can help to understand the global formation mechanism of network structure because they are basic elements to compose the whole network. These small connected subgraph are usually used to study the structure design and evolution of network in the area of complex network. Now this method is used to research the variation of software structure based on design patterns in the area of software engineering that provide new perspective on the study of characteristics of whole software system.
  • 2. Research on stability of software structure based on design patterns www.ijres.org 21 | Page II. Design patterns in software network 2.1 Establish software network The process of establishing software network is: starting from source code, extracting the structural of system firstly, then abstracting to network model. As to OO software, class is the basic constituent elements and class-level software network is that the nodes are abstracted from classes and the arcs are abstracted from relationship between classes. The specific operation is shown as Fig.1. class Point{ int x,y; } class CGrid{ void setCharAt (char ch, Point p); void getCharFrom (Point p); } abstract class CGObject{ Point location; } class PointGrid extends CGrid{ CGObject displayList[]; void addCGObject (CGObject obj); void deleteCGObject (int index); } class BorderedPrintCGrid extends PrintCGrid{ void setBorderCharacter (char ch); void displayGrid(); } CGrid PrintCGrid BorderedPrintCGrid Point CGObject Extract class diagram from source code Abstract to network Fig.1 Extraction of software network This network model is described as: N=(V, A, T, W). Among them, V(Vertices)={vi | i = 1, 2, …, n } represents the set of n nodes in network, and each node represents a class in software system. A(Arcs)={(vi, vj, t) | vi ∈ V, vj ∈ V, t ∈ T, i≠j } represents the set of arcs in network and each arc represents the relationship between two classes. There is usually not single relationship between two classes in real software system, for example, there is dependency and also generalization between class A and class B, so t is a composite value. T(Type)={t | t ∈ {G, U, D} } represents the relationship between two classes. Here G means generalization, D means Dependency and U means usage including association and aggregation. W(Weight)={w(a)|w(a)=f(t, δ, N), a ∈ A, t ∈ T, δ ∈ (0,1), N ∈ {0,1,2……}}represents the weight of each arc. 2.2 extracting the network structure of design pattern There are 23 design patterns for OO software. In order to study the influence on software structure brought by design patterns, the structural network of design patterns are extracted according to the definition of design pattern and its structural description. The specific extracting method is as follows: (1) describing the design pattern structure by UML according to its definition, and then analyzing the relationship between classes, interfaces and objects. (2) Abstracting nodes in software network from classes, interfaces and objects in UML class diagram. (3) Abstracting arcs in software network from the relationship between two elements in UML class diagram, and determined the type value of the arc according to the relationship type. Different from the extraction of the whole software network, the description of type of arc in design pattern network should be more meticulous. Description the type of arc as generalization, dependency and usage is not enough, and the types of usage and dependency need be differentiated further. According to research needs for design pattern, usage type is described as three types: general usage U(g), static usage U(s) and template usage U(t), and dependency type is described also as three types: parameter dependency D(p), returns dependency D(r) and friend dependency D(f).
  • 3. Research on stability of software structure based on design patterns www.ijres.org 22 | Page Taking Flyweight pattern as example, its structure is shown as Fig.2, and its network model is shown as Fig.3. FlyweightFactory flyweight +getFlyweight (in key) Flyweight +operation (in extrinsicState) UnsharedConcreteFlyweight - intrinsicState +operation (in extrinsicState) ConcreteFlyweight - allState +operation (in extrinsicState) U(t) GG Fig.2 Frame of Flyweight Fig.3 Software network of Flyweight Pattern 2.3 Match design pattern in software network Among all the 23 design patterns, Singleton pattern, Memento pattern and Template pattern have simple structure due to there’s only one or two nodes in their structural networks, so the affection on structure stability is limit. There is only generalization arc in Façade pattern’s structural network, which is confused with general generalization in software network during matching and reduces the match accuracy. So there are only 19 patterns will be matched in this paper. The essence of matching design patterns is searching the exact network structure in software network. If local network structure has the same characteristics with some design pattern, the design pattern is found. In order to match all the design patterns accurately and quickly, the network structure of each pattern should be described mathematically firstly, and then search for a feature arc of pattern structure in software network, compare characteristics of the terminal node and the arc connecting the terminal node and another one in design pattern network with those in software network one by one until find all the nodes and arcs in pattern network. According to description of mathematical model of design pattern structure, the nodes are represented by v, w, and the arc between two nodes is represented by <v, w>. v is initial node and w is terminal node. Taking the Flyweight pattern as example, the description of its mathematics model is as follows: There are two class nodes v and w in software network and the type of arc between v and w is U(t), and there is a node set cw that satisfied the following conditions: (1) All the nodes in cw are class node. (2) There is arc between nodes in cw and w whose type is generalization. (3) The number of nodes in cw is 2. The structure composed with node v, w, node set cw and arc <v, w>, <cw, w> is called Flyweight pattern. According to the mathematics description above, the critical points in matching algorithm are: (1) The type of arc between v and w is just template usage. (2) Penetration of w whose type is generalization is 2. So, matching algorithm for Flyweight pattern is as following: (1) Select any arc <v, w> in software network; (2) Determine if v, w are class nodes, if not, turn to (8); (3) Determine if the type of arc <v, w> is U(t) and it is single type, if not, turn to (8); (4) Determine if the penetration of w whose type is generalization is 2, and the penetration of v is 0, if not ,turn to (8); (5) Save v, w; (6) Search all the child nodes of w and save; (7) Update the number of Flyweight pattern;
  • 4. Research on stability of software structure based on design patterns www.ijres.org 23 | Page (8) Determine if have traversed all the arcs in software network, if not ,turn to (1); (9) End. III. Analysis on structural stability of design pattern 3.1 Stability of microstructure Recently, researchers find that the frequency of occurrence of different relationship between nodes is non-randomness, and the frequency is different in different networks along with the deepening of the research on complex network theory. Milo et al called the typical interactive structure appears in real network more frequently than in random network as motif, and believed the motif is the basic unit to compose the whole network and achieves main function of system. Researching on these basic units are benefit for understanding the overall characteristics of the whole network and grasping the formation mechanism of macroscopic characteristics by investigating the way that composing macroscopic topology of software network using motif. According to the research on design patterns in OO software, the pattern structure is just the motif of software network by ignoring the specific context in each pattern. According to perspective of system science, the structural characteristics and dynamic behavior of a local network topology are determined by connection mode including of the direction or weight of which between nodes. So, the differential equation representing the corresponding dynamic system of a local network structure is as follows: ),,2,1(),,,( 21 nixxxfx nii   (1) Among them, xi represents the status of node i, and fi represents how much all the other nodes connecting with node i influence on it [9] . Eigenvalue of Jacobian            i i ij x f aJ should be calculated in order to determine the stability of microstructure by Lyapunov method according to literature [10] . aij represents how much node j influence node i , and its value is the weight of directed arc form node i to node j in software network. Since nodes have no influence on themselves in software network, the value on diagonal of matrix is less than 0. The value is set -1 except in special circumstances so as to research further. Prill et al find that the robustness of typical microstructure appears when the network structure changes slightly highly correlates with frequency of this microstructure’s occurrence in networks in the study on biological networks. At the same time, structural stability score (SSS) is presented to metric on the stability of microstructure [11] . Generally, the value of SSS is related with the number and size of feedback loops in the structure. The larger the number and size are, the smaller the value is, which leads to the stability declining. Complexity and McCabe loop in program have similar relationship in software design. When the number and scale turn to larger, the program will be more complex [12] . So loops should be avoided in order to reduce complexity and improve stability in software design [13] . 3.2 structural stability of design pattern The structural stability of 19 design patterns are analyzed according to metrics discussed above. Jacobians of all the 19 design patterns are listed as follows:
  • 5. Research on stability of software structure based on design patterns www.ijres.org 24 | Page Table 1 Jacobians of design patterns composed of three nodes Pattern Name Jacobians Pattern Name Jacobians Builder pattern              100 01 01 21 13 w w Chain of Responsibility pattern              10 01 001 31 21 w w Adapter pattern              100 010 1 1312 ww Interpreter pattern              10 01 001 31 21 w w Composite pattern              10 01 001 31 21 w w State pattern              10 01 001 31 21 w w Proxy pattern              1 01 001 3231 21 ww w Table 2 Jacobians of design patterns composed of four nodes Pattern name Jacobians Pattern name Jacobians Factory Method pattern                 1000 10 001 0001 3432 21 ww w Command pattern                 1000 10 0010 001 3432 14 ww w Prototype pattern                 1000 100 010 001 34 24 14 w w w Observer pattern                 1000 10 001 001 3432 21 14 ww w w Flyweight pattern                 1000 100 010 001 34 24 14 w w w Table 3 Jacobian matrixes of design patterns composed of five nodes Pattern name Jacobians Pattern name Jacobians Bridge pattern                      10000 1000 0100 0001 0001 45 35 21 15 w w w w Mediator pattern                      1000 1000 0100 01 00001 51 45 35 242321 w w w www Decorator pattern                      1000 1000 0100 0001 00001 51 45 35 21 w w w w Strategy pattern                      10000 1000 0100 0010 0001 45 35 25 15 w w w w
  • 6. Research on stability of software structure based on design patterns www.ijres.org 25 | Page Itarator pattern                      100 01000 010 001 00001 5451 3432 2321 ww ww ww Table 4 Jacobian matrixes of design patterns composed of more than five nodes Pattern name Jacobians Abstract Factory pattern                                           1000000 0100000000 010000000 001000000 0000100000 000010000 000001000 0000010 0000001 0000000001 9,106,101,10 89 79 56 46 373431 282521 www w w w w www www Visitor pattern                                   10000000 1000000 0100000 00010000 0001000 0000100 0000010 000001 78 68 45 35 25 1812 w w w w w ww Eigenvalue of each the Jacobian above is calculated and it is find that all value are -1, that means structural stability of these design patterns has nothing to do with the connection between nodes in network. According to the definition of SSS, all SSS values of microstructures described by Jacobians are 1. So, all design patters have stable structure. IV. Metrics on stability of software structure Because the structures of all design patterns are stable, applying design patterns in software system to realize system’s function can not only improve efficiency of development due to reusability of these patterns but also help the system structure maintain its structural stability. The more patterns are applied in a OO software, the higher the structural stability of the system. Definition of coverage of design patterns is presented to metric the proportion of nodes belong to design patterns in the software network as follows: Definition 1 Coverage of Design Patterns: the proportion of nodes belongs to some design pattern among all the nodes in software network is called Coverage of Design Patterns of this software system, which is marked as C, and  10,8,5,4,3, 19 1     i i ii n N fn C . (2) Among this, N is the number of nodes in software network, fi is the number of some design pattern applied, and ni is the number of nodes in this pattern.
  • 7. Research on stability of software structure based on design patterns www.ijres.org 26 | Page In this paper, 50 open source software are selected as study sample to analyze Coverage of Design Patterns of them, and the statistics result is shown as Fig.4. It can be find that among these software, Octave has the highest value of C that is 0.764, and Subversion has the lowest value of C that is 0.012. The average value of C is 0.294 and the standard deviation is 0.18. Fig.4 Stat. of Coverage of design patterns The relationship between C and the scale of software is described in Fig.5. The abscissa is the number of nodes in software network that shown in logarithmic form. It is find that software whose C value is larger always have fewer nodes, that means microstructure of design patterns have greater influence on the whole network in the software network with fewer nodes. For example, the number of nodes in a software network whose C value is larger than 0.5 is always within 500. Leading role that design patterns play on the structure is declining along with the software’s scale increasing, and the value of C will keep on a stable level. According to statistical data, it can be believed that if the value of C is larger than 0.4, design patterns have great influence on the software structure and the structure of this software is stable due to the stable structure of design pattern. If the value of C is less than 0.2, the stability of software structure should be metric by other means due to design patterns have little influence on the software system. Number of nodes CoverageDegreeofPattern Fig.5 Relationship between the coverage of design pattern and software scale V. Conclusion Different kinds of networks have different typical connection mode. The local network compose of these connections is considered as the basic constituent element of the whole network, the structural characteristics of which reflect the overall characteristics of network. Design patterns are basic elements constituting OO software system. The macrostructure stability of OO software system is analyzed according to 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 No. of software C
  • 8. Research on stability of software structure based on design patterns www.ijres.org 27 | Page the study on structural characteristics of design patterns and patterns’ application in the system. It is finds that design patterns have positive impact on stability of software structure described by Coverage of Design Patterns defined in this paper based on analysis on stability of design patterns according to Lyapunov method. It is a new research tool that metric stability of software system by that of microstructure of design patterns according to stable structure of design patterns has positive impact on the stability of whole system structure, but the quantitative relationship between these two kinds of structures needs to be studied further. As to the software in which design patterns are applied infrequently, it is needed other supplementary tools to metric the structural stability. That is what we’ll do in further research. VI. Acknowledgements The research work was supported by Fundamental Research Foundation of the Ministry of Education of China under Grant No. N110304003 References [1] Elish M O and Rine D. Indicators of structural stabilitu of object-oriented designs: a case study. Proc. 29th Annual IEEE/NASA Software Engineering Workshop, Marriott Greenbelt, MD, 2005, 183-192. [2] Valverde S, Cancho R F, SoléR. Scale Free Networks from Optimal Design, Europhysics Letters, 60(4), 2002, 512-517. [3] Myers C R. Software systems as complex networks: Structure, function, and evolvability of software collaboration graphs , Physics Review E, 68, 2003, 1-15. [4] Wheeldon R and Counsell S. Power law distributions in class relationships, Proc. 3rd IEEE International Workshop on Source Code Analysis and Manipulation, Amsterdam, 2003, 45-54. [5] Baxter G, Frean M, Noble J, et al. Understanding the shape of Java software, ACM SIGPLAN Notices, 41(10), 2006, 397-412. [6] Potanin A, Noble J, Frean M, et al. Scale-free geometry in OO programs, Communications of the ACM, 48(5), 2005, 99-103. [7] Moura A P S, Lai Y-C and Motter A E. Signatures of small-world and scale-free properties in large computer programs, Physical Review E, 68, 2003, 17-22. [8] Liu B, Li D Y, Liu J, et al. Classifying Class and Finding Community in UML Metamodel Network. In Proceedings of ADMA 2005, Springer-Verlag LNAI 3584: 690-695. [9] Keqing He, Yutao Ma, Jing Liu, et al. Software Network (Beijing: Science Press, 2008). [10] Khalil H K. Nonlinear Systems ( Englewood Cliffs, NJ: Prentice Hall, 2002). [11] Prill R J, Iglesias P A and Levchenko A. Dynamic properties of network motifs contribute to biological network organization. PLos Biology, 3(11), 2005, 1881-1892. [12] Parnas D L. Designing software for ease of extension and contraction. Proc. 3rd International Conference on Software Engineering, Atlanta, USA, 1976, 264-277. [13] Melton H and Tempero E. An empirical study of cycles among classes in Java. Technical Report UoASE-2006-1, Department of Computer Science at University of Auckland, 2006.