SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
International Journal of Engineering Research and Development
e-ISSN: 2278-067X, p-ISSN: 2278-800X, www.ijerd.com
Volume 10, Issue 6 (June 2014), PP.20-24
20
SPARROW Algorithm for clustering software components
Y. Mohana Roopa
Research scholar, Dept. of CSE JNTUA, Anantapur A.P.INDIA
Abstract:- Component Based Software Development (CBSD) provides a high efficient and low cost way to
construct software systems by integrating reusable software components. Although CBSD has already become a
widely accepted paradigm, it is still beyond possibility to assemble components easily from COTS components
into one application system. In real world, such as automation domain, this probability is unacceptable because
additional measures, time, efforts, and costs are required to minimize its impacts. Many general clustering ap-
proaches have been proposed in literature to manage the composition of system at early stage of development.
This paper investigates to identify the component clusters in parallel using a multi-agent adaptive algorithm
called SPARROW algorithm. The results of this study are important since it will be used to develop an efficient
Component Based Software Architecture.
Keywords:- Component-Based software development, component clustering, software architecture, SPAR-
ROW Algorithm.
I. INTRODUCTION
Component-based software development approach is based on the idea to develop software systems by
selecting appropriate off-the-shelf components and then to assemble them with a well-defined software architec-
ture. In recent years, there have been increasing interests in using Component-Based System Development
(CBSD) approach, particularly COTS (commercial off the shelf) components, to develop large complex applica-
tions. Both software consumers and developers share the interest for the CBSD approach because of the clear
advantages. Some advantages are but not limited to:
The efficiency of development increased, the product becomes more reliable, need for maintenance is
radically decreased, the development time decreases, and the usability of the products increases. Although it
promises faster time-to-market and increased productivity [1], many risks has been introduced when developing
COTS-based systems such as failure to satisfy the quality attributes. The use of good quality components to de-
velop system does not grantee to obtain system with the satisfied quality. Indeed, bad quality components will
not produce high quality product, and even good quality components can damage a good product if the composi-
tion is not managed appropriately. Consequently, the failure to satisfy the quality attribute such as reliability
means a financial loss, increased expenses of hardware, higher cost of software development, and harder than
that, the loss of relationships with consumers. Whenever, quality issues are addressed at implementation or inte-
gration time, correction of problems impacts the cost, schedule, and quality of the software.
The clustering methods can be classified into partitioning methods, hierarchical methods, density-based me-
thods, and
Grid-based methods [5]. Recently, other algorithms based on biological models have been proposed to
solve the clustering problem. These algorithms are characterized by the interaction of a large number of simple
agents sensing and changing their environment locally. They exhibit complex, emergent behavior that is robust
compared to the failure of individual agents. Ants colonies, flocks of birds, termites, swarms of bees etc. are
agent-based insect models that exhibit a collective intelligent behavior (swarm intelligence) [6] and may be used
to define new algorithms of clustering.
The multi-agent based models such as Ant colonies, bird and swarms of bees, exhibit a collective beha-
vior. Based on these biological models, many new algorithms have been devised to solve the complex problems
in the area of computer science. These algorithms are characterized by the interaction of a large number of agents
which following simple rules. One of the first collective behavior models is the flocking model, which is used in
popular applications like animation. Normally, flocking is considered as an Artificial Life algorithm because of
its budding property [7]. The flocking algorithm takes advantage of the collective search mechanism a flock im-
plies, by which if a member of a flock finds an area of interest, the mechanics of the flock will drive other mem-
bers to scan that area in more detail. A standard clustering algorithm is used to scan the entire dataset in order to
discover the clusters.
SPARROW Algorithm for clustering software components
21
The main goal of the proposed work is to efficiently identify the component clusters in parallel using a multi-
agent adaptive algorithm called SPARROW algorithm. In this proposed work, some test cases are generated for
component values like cost, time etc. According to these test cases [8],[9],[10], this proposed approach will effec-
tively generates the clusters in parallel.
II. NEED FOR CLUSTERING SOFTWARE COMPONENTS
When an architect starts building a new CBSD application, he has many options to do this task. Each
probable solution is arranging from a mixture of distinctive components. All those possible alternatives are called
Design Options. The combination that satisfied the performance requirements is the target of the architect. Howev-
er, design options are proportional with the degree of freedom. The degrees of freedom are resulted due to the fol-
lowing [13]: Components, the selection of one component from number of components instances with the same
functionality but different performance specifications; Resource Allocation, due to the fact that, the selection of
hardware does not impact the functional of components, its configuration could be changed during search. There-
fore, hardware environment are modeled separately from the common assembly. In fact, manual or/and mismanag-
ing composition lead to undetected problems in the system. Researchers have proposed Software component clus-
tering Approaches to avoid such problem since it provides early evaluation for architecture.
III. A MULTI-AGENT ADAPTIVE ALGORITHM
SPARROW is a multi-agent algorithm where agents use modified rules of Reynolds’ standard flock
algorithm to transform a boid into a hunter foraging for clusters in spatial data A parallel spatial clustering
algorithm SPARROW (SPAtial ClusteRing AlgoRithm thrOugh SWarm Intelligence), which is based on an
adaptive flocking algorithm combined with a density-based cluster algorithm, to discover clusters of arbitrary
shape and size in spatial data. SPARROW uses the stochastic and exploratory principles of a flock of birds
for detecting clusters in parallel according to the density-based principles of the DBSCAN algorithm, and a
parallel iterative procedure to merge the clusters discovered [12].
It begins with a fixed number of agents that take up a randomly generated position. Then, a core
point is identified as each agent moves around the spatial data testing the neighbor of each location. The
neighbors of the identified core point are given a temporary label. These labels are updated as multiple clus-
ters. Contiguous points belonging to the same cluster take the label corresponding to the smallest label in the
group of contiguous points. The movements of the agents are all described in Reynolds’s model.
The color is used as a communication device between the flock agents to indicate the roadmap they
need to follow. The roadmap is adaptively attuned as the agents alter their color moving to explore data until
they reach the goal. Consider a d dimension search space in which the flocks move. Different agents are cha-
racterized by a different color: red, revealing similar test case values, green, a medium one, yellow, a low
one, and white, indicating a total absence of values. The main idea behind this approach is to take advantage
of the colored agent in order to explore more accurately the most interesting regions (signaled by the red
agents) and avoid the ones without interesting points (signaled by the white agents). Red and white agents
stop moving in order to signal this type of region to the others, while green and yellow ones fly to find denser
zones. Indeed, each flying agent computes its heading by taking the weighted average of alignment, separa-
tion and cohesion (as illustrated in fig 1).
The following are the key features of our model, which is different from Reynold’s:
 Alignment and cohesion do not consider yellow boids, since they don’t move in a very attractive
zone.
 Cohesion is the resultant of the heading towards the average position of the green flock mates (cen-
troid), of the attraction towards reds, and of the repulsion from whites.
 A separation distance is maintained from all the agents, without considering their color.
Fig. 1. Computing the direction of a green agent
SPARROW Algorithm for clustering software components
22
Yellow and green agents will compute their direction, according to the rules previously described,
and will move following this direction and with the speed corresponding to their color. Note that the color of
the agent is assigned on the basis of the desired property at the point in which it falls; the assignment is made
on a scale going from white (property = 0) to red (property > threshold), passing for yellow and green, cor-
responding to intermediate values.
Agents will move towards the computed direction with a speed depending on their color: green
agents more slowly than yellow agents since they will explore more interesting regions. An agent will speed
up to leave an empty or uninteresting region whereas it will slow down to investigate an interesting region
more carefully.
The variable speed introduces an adaptive behavior into the algorithm. In fact, agents adapt their
movement and change their behavior (speed) on the basis of their previous experience and on the position of
the red and white agents. Indeed, red and white agents will stop signaling to the others respectively the inter-
esting and desert regions. Note that, for any agent that has become red or white, a new agent will be generat-
ed in order to maintain a constant number of agents exploring the data.
In the first case (red), the new agent will be generated in a close random point, since the zone is con-
sidered interesting, while in the latter it will be generated in a random point over all the space .Anyway, this
does not affect the overall performance of the system as the number of agents was not increased; in fact,
white and red agents are not real agents, but only their position is stored. Finally, in the case where the agent
falls in the same position as an older one it will be regenerated using the same policy described above.
IV. USING SPARROW ALGORITHM FOR CLUSTERING COMPONENTS
Assume, N is the number of component values called test cases and t is the set of all the test cases . We use
three color indications such as RED, GREEN and YELLOW. For coverage, the indication color is RED, for time its
GREEN and number of errors are indicated by YELLOW color. Then, each agent is classified into above categories.
The agents are clustered into groups by the SPARROW algorithm as shown in the Fig 2.
Fig 2: Test cases Clustering using Birds flocking algorithm
Normally, a flock is a group of agents all staying close to each other, and the cohesion component is
responsible for this action. Each agent watch the position of other agents to observe if it is within a specified
neighbor radius, that is, it checks to see which other agents are close enough to be considered flock mates. The
positions of the eligible neighbors are averaged and the agent moves towards that position. In this way, each
one aims to move towards the center of the flock that results in, all of them are staying close together. Agents
will move towards the desired destination with a speed depending on their color. The green agents travel more
slowly than the yellow agents since they will discover denser zones of clusters.
An agent will increase the speed to depart a vacant or dull region but it slows down to explore an inter-
esting region more carefully. The variable speed has established an adaptive behavior in the algorithm. The
movement and speed are changed by the agents based on their earlier experience represented from red and
white agents. The cohesion component is computed by averaging the position of the all neighbors within the
radius.
In the merging stage, two diverse cases are handled: when having never visited points in the circular
neighborhood and when having points belonging to diverse clusters. In the first case, the points are labeled and
a new cluster is formed, whereas in the second case, all the points will be pooled into the same cluster i.e., they
will get the label of the cluster discovered first. A cage effect is occurred during the simulations, that is, some
agents are detained inside the regions bounded by red or white agents and would have no way to depart, wasting
SPARROW Algorithm for clustering software components
23
some valuable resources for the exploration. Thus, to shun this effect, a limit is prescribed for their life. Hence,
when their age goes beyond a determined value (max Life) they have been destroyed and regenerated in a new
randomly selected location of the space.
We need to utilize the flocking algorithm to discover the multidimensional space searching point. A
continuous data point can be represented in a multidimensional Euclidean space, by simply normalizing its
attributes. In the following, we have given a proper depiction of the extension of the flocking algorithm to mul-
tidimensional space. Consider a multidimensional space with d as dimension. Each boid k can be denoted as a
point in the space having coordinates and having directions , where gives the angle between the new direction
of the boid k and axis i. Each boid will move according to the velocity . For each iteration t, the new position of
the agent k is given by the following equation:
kikkik cvtxtx  )()1( where i=1…d (1)
and represents the projection along the i axis of the direction of the boid k. Each component is determined by
adding the respective components of alignment, separation and cohesion.
i.e., Thus, in a multidimensional space, the components are calculated as:




1
1
1 )cos(
d
j
kjkc 
)2(....2)cos()sin(
1
1 dic
d
ij
kjkiki  


 
Once the clustering process using bird flocking algorithm is completed, the optimization of the clustered test
cases is carried out using any optimization algorithm
V. CONCLUSION
Architect needs to use clustering of components to avoid problem of quality dissatisfaction cause due to the late
evaluation of developed system. A multi-agent adaptive algorithm called SPARROW algorithm provides effi-
cient clustering of components for CBSA.
Once the clustering process using adaptive flocking algorithm is completed, the optimization of the clustered test
cases is carried out using optimization algorithms. from this we can get the adaptive configuration of the com-
ponents to fit in to the software architecture.
REFERENCES
[1]. Voas, J.COTS software: the economical choice? Software, IEEE, 1998. 15(2): p. 16- 19.
[2]. Philippe Kruchten “Architectural Blueprints—The“4+1” View Model of Software Architecture” IEEE
Software 12 (6)November 1995, pp. 42-50.
[3]. Chung-Horng Lung “Software Architecture covery and Restructuring through Clustering Techniques”
Proc. of the 3rd International Software Architecture Workshop (ISAW), 1998, pp.101-104.
[4]. Dr. Velur Rajappa, Arun Biradar, Satanik Panda “Effi cient software test case generation Using
Genetic al gorithm based Graph theory” International conference on emerging trends in Engi-
neering and Technology, pp. 298--303, IEEE (2008).
[5]. Gianluigi Folino and Giandomenico Spezzano “An Adaptive Flocking Algorithm for Spatial Cluster-
ing” First International conference on Emerging trends in Engineering and technology, IEEE (2008).
[6]. Bonabeau E., Dorigo M., Theraulaz G., Swarm Intelligence: From Natural to Artificial Systems, Ox-
ford University Press, 1999.
[7]. Gianluigi Folino and Giandomenico Spezzano “An Adaptive Flocking Algorithm for Spatial Cluster-
ing “google scholar.
[8]. Jose Carlos, Mario, Alberto, Francisco “A strategy for evaluating feasible and unfeasible test cases for
the evolutionary testing of object-oriented software” ACM (2008).
[9]. Nirmal Kumar Gupta and Dr. Mukesh Kumar Rohil “Using Genetic algorithm for unit testing of object
oriented software”, First International conference on Emerging trends in Engineering and technology,
IEEE (2008).
[10]. Robert M .Patton, Annie S. Wu, and Gwendolyn H. Walton “A Genetic Algorithm approach to fo-
cused software usage testing”, Annals Of software engineer ing,
www.cs.ucf.edu/~ecl/papers/03.rmpatton.pdf.
SPARROW Algorithm for clustering software components
24
[11]. Gianluigi Folino, Agostino Forestiero and Giandomenico Spezzano “An Adaptive Flocking Algorithm
for performing Approximate Clustering” Elsiever science May2009.M. Wegmuller, J.P.von der Weid,
P. Oberson, and N.Gisin, “High resolution fiber distributed measurements with coherent OFDR,” in
Proc. ECOC’00, 2000, paper 11.3.4, p. 109.
[12]. Xiaohui Cui, Jinzhu Gao, Thomas E. Potok “A flocking based algorithm for document clustering
analysis” journal of systems and architectures, Elsiever 2006.
[13]. Martens, A. and H. Koziolek, Automatic, Model- Based Software Performance Improvement for
Com ponent-based Software Designs. Electronic Notes in Theoretical Computer Science, 2009.
253(1): p.77-93.

Más contenido relacionado

La actualidad más candente

Iaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithmIaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithm
Iaetsd Iaetsd
 

La actualidad más candente (12)

Feature Subset Selection for High Dimensional Data using Clustering Techniques
Feature Subset Selection for High Dimensional Data using Clustering TechniquesFeature Subset Selection for High Dimensional Data using Clustering Techniques
Feature Subset Selection for High Dimensional Data using Clustering Techniques
 
Iaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithmIaetsd an efficient and large data base using subset selection algorithm
Iaetsd an efficient and large data base using subset selection algorithm
 
A fast clustering based feature subset selection algorithm for high-dimension...
A fast clustering based feature subset selection algorithm for high-dimension...A fast clustering based feature subset selection algorithm for high-dimension...
A fast clustering based feature subset selection algorithm for high-dimension...
 
Improving Spam Mail Filtering Using Classification Algorithms With Partition ...
Improving Spam Mail Filtering Using Classification Algorithms With Partition ...Improving Spam Mail Filtering Using Classification Algorithms With Partition ...
Improving Spam Mail Filtering Using Classification Algorithms With Partition ...
 
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT A fast clustering based feature subse...
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT A fast clustering based feature subse...DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT A fast clustering based feature subse...
DOTNET 2013 IEEE CLOUDCOMPUTING PROJECT A fast clustering based feature subse...
 
High dimesional data (FAST clustering ALG) PPT
High dimesional data (FAST clustering ALG) PPTHigh dimesional data (FAST clustering ALG) PPT
High dimesional data (FAST clustering ALG) PPT
 
Software testing
Software testingSoftware testing
Software testing
 
Automatic Feature Subset Selection using Genetic Algorithm for Clustering
Automatic Feature Subset Selection using Genetic Algorithm for ClusteringAutomatic Feature Subset Selection using Genetic Algorithm for Clustering
Automatic Feature Subset Selection using Genetic Algorithm for Clustering
 
A fast clustering based feature subset selection algorithm for high-dimension...
A fast clustering based feature subset selection algorithm for high-dimension...A fast clustering based feature subset selection algorithm for high-dimension...
A fast clustering based feature subset selection algorithm for high-dimension...
 
Decentralized Data Fusion Algorithm using Factor Analysis Model
Decentralized Data Fusion Algorithm using Factor Analysis ModelDecentralized Data Fusion Algorithm using Factor Analysis Model
Decentralized Data Fusion Algorithm using Factor Analysis Model
 
C LUSTERING B ASED A TTRIBUTE S UBSET S ELECTION U SING F AST A LGORITHm
C LUSTERING  B ASED  A TTRIBUTE  S UBSET  S ELECTION  U SING  F AST  A LGORITHmC LUSTERING  B ASED  A TTRIBUTE  S UBSET  S ELECTION  U SING  F AST  A LGORITHm
C LUSTERING B ASED A TTRIBUTE S UBSET S ELECTION U SING F AST A LGORITHm
 
Dv33736740
Dv33736740Dv33736740
Dv33736740
 

Destacado

A Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service AttacksA Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
IJERD Editor
 

Destacado (10)

H1064251
H1064251H1064251
H1064251
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
B1060612
B1060612B1060612
B1060612
 
A1060104
A1060104A1060104
A1060104
 
I1065361
I1065361I1065361
I1065361
 
A Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service AttacksA Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
A Novel Method for Prevention of Bandwidth Distributed Denial of Service Attacks
 
MEMS MICROPHONE INTERFACE
MEMS MICROPHONE INTERFACEMEMS MICROPHONE INTERFACE
MEMS MICROPHONE INTERFACE
 
Current and future methods to measure and maintain gut integrity - F van Imme...
Current and future methods to measure and maintain gut integrity - F van Imme...Current and future methods to measure and maintain gut integrity - F van Imme...
Current and future methods to measure and maintain gut integrity - F van Imme...
 

Similar a International Journal of Engineering Research and Development

Recommendation system using bloom filter in mapreduce
Recommendation system using bloom filter in mapreduceRecommendation system using bloom filter in mapreduce
Recommendation system using bloom filter in mapreduce
IJDKP
 
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Mumbai Academisc
 
An integrated mechanism for feature selection
An integrated mechanism for feature selectionAn integrated mechanism for feature selection
An integrated mechanism for feature selection
sai kumar
 
Final Report
Final ReportFinal Report
Final Report
imu409
 

Similar a International Journal of Engineering Research and Development (20)

Recommendation system using bloom filter in mapreduce
Recommendation system using bloom filter in mapreduceRecommendation system using bloom filter in mapreduce
Recommendation system using bloom filter in mapreduce
 
Ijetcas14 368
Ijetcas14 368Ijetcas14 368
Ijetcas14 368
 
An Empirical Study for Defect Prediction using Clustering
An Empirical Study for Defect Prediction using ClusteringAn Empirical Study for Defect Prediction using Clustering
An Empirical Study for Defect Prediction using Clustering
 
Hybridization of Meta-heuristics for Optimizing Routing protocol in VANETs
Hybridization of Meta-heuristics for Optimizing Routing protocol in VANETsHybridization of Meta-heuristics for Optimizing Routing protocol in VANETs
Hybridization of Meta-heuristics for Optimizing Routing protocol in VANETs
 
A Literature Review on Plagiarism Detection in Computer Programming Assignments
A Literature Review on Plagiarism Detection in Computer Programming AssignmentsA Literature Review on Plagiarism Detection in Computer Programming Assignments
A Literature Review on Plagiarism Detection in Computer Programming Assignments
 
Hybrid Model using Unsupervised Filtering Based on Ant Colony Optimization an...
Hybrid Model using Unsupervised Filtering Based on Ant Colony Optimization an...Hybrid Model using Unsupervised Filtering Based on Ant Colony Optimization an...
Hybrid Model using Unsupervised Filtering Based on Ant Colony Optimization an...
 
Application of Genetic Algorithm in Software Engineering: A Review
Application of Genetic Algorithm in Software Engineering: A ReviewApplication of Genetic Algorithm in Software Engineering: A Review
Application of Genetic Algorithm in Software Engineering: A Review
 
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
Bra a bidirectional routing abstraction for asymmetric mobile ad hoc networks...
 
Data mining projects topics for java and dot net
Data mining projects topics for java and dot netData mining projects topics for java and dot net
Data mining projects topics for java and dot net
 
An integrated mechanism for feature selection
An integrated mechanism for feature selectionAn integrated mechanism for feature selection
An integrated mechanism for feature selection
 
Evaluating and Enhancing Efficiency of Recommendation System using Big Data A...
Evaluating and Enhancing Efficiency of Recommendation System using Big Data A...Evaluating and Enhancing Efficiency of Recommendation System using Big Data A...
Evaluating and Enhancing Efficiency of Recommendation System using Big Data A...
 
E034023028
E034023028E034023028
E034023028
 
Particle Swarm Optimization based K-Prototype Clustering Algorithm
Particle Swarm Optimization based K-Prototype Clustering Algorithm Particle Swarm Optimization based K-Prototype Clustering Algorithm
Particle Swarm Optimization based K-Prototype Clustering Algorithm
 
I017235662
I017235662I017235662
I017235662
 
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATIONONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
 
1806 1810
1806 18101806 1810
1806 1810
 
1806 1810
1806 18101806 1810
1806 1810
 
50120140505004
5012014050500450120140505004
50120140505004
 
Final Report
Final ReportFinal Report
Final Report
 
MPSKM Algorithm to Cluster Uneven Dimensional Time Series Subspace Data
MPSKM Algorithm to Cluster Uneven Dimensional Time Series Subspace DataMPSKM Algorithm to Cluster Uneven Dimensional Time Series Subspace Data
MPSKM Algorithm to Cluster Uneven Dimensional Time Series Subspace Data
 

Más de IJERD Editor

Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’
IJERD Editor
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
IJERD Editor
 
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
IJERD Editor
 
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
IJERD Editor
 

Más de IJERD Editor (20)

Influence of tensile behaviour of slab on the structural Behaviour of shear c...
Influence of tensile behaviour of slab on the structural Behaviour of shear c...Influence of tensile behaviour of slab on the structural Behaviour of shear c...
Influence of tensile behaviour of slab on the structural Behaviour of shear c...
 
Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’Gold prospecting using Remote Sensing ‘A case study of Sudan’
Gold prospecting using Remote Sensing ‘A case study of Sudan’
 
Reducing Corrosion Rate by Welding Design
Reducing Corrosion Rate by Welding DesignReducing Corrosion Rate by Welding Design
Reducing Corrosion Rate by Welding Design
 
Router 1X3 – RTL Design and Verification
Router 1X3 – RTL Design and VerificationRouter 1X3 – RTL Design and Verification
Router 1X3 – RTL Design and Verification
 
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
Active Power Exchange in Distributed Power-Flow Controller (DPFC) At Third Ha...
 
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVRMitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
Mitigation of Voltage Sag/Swell with Fuzzy Control Reduced Rating DVR
 
Study on the Fused Deposition Modelling In Additive Manufacturing
Study on the Fused Deposition Modelling In Additive ManufacturingStudy on the Fused Deposition Modelling In Additive Manufacturing
Study on the Fused Deposition Modelling In Additive Manufacturing
 
Spyware triggering system by particular string value
Spyware triggering system by particular string valueSpyware triggering system by particular string value
Spyware triggering system by particular string value
 
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
A Blind Steganalysis on JPEG Gray Level Image Based on Statistical Features a...
 
Secure Image Transmission for Cloud Storage System Using Hybrid Scheme
Secure Image Transmission for Cloud Storage System Using Hybrid SchemeSecure Image Transmission for Cloud Storage System Using Hybrid Scheme
Secure Image Transmission for Cloud Storage System Using Hybrid Scheme
 
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
Application of Buckley-Leverett Equation in Modeling the Radius of Invasion i...
 
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web CameraGesture Gaming on the World Wide Web Using an Ordinary Web Camera
Gesture Gaming on the World Wide Web Using an Ordinary Web Camera
 
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
Hardware Analysis of Resonant Frequency Converter Using Isolated Circuits And...
 
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
Simulated Analysis of Resonant Frequency Converter Using Different Tank Circu...
 
Moon-bounce: A Boon for VHF Dxing
Moon-bounce: A Boon for VHF DxingMoon-bounce: A Boon for VHF Dxing
Moon-bounce: A Boon for VHF Dxing
 
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
“MS-Extractor: An Innovative Approach to Extract Microsatellites on „Y‟ Chrom...
 
Importance of Measurements in Smart Grid
Importance of Measurements in Smart GridImportance of Measurements in Smart Grid
Importance of Measurements in Smart Grid
 
Study of Macro level Properties of SCC using GGBS and Lime stone powder
Study of Macro level Properties of SCC using GGBS and Lime stone powderStudy of Macro level Properties of SCC using GGBS and Lime stone powder
Study of Macro level Properties of SCC using GGBS and Lime stone powder
 
Seismic Drift Consideration in soft storied RCC buildings: A Critical Review
Seismic Drift Consideration in soft storied RCC buildings: A Critical ReviewSeismic Drift Consideration in soft storied RCC buildings: A Critical Review
Seismic Drift Consideration in soft storied RCC buildings: A Critical Review
 
Post processing of SLM Ti-6Al-4V Alloy in accordance with AMS 4928 standards
Post processing of SLM Ti-6Al-4V Alloy in accordance with AMS 4928 standardsPost processing of SLM Ti-6Al-4V Alloy in accordance with AMS 4928 standards
Post processing of SLM Ti-6Al-4V Alloy in accordance with AMS 4928 standards
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

International Journal of Engineering Research and Development

  • 1. International Journal of Engineering Research and Development e-ISSN: 2278-067X, p-ISSN: 2278-800X, www.ijerd.com Volume 10, Issue 6 (June 2014), PP.20-24 20 SPARROW Algorithm for clustering software components Y. Mohana Roopa Research scholar, Dept. of CSE JNTUA, Anantapur A.P.INDIA Abstract:- Component Based Software Development (CBSD) provides a high efficient and low cost way to construct software systems by integrating reusable software components. Although CBSD has already become a widely accepted paradigm, it is still beyond possibility to assemble components easily from COTS components into one application system. In real world, such as automation domain, this probability is unacceptable because additional measures, time, efforts, and costs are required to minimize its impacts. Many general clustering ap- proaches have been proposed in literature to manage the composition of system at early stage of development. This paper investigates to identify the component clusters in parallel using a multi-agent adaptive algorithm called SPARROW algorithm. The results of this study are important since it will be used to develop an efficient Component Based Software Architecture. Keywords:- Component-Based software development, component clustering, software architecture, SPAR- ROW Algorithm. I. INTRODUCTION Component-based software development approach is based on the idea to develop software systems by selecting appropriate off-the-shelf components and then to assemble them with a well-defined software architec- ture. In recent years, there have been increasing interests in using Component-Based System Development (CBSD) approach, particularly COTS (commercial off the shelf) components, to develop large complex applica- tions. Both software consumers and developers share the interest for the CBSD approach because of the clear advantages. Some advantages are but not limited to: The efficiency of development increased, the product becomes more reliable, need for maintenance is radically decreased, the development time decreases, and the usability of the products increases. Although it promises faster time-to-market and increased productivity [1], many risks has been introduced when developing COTS-based systems such as failure to satisfy the quality attributes. The use of good quality components to de- velop system does not grantee to obtain system with the satisfied quality. Indeed, bad quality components will not produce high quality product, and even good quality components can damage a good product if the composi- tion is not managed appropriately. Consequently, the failure to satisfy the quality attribute such as reliability means a financial loss, increased expenses of hardware, higher cost of software development, and harder than that, the loss of relationships with consumers. Whenever, quality issues are addressed at implementation or inte- gration time, correction of problems impacts the cost, schedule, and quality of the software. The clustering methods can be classified into partitioning methods, hierarchical methods, density-based me- thods, and Grid-based methods [5]. Recently, other algorithms based on biological models have been proposed to solve the clustering problem. These algorithms are characterized by the interaction of a large number of simple agents sensing and changing their environment locally. They exhibit complex, emergent behavior that is robust compared to the failure of individual agents. Ants colonies, flocks of birds, termites, swarms of bees etc. are agent-based insect models that exhibit a collective intelligent behavior (swarm intelligence) [6] and may be used to define new algorithms of clustering. The multi-agent based models such as Ant colonies, bird and swarms of bees, exhibit a collective beha- vior. Based on these biological models, many new algorithms have been devised to solve the complex problems in the area of computer science. These algorithms are characterized by the interaction of a large number of agents which following simple rules. One of the first collective behavior models is the flocking model, which is used in popular applications like animation. Normally, flocking is considered as an Artificial Life algorithm because of its budding property [7]. The flocking algorithm takes advantage of the collective search mechanism a flock im- plies, by which if a member of a flock finds an area of interest, the mechanics of the flock will drive other mem- bers to scan that area in more detail. A standard clustering algorithm is used to scan the entire dataset in order to discover the clusters.
  • 2. SPARROW Algorithm for clustering software components 21 The main goal of the proposed work is to efficiently identify the component clusters in parallel using a multi- agent adaptive algorithm called SPARROW algorithm. In this proposed work, some test cases are generated for component values like cost, time etc. According to these test cases [8],[9],[10], this proposed approach will effec- tively generates the clusters in parallel. II. NEED FOR CLUSTERING SOFTWARE COMPONENTS When an architect starts building a new CBSD application, he has many options to do this task. Each probable solution is arranging from a mixture of distinctive components. All those possible alternatives are called Design Options. The combination that satisfied the performance requirements is the target of the architect. Howev- er, design options are proportional with the degree of freedom. The degrees of freedom are resulted due to the fol- lowing [13]: Components, the selection of one component from number of components instances with the same functionality but different performance specifications; Resource Allocation, due to the fact that, the selection of hardware does not impact the functional of components, its configuration could be changed during search. There- fore, hardware environment are modeled separately from the common assembly. In fact, manual or/and mismanag- ing composition lead to undetected problems in the system. Researchers have proposed Software component clus- tering Approaches to avoid such problem since it provides early evaluation for architecture. III. A MULTI-AGENT ADAPTIVE ALGORITHM SPARROW is a multi-agent algorithm where agents use modified rules of Reynolds’ standard flock algorithm to transform a boid into a hunter foraging for clusters in spatial data A parallel spatial clustering algorithm SPARROW (SPAtial ClusteRing AlgoRithm thrOugh SWarm Intelligence), which is based on an adaptive flocking algorithm combined with a density-based cluster algorithm, to discover clusters of arbitrary shape and size in spatial data. SPARROW uses the stochastic and exploratory principles of a flock of birds for detecting clusters in parallel according to the density-based principles of the DBSCAN algorithm, and a parallel iterative procedure to merge the clusters discovered [12]. It begins with a fixed number of agents that take up a randomly generated position. Then, a core point is identified as each agent moves around the spatial data testing the neighbor of each location. The neighbors of the identified core point are given a temporary label. These labels are updated as multiple clus- ters. Contiguous points belonging to the same cluster take the label corresponding to the smallest label in the group of contiguous points. The movements of the agents are all described in Reynolds’s model. The color is used as a communication device between the flock agents to indicate the roadmap they need to follow. The roadmap is adaptively attuned as the agents alter their color moving to explore data until they reach the goal. Consider a d dimension search space in which the flocks move. Different agents are cha- racterized by a different color: red, revealing similar test case values, green, a medium one, yellow, a low one, and white, indicating a total absence of values. The main idea behind this approach is to take advantage of the colored agent in order to explore more accurately the most interesting regions (signaled by the red agents) and avoid the ones without interesting points (signaled by the white agents). Red and white agents stop moving in order to signal this type of region to the others, while green and yellow ones fly to find denser zones. Indeed, each flying agent computes its heading by taking the weighted average of alignment, separa- tion and cohesion (as illustrated in fig 1). The following are the key features of our model, which is different from Reynold’s:  Alignment and cohesion do not consider yellow boids, since they don’t move in a very attractive zone.  Cohesion is the resultant of the heading towards the average position of the green flock mates (cen- troid), of the attraction towards reds, and of the repulsion from whites.  A separation distance is maintained from all the agents, without considering their color. Fig. 1. Computing the direction of a green agent
  • 3. SPARROW Algorithm for clustering software components 22 Yellow and green agents will compute their direction, according to the rules previously described, and will move following this direction and with the speed corresponding to their color. Note that the color of the agent is assigned on the basis of the desired property at the point in which it falls; the assignment is made on a scale going from white (property = 0) to red (property > threshold), passing for yellow and green, cor- responding to intermediate values. Agents will move towards the computed direction with a speed depending on their color: green agents more slowly than yellow agents since they will explore more interesting regions. An agent will speed up to leave an empty or uninteresting region whereas it will slow down to investigate an interesting region more carefully. The variable speed introduces an adaptive behavior into the algorithm. In fact, agents adapt their movement and change their behavior (speed) on the basis of their previous experience and on the position of the red and white agents. Indeed, red and white agents will stop signaling to the others respectively the inter- esting and desert regions. Note that, for any agent that has become red or white, a new agent will be generat- ed in order to maintain a constant number of agents exploring the data. In the first case (red), the new agent will be generated in a close random point, since the zone is con- sidered interesting, while in the latter it will be generated in a random point over all the space .Anyway, this does not affect the overall performance of the system as the number of agents was not increased; in fact, white and red agents are not real agents, but only their position is stored. Finally, in the case where the agent falls in the same position as an older one it will be regenerated using the same policy described above. IV. USING SPARROW ALGORITHM FOR CLUSTERING COMPONENTS Assume, N is the number of component values called test cases and t is the set of all the test cases . We use three color indications such as RED, GREEN and YELLOW. For coverage, the indication color is RED, for time its GREEN and number of errors are indicated by YELLOW color. Then, each agent is classified into above categories. The agents are clustered into groups by the SPARROW algorithm as shown in the Fig 2. Fig 2: Test cases Clustering using Birds flocking algorithm Normally, a flock is a group of agents all staying close to each other, and the cohesion component is responsible for this action. Each agent watch the position of other agents to observe if it is within a specified neighbor radius, that is, it checks to see which other agents are close enough to be considered flock mates. The positions of the eligible neighbors are averaged and the agent moves towards that position. In this way, each one aims to move towards the center of the flock that results in, all of them are staying close together. Agents will move towards the desired destination with a speed depending on their color. The green agents travel more slowly than the yellow agents since they will discover denser zones of clusters. An agent will increase the speed to depart a vacant or dull region but it slows down to explore an inter- esting region more carefully. The variable speed has established an adaptive behavior in the algorithm. The movement and speed are changed by the agents based on their earlier experience represented from red and white agents. The cohesion component is computed by averaging the position of the all neighbors within the radius. In the merging stage, two diverse cases are handled: when having never visited points in the circular neighborhood and when having points belonging to diverse clusters. In the first case, the points are labeled and a new cluster is formed, whereas in the second case, all the points will be pooled into the same cluster i.e., they will get the label of the cluster discovered first. A cage effect is occurred during the simulations, that is, some agents are detained inside the regions bounded by red or white agents and would have no way to depart, wasting
  • 4. SPARROW Algorithm for clustering software components 23 some valuable resources for the exploration. Thus, to shun this effect, a limit is prescribed for their life. Hence, when their age goes beyond a determined value (max Life) they have been destroyed and regenerated in a new randomly selected location of the space. We need to utilize the flocking algorithm to discover the multidimensional space searching point. A continuous data point can be represented in a multidimensional Euclidean space, by simply normalizing its attributes. In the following, we have given a proper depiction of the extension of the flocking algorithm to mul- tidimensional space. Consider a multidimensional space with d as dimension. Each boid k can be denoted as a point in the space having coordinates and having directions , where gives the angle between the new direction of the boid k and axis i. Each boid will move according to the velocity . For each iteration t, the new position of the agent k is given by the following equation: kikkik cvtxtx  )()1( where i=1…d (1) and represents the projection along the i axis of the direction of the boid k. Each component is determined by adding the respective components of alignment, separation and cohesion. i.e., Thus, in a multidimensional space, the components are calculated as:     1 1 1 )cos( d j kjkc  )2(....2)cos()sin( 1 1 dic d ij kjkiki       Once the clustering process using bird flocking algorithm is completed, the optimization of the clustered test cases is carried out using any optimization algorithm V. CONCLUSION Architect needs to use clustering of components to avoid problem of quality dissatisfaction cause due to the late evaluation of developed system. A multi-agent adaptive algorithm called SPARROW algorithm provides effi- cient clustering of components for CBSA. Once the clustering process using adaptive flocking algorithm is completed, the optimization of the clustered test cases is carried out using optimization algorithms. from this we can get the adaptive configuration of the com- ponents to fit in to the software architecture. REFERENCES [1]. Voas, J.COTS software: the economical choice? Software, IEEE, 1998. 15(2): p. 16- 19. [2]. Philippe Kruchten “Architectural Blueprints—The“4+1” View Model of Software Architecture” IEEE Software 12 (6)November 1995, pp. 42-50. [3]. Chung-Horng Lung “Software Architecture covery and Restructuring through Clustering Techniques” Proc. of the 3rd International Software Architecture Workshop (ISAW), 1998, pp.101-104. [4]. Dr. Velur Rajappa, Arun Biradar, Satanik Panda “Effi cient software test case generation Using Genetic al gorithm based Graph theory” International conference on emerging trends in Engi- neering and Technology, pp. 298--303, IEEE (2008). [5]. Gianluigi Folino and Giandomenico Spezzano “An Adaptive Flocking Algorithm for Spatial Cluster- ing” First International conference on Emerging trends in Engineering and technology, IEEE (2008). [6]. Bonabeau E., Dorigo M., Theraulaz G., Swarm Intelligence: From Natural to Artificial Systems, Ox- ford University Press, 1999. [7]. Gianluigi Folino and Giandomenico Spezzano “An Adaptive Flocking Algorithm for Spatial Cluster- ing “google scholar. [8]. Jose Carlos, Mario, Alberto, Francisco “A strategy for evaluating feasible and unfeasible test cases for the evolutionary testing of object-oriented software” ACM (2008). [9]. Nirmal Kumar Gupta and Dr. Mukesh Kumar Rohil “Using Genetic algorithm for unit testing of object oriented software”, First International conference on Emerging trends in Engineering and technology, IEEE (2008). [10]. Robert M .Patton, Annie S. Wu, and Gwendolyn H. Walton “A Genetic Algorithm approach to fo- cused software usage testing”, Annals Of software engineer ing, www.cs.ucf.edu/~ecl/papers/03.rmpatton.pdf.
  • 5. SPARROW Algorithm for clustering software components 24 [11]. Gianluigi Folino, Agostino Forestiero and Giandomenico Spezzano “An Adaptive Flocking Algorithm for performing Approximate Clustering” Elsiever science May2009.M. Wegmuller, J.P.von der Weid, P. Oberson, and N.Gisin, “High resolution fiber distributed measurements with coherent OFDR,” in Proc. ECOC’00, 2000, paper 11.3.4, p. 109. [12]. Xiaohui Cui, Jinzhu Gao, Thomas E. Potok “A flocking based algorithm for document clustering analysis” journal of systems and architectures, Elsiever 2006. [13]. Martens, A. and H. Koziolek, Automatic, Model- Based Software Performance Improvement for Com ponent-based Software Designs. Electronic Notes in Theoretical Computer Science, 2009. 253(1): p.77-93.