<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Multi-Objective Hybrid Particle Swarm Optimization-based Ser Identification</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mohamed Merabet</string-name>
          <email>m_merabet@esi.dz</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sidi Mohamed Benslimane</string-name>
          <email>benslimane@univ-sba.dz</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Sciences Department, DjillaliLiabes University</institution>
          ,
          <addr-line>Sidi Bel Abbes</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Higher National School of Computer Sciences</institution>
          ,
          <addr-line>Algiers</addr-line>
          ,
          <country country="DZ">Algeria</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <fpage>2</fpage>
      <lpage>4</lpage>
      <abstract>
        <p>- Service identification step is a basic requirement for a detailed design and implementation of services in a Service Oriented Architecture (SOA). Existing methods for service identification ignore the automation capability while providing human based prescriptive guidelines, which mostly are not applicable at enterprise scales. In this paper, we propose a top down approach to identify automatically services from business process. We use for clustering a hybrid particle swarm optimization algorithm and several design metrics for produce reusable services with proper granularity and acceptable level of cohesion and coupling. The experimental results show that our method HPSOSI (Hybrid Particle Swarm Algorithm for Service Identification) can achieve a high performance in terms of execution time, and significant quality in terms of high modularization, strong cohesion, and weak coupling of the identified services..</p>
      </abstract>
      <kwd-group>
        <kwd>- Service Identification</kwd>
        <kwd>Hybrid Particle Swarm Optimization</kwd>
        <kwd>Service Oriented Architecture</kwd>
        <kwd>Business Process Modeling</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        Frequent changes in the business environment
and user demands are two important challenges
in developing large-scale software systems.
Service-Oriented Architecture (SOA) is one of the
promising methods to address these challenges
[
        <xref ref-type="bibr" rid="ref7">17</xref>
        ]. In service-oriented architecture, the first
phase of the SOA Lifecycle is identification of
services. This phase not only determines the
services that must be implemented, but also
define the logic that must encapsulate each
service. Service is the basic unit in Service
Oriented Computing. In design methodologies,
service identification usually plays a critical role.
The Lifecycle of SOA delivery projects is simply
comprised of a series of steps that need to be
complete to construct the services in a given
service-oriented solution, one of the most
important steps is to identify services [4].
Existing identification methods can be classified
into three categories based on the automation
point of view: prescriptive, semi-automated, and
fully-automated. Because SOA generally is used
to develop large-scale software systems, hence,
using prescriptive methods may lead to low of
identifying architectural elements.
      </p>
      <p>The need for an automated approach to identify
services is recognized to make service
identification step more reliable.</p>
      <p>
        Most of automated approaches use
Metaheuristic algorithms for service identification, such
as Simulated Annealing [6], Genetic Algorithm
[10], [
        <xref ref-type="bibr" rid="ref5">15</xref>
        ], Combinatorial particle swarm
optimization [8].
      </p>
      <p>In this paper, a new identification approach is
proposed, which aims to resolve the above
problems by supporting automation capabilities,
adopting technical metrics, and using business
process as input. This method generates
candidate software services using multi-objective
hybrid particle swarm optimization algorithm in
order to group them into distinct services
represented as clusters by analyzing the
dependencies between business activities and
business entity. The proposed approach
combines two Meta-heuristic algorithms that are
PSO (particle swarm optimization) and GA
(Genetic Algorithm). We use a hybrid algorithm by
embedding the crossover and mutation operators
of Genetic Algorithm into the PSO.</p>
      <p>The rest of this paper is organized as follows. In
section 2, the most related work is briefly
reviewed. In Section 3 introduces to the basic
concepts the particle swarm optimization. In
section 4,a novel method is proposed in order to
solve the service identification problem based on
hybrid Particle Swarm Optimization. Section 5
provides an implementation and experimental
results to demonstrate the performance of our
approach. Finally, section 6 concludes the paper
and point directions for future work.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Model-Driven process service identification</title>
      <p>The literature provides several works in service
identification. Who uses various levels of
automation: prescriptive, semi-automated, and
fully-automated.</p>
      <p>In this section, the existing approaches for service
identification can broadly be separated into one of
the following categories:</p>
      <sec id="sec-2-1">
        <title>2.1 Non-automated</title>
        <p>semi-automated):</p>
        <p>
          Methods (prescriptive,
[5]mentioned some best practices, wherever
appropriate, to point out the vagueness involved
in service identification. A top-down and
bottomup techniques for service identification has
proposed in this methodology.
[9] presented a method of service identification
using an ontology for the product line. Primary,
Semantic relationship was derived through the
mapping between feature modeling and ontology.
Second, both service and service boundary was
defined by semantic distance. Third, the method
was proposed for feature grouping and candidate
service refining service candidate which is the
fittest service granularity.
[
          <xref ref-type="bibr" rid="ref4">14</xref>
          ] proposed a generic ontology-based
framework, BPAOnto-SOA, for the derivation of
software service oriented models from a given
business process architecture relying on two
ontologies. This framework utilizes an adapted
clustering algorithm based on affinity analysis of
business process functions in order to group them
into services along with their associated NFRs to
ensure conformance of these services with SOA
principles.
[2] proposed a top-down approach for services
identification from business process models,
applying heuristics to define services for the
semantic analysis of process elements such as
business rules and business requirements, and
from a syntactic analysis of process models
according to its corresponding structural patterns.
[
          <xref ref-type="bibr" rid="ref6">16</xref>
          ] introduced a service identification method
based on scenario modeling and a conceptual
framework to elicit possible business changes.
Traceability among business requirements,
business changes and the identified services are
also supported by their method.
[
          <xref ref-type="bibr" rid="ref9">19</xref>
          ] presented a new method to identify services
from business process models. The contribution
of this approach is to show how the business
architecture can be used to drive the organization
of the information systems architecture and to
ensure its alignment with business requirements.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Automated Methods</title>
        <p>In [10], an automated method for identifying
business services by adopting design metrics
based on top-down decomposition of processes is
presented. This method takes a set of enterprise
business processes as input and produces a set
of non-dominated solutions representing
appropriate business services using a
multiobjective genetic algorithm.
[6] introduced a novel approach called ASIM for
automatically identifying and partly specifying
enterprise-level software services for business
models using best practices and principles of
model-driven software development. They
formulated service identification as a
multiobjective optimization problem and solved it by a
novel meta-heuristic optimization algorithm that
derives appropriate service abstractions by using
appropriate quantitative measures for granularity,
coupling, cohesion, reusability, and
maintainability.</p>
        <p>
          In [
          <xref ref-type="bibr" rid="ref5">15</xref>
          ], a meta-heuristic approach called MOOSI
for deriving service-oriented architectures from
annotated business process model is proposed.
They generate candidate software services using
multi-objective evolutionary algorithm that
analyses dependencies between business
activities in order to group them into distinct
clusters, each cluster must groups one or more
closely related activity to form a future software
service.
[8] Proposed a top down approach to identify
automatically services from business process by
using several design metrics. The approach called
CPSO produce services from business processes
as input and use a clustering combinatorial
particle swarm optimization algorithm.
In [
          <xref ref-type="bibr" rid="ref8">18</xref>
          ], the P2S (Process-to-Services)
methodology for service identification is applied in
a top-down context or in any case in which a
portfolio of available services is not present. The
methodology is designed to implement the
guidelines for service design, ensuring at the
same time proper metrics to automate service
identification.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. PARTICLE SWARM OPTIMIZATION</title>
      <p>
        Particle Swarm Optimization (PSO), is a new
intelligent global optimization algorithm, it was
proposed in 1995 by Eberhart and Dr. Kennedy
[
        <xref ref-type="bibr" rid="ref1">11</xref>
        ]. It is inspired by the swarming behavior of
animals and human social behavior. They
developed this method for optimization of
continuous non-linear functions. The algorithm is
similar to other population-based algorithms like
Genetic algorithms, but there is no direct
combination of individuals of the population.
Instead, it relies on the social behavior of the
particles. In every generation, each particle
adjusts its trajectory based on its best position
(local best) and the position of the best particle
(Global best) of the entire population. This
concept increases the stochastic nature of the
particle and converges quickly to a global
minimum with a reasonable good solution.
      </p>
      <sec id="sec-3-1">
        <title>3.1 Standard PSO Algorithm</title>
        <p>
          PSO uses to solve an optimization problem, a
swarm of computational elements, called particles
to explore the solution space for an optimum
solution. [
          <xref ref-type="bibr" rid="ref1">11</xref>
          ] Each particle represents a candidate
solution and is identified with specific coordinates
in the N dimensional search space. The position
of the i'th particle is represented as Xi= (xi1, xi2,…,
xin). The velocity of a particle is denoted as Vi =
(vi1, vi2…… vin). The fitness function is evaluated
for each particle in the swarm and is compared to
the fitness of the best previous result for that
particle and to the fitness of the best particle
among all particles in the swarm. After finding the
two best values, the particles evolve by updating
their velocities and positions according to the
following equations :
υ
x
= w × υ +
= x + υ
+
_
_
−
−
where i = (1, 2, …, swarm_size); _ is the
particle best reached solution and _ is the
global best solution in the swarm, k represents the
k-generation algebra evolution, w is the inertia
weight, and are the acceleration coefficient,
and are random numbers between 0 and 1
used to maintain the diversity of the population,
and is a linear combination of three parts.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Hybrid PSO algorithm</title>
        <p>PSO is suitable for continuous areas. [7],
proposed HPSO (Hybrid Particle Swarm
Algorithm) for solving problems in discrete areas
by introducing the crossover strategy and the
mutation strategy of the genetic algorithm.
c r _ − x + c r _ − x is viewed
as a crossover operator that make the current
solution do crossover operation on individual
extremum, and make the result do a crossover
operation on global extremum.
w × υ can be viewed as a mutation operator of
genetic algorithm. The variation of the above
results is a new location[7].</p>
        <p>For our problem, we will use hybrid PSO by
introducing the crossover and mutation operators
as follow:
(1) Crossover operator</p>
        <p>We propose crossover operators that ensure
consistency of solutions as follows:</p>
        <p>1. Select a particle with a given crossover
probability P .</p>
        <p>2. For the current particle and a business
process which is composed of n activities and m
business entity, randomly select a position i,
(where i = 1,…,n or i = 1,…,m).</p>
        <p>3. The value of the selected position in the first
sequence will exchange with the value of
corresponding position in the second sequence.
(2) Mutation operator</p>
        <p>In order to guarantee the diversity of the
population, we introduce the mutation strategy in
genetic algorithm into PSO by randomly select x
positions from the sequence, and replace it by a
random number ranging in the interval [0...k],
where k is the number of clusters.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. THE PROPOSED APPROACH</title>
      <p>Referring to the SOMA [1], different
approaches can be adopted to identify services,
namely top-down (domain decomposition),
bottom-up (existing system analysis) and
meetin-the-middle. The Top-Down approach consists
mainly in decomposing business processes into
finer business tasks. The bottom-up approach is
about analyzing existing IT assets and finding
functionality that could be exposed as services.</p>
      <p>The last one is about to conduct both a
bottom-up analysis and top-down analysis and to
correlate the services identified by each of these
approaches.</p>
      <p>The goal of service identification from
business process model is organizing a set of
business activities into significant clusters (high
cohesion and low coupled). The activities of a
cluster are considered as the operations of a
candidate service.</p>
      <p>In our approaches, we begin with the business
process model as input (Top-Down) and derive
the effective service set based on this model by
combining three techniques for grouping
business activities in order to form software
services:</p>
      <sec id="sec-4-1">
        <title>Business Entity-Centric Technique: it consists in</title>
        <p>putting all the activities associated with a
particular business entity into a service. In this
case, a CRUD (Create Read Update Delete)
Matrix (CRUDM) is used as input in the clustering
algorithm.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Actor-Centric Technique: it consists in putting all</title>
        <p>the activities performed by a particular actor into
a service. In this case, an Activity-Actor Matrix
(AAM) is used as input in the clustering algorithm.</p>
      </sec>
      <sec id="sec-4-3">
        <title>Business Goal-Centric Technique: it consists in</title>
        <p>putting all the activities those participate in the
achievement of a particular business goal into a
service. For this Technique, we use an Activity
Goal Matrix(AGM) as input data in the clustering
algorithm.</p>
        <p>We use a directed graph to represent
dependencies between business activities in
order to make the structure of a complex
business process more understandable.We call
such graphs Activity Dependency Graph (ADG).
In the ADG, the business functions (Business
Activities, Sub Process) are represented as
nodes and their relationships as edges that
connect the nodes. Thus, an Activity A is
connected with an Activity B if they manipulate
the same Business Entity and/or are performed
by the same Actor and/or they participate in the
achievement of the same Business Goal.
One way of making ADGs more available is to
partitioned them by grouping closely related
activities into clusters.</p>
        <p>Definition 1 (Cluster)
Let = ! , , , # $ , a set of Business Activities
of a business information system. Each activity
manipulates
one or more Business Entity and is performed by
one or more Actor and participate in the
achievement of one or more Business Goal.
Formally, a cluster Ci can be defined as:
% = &amp; ' | 1 ≤ j ≤| | where
∈ .</p>
        <p>Definition 2 (Partition)
A partition is a set of non-empty subsets of.
Formally, a partition π can be defined as:
π = {% } | 1 ≤ k ≤ | |
Where ⋃ - % =</p>
        <p>
          and ⋂ - % = ∅
In addition, a partition of into k non-empty
clusters is called a k-partition of . Given a set
that contains n elements, the number
0#, called Stirling numbers of distinct k-partition
of satisfies the recurrence equation presented
by [
          <xref ref-type="bibr" rid="ref10">20</xref>
          ].
0#, = 1
1 23 4 = 1 5 4 = 6
0#7 , 7 + 4 ∗ 0#7 , 59ℎ; &lt;2=;
(1)
Creating a meaningful partition of an ADG is
difficult because the number of possible partition
is very large even for a small graph. 0#, grow
exponentially with respect to the size of . For
example, a 7-node ADG would have 877 distinct
partitions, while a 25- node ADG would have
4.638.590.332.229.999.353 distinct partitions.
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>4.1 Design Metrics</title>
      </sec>
      <sec id="sec-4-5">
        <title>Development: for</title>
      </sec>
      <sec id="sec-4-6">
        <title>Service</title>
        <p>
          An effective way of increasing the quality of
software products consists of using metrics to
guide the development process. For evaluating
and measuring the quality of the services
produced by our clustering technique in each
iteration, we use three design metrics introduced
by [
          <xref ref-type="bibr" rid="ref5">15</xref>
          ],[
          <xref ref-type="bibr" rid="ref12">22</xref>
          ] and [
          <xref ref-type="bibr" rid="ref13">23</xref>
          ] which are: coupling,
cohesion, and modularization quality.
        </p>
        <p>Definition 3 (Coupling between two cluster )
The Coupling Between two Clusters (CoupBC)
measures the degree of connectivity between two
distinct clusters. A high degree of
interconnectivity is undesirable because it indicate
that services are highly dependent on each other.
Formally, %5&gt; ?%@ (coupling between cluster a
and cluster b) measures the ratio of
interdependencies between cluster a and cluster b
and the maximum possible number of
interdependencies between those clusters.</p>
        <p>0
23 C = D
%5&gt; ?%@ = A2 ∗ ∑P-L ∑P-N GHIJKLM, JKNO 23 C ≠ D!2$
Where Q@is the number of activities of cluster a,
Q is the number of activities of cluster b, and the
value of GHIJKLM, JKNO (Total Dependency
Matrix) represents the degree of dependency
between the 2S activity of cluster a ( % @M ), and
the TS activity of cluster b ( ACWX ).</p>
        <p>Definition 4 (Coupling Of a given Cluster)
The Coupling Of a given Cluster (CoupOC)
measures the degree of connectivity between a
given cluster and all other clusters of the system.
Formally, a Coupling Of a given Cluster a
is defined as:</p>
        <p>0
%5&gt; Y%@ = Z ∑N`bac K\]^_K LN</p>
        <p>
          Pa7
Service cohesion refers to the degree of the
strength of functional relevance of activities
carried out by a service to realise a business
process [
          <xref ref-type="bibr" rid="ref11">21</xref>
          ].
The degree of cohesion depends on the strength
of dependencies between activities of the
appropriate cluster (service).
        </p>
        <p>Formally, a Cohesion Of a Cluster a (%5ℎY%@) is
defined as:
%5ℎY%@</p>
        <p>0
= d∑#-7
∑#0
Where %5ℎY%@ is the cohesion of the cluster a,
and %5&gt; Y%@ is the coupling of the cluster a.
Definition 7 (Modularization Quality)
Modularization Quality (MQ) determines the
quality of an ADG partition perfectly as the
tradeoff between interconnectivity (i.e., dependencies
between the activities of two distinct services)
and intra-connectivity (i.e., dependencies
between the activities of the same service).
This trade-off is based on the hypothesis that
well-designed service-oriented software systems
are organized into cohesive subsystems that are
loosely interconnected. Therefore, a high MQ
allows the creation of highly cohesive clusters
that are not coupled strongly.</p>
        <p>Formally, The Modularization Quality (MQ) is
defined as the average of the MF’s of all clusters:
#
1
Ik = ∗ l Ig
6
Where n is the total number of cluster in the
system. And Ig is the Modularization Factor of
the 2S cluster.</p>
      </sec>
      <sec id="sec-4-7">
        <title>4.2 Service Identification Process</title>
        <p>The service identification process starts by
querying the Business Process Ontology to
extract the existing dependencies between
Activity, Business Entity, Actor, and Goal
concepts. Three matrices are created to represent
the extracted dependencies: (i) the CRUD Matrix
(CRUDM) which describes the relations between
the Activities and the Business Entities, (ii) the
AAM (Activity-Actor Matrix) which describes the
relations between the Activities and the Actors, (iii)
and the AGM (Activity-Goal Matrix) which
describes the relations between the activities and
Business Goals (cf. Figure 1).</p>
        <p>4.2.1</p>
        <p>Activity Relationships Matrices
The CRUD Matrix. For grouping Business
Activities into clusters using the Business Entity
Centric Technique, we need a rate that represent
the degree of semantic relationships between
Activity and Business Entity. Four operations can
be applied on each Business Entity by the
Business Activity. These operations are called
CRUD (C:Create, R:Read, U:Update, D:Delete).
In order to compute the value of each technical
metrics, such as Cohesion, Coupling, and
Modularization Quality, it is necessary to
associate each operation with a value between 0
and 1. The majority of existing works on CRUD
semantic relationships adopts the following
substitutions: C=1; U=0.75, D=0.50, R=0.25.
These values represent the cost of the operation
on each Business Entity.</p>
        <p>We store these values in a CRUD Matrix
(CRUDM), which has Business Activities as its
rows, Business Entities as its columns, and
semantic relationships (”C”, ”U”, ”D”, ”R”, with the
distinct intensity 1 =&gt; C &gt; U &gt;D &gt; R &gt; 0) as its
cells. Each column in this matrix must have
exactly one create operation and each row must
have no conceptual (operational) activities. Table
1 shows an example of CRUDM.</p>
        <p>Activity-Actor Matrix. In order to regroup activities
using Actor-Centric Technique, we represent the
degree of semantic relationships between Activity
and Actor by using a second matrix called
ActivityActor Matrix (AAM). The value of each cell of AAM
is taken between 0 and 1. For example the value
AAM1,3 = 0.75 indicates that the Actor 3 perform
0.75% of the Activity1. The sum of each row of
AAM must be equal 1 to indicate that the
corresponding activity is performed completely.
Activity-Goal Matrix. In order to group Business
Activities based on Goal-centric Technique, we
use a third matrix called Activity-Goal Matrix
(AGM). Each cell of AGM represents the degree
of semantic relationships between Activity and
Business Goal. The value of each cell of AGM is
taken between 0 and 1. It indicates the
achievement rate of a Business Goal after the
execution of a Business Activity. For instance the
value AGM2,4 = 0.50 indicates that the activity 2
Achieve 50% of the Goal 4. The sum of each
column of the AGM must be equal 1 to indicate
that the corresponding Business Goal is achieved
completely.</p>
        <sec id="sec-4-7-1">
          <title>4.2.2 Total Dependency Matrix</title>
          <p>derivation
In order to enhance the quality of service cluster,
three square matrices are derived from CRUDM,
AAM, and AGM respectively. The first one is
called Business Entity centric Activity
Dependency Matrix (BEADM), the second one is
called Actor-centric Activity Dependency Matrix
(AADM), and the third one is called Business Goal
centric Activity Dependency Matrix (BGADM).
These square matrices represent the degree of
dependency between each activity and other
activities of the annotated business process. To
compute dependencies between two activities,
we take the minimal value of relationships that
relies the both activities with the same Business
Entity.</p>
          <p>For instance, the degree of dependency between
Activity 1 that read Business Entity 5 and Activity
3 that create the same Business Entity 5 is equal
0.25 (we use the minimal value between R:0.25
and C:1). If no operation is applied by the Activity
2 on Business Entities that are manipulated by
Activity 1, we conclude that there is zero
dependency between Activity 1 and Activity 2.
The three matrices BEADM, AADM, and BGADM
are integrated into one matrix named Total
Dependency Matrix (TDM) that represents the
average dependency between each couple of
activities. Each cell of TDM is calculated as
follows:
=
TDM ,q</p>
          <p>W ∗ BEADM ,q + W ∗ AADM ,q + Wu ∗ BGADM ,q
∑u- W
Where W1,W2, and W3 are weighting factors
corresponding to BEADM, AADM, BGADM
respectively.</p>
          <p>4.2.3 Hybrid Particle Swarm
OptimizationBased Clustering.</p>
          <p>Matrix clustering is considered as NP-complete
problem, we have to use Meta-heuristics to
solving it.</p>
          <p>We propose Hybrid Particle Swarm Optimization
[7] for clustering the TDM matrix.</p>
          <p>The steps of HPSOSI(Hybrid Particle Swarm
Optimization for Service Identification)is mainly
divided into three parts:
• First, initialize the particles ;
• Second, calculate the fitness value for each
particle and update pbest and gbest;
• Third, use the crossover and mutation
operation to improve PSO.</p>
          <p>The specific steps are shown in Figure 2.
#
1
3296;== = Ik ∗ w∗ l %5ℎY% x ∗ !1 − !
6
#∗ l %5&gt; Y% $$</p>
          <p>Where n is the total number of clusters
represented by the current particle, %5ℎY% is the
cohesion of the the ith cluster, and %5&gt; Y% is the
coupling of the jth cluster. A better particle is a
particle that has a strong quality of
modularization, a strong cohesion, and a weak
coupling which implies a high fitness.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. IMPLEMENTATION AND EXPERIMENTAL</title>
    </sec>
    <sec id="sec-6">
      <title>RESULTS</title>
      <p>In order to evaluate the performance of our
approach we implemented a tool called HPSOSI,
Figure 3 is shown a printout screenshot of this
latter, which was developed in order using Java
programming language with NetBeans IDE 7.0.
All experiments run in Windows 7 on a desktop
PC with Intel Dual Core, 2.3 GHz processors,
2GB of RAM.</p>
      <p>The HPSOSI parameters were set experimentally
as follows: crossover probability Pc and mutation
probability Pm we reset to 0.8 and 0.4 respectively
and weighting factors W1=1,W2=2,and W3=1.
The swarm comprises of 1000 particles and the
number of iteration k = 100.</p>
      <p>To evaluate the performance of our tool HPSOSI
(Hybrid Particle Swarm Optimization for Service
Identification), we applied the proposed
clustering algorithm on three business processes
with different combination of weighting factors.
The provided results are shown in Figure 4.</p>
      <p>We note that some factor influences
more than others on the fitness value, because
the summation of total semantic relationships for
matrices CRUDM, AAM, and AGM are different.
There is especially for total semantic relations
(TSR) in the matrix AAM is still a higher
summation of total semantic relations for CRUDM
or AGM matrices. They can be formulated as
follows:</p>
      <p>G0y! I$ &gt; G0y !%yzHI$ &gt; G0y ! {I$.</p>
      <sec id="sec-6-1">
        <title>Where:</title>
        <p>G0y! I$ =
#€_</p>
        <p>#_
l 0y!}?~ $
G0y!CRUDM$ = l 0y!?~ $</p>
        <p>#…†J‡
G0y!AGM$ = l 0y!{Y „ $</p>
        <p>0y!}?~ $ = 0y!?~ $ = 0y!{Y „ $ = 1.
0y!}?~ $ : Summation of semantic relationships
in EBPi row for I .
0y!?~ $ : Summation of semantic relationships in
BPi Column for %yzHI.
0y!{Y „ $ : Summation of semantic relationships
in GOALi Column for {I .</p>
        <p>
          The business process of the case study is
shown in Figure 5.
We run our tool on the same business process
used in [6], [8] and [
          <xref ref-type="bibr" rid="ref5">15</xref>
          ]. We note, as shown in
Figure 6, that we have widely improved by
reducing the number of iterations to achieve the
same results as in [6], [8], and [
          <xref ref-type="bibr" rid="ref5">15</xref>
          ].
The difference found between the results is
explained by the use in clustering step a Total
Dependency Matrix (TDM) in our approach
instead of using the CRUD matrix by approaches
ASIM [6], SIPSO [8].
        </p>
        <p>
          Although we have the same number of iterations
in [
          <xref ref-type="bibr" rid="ref5">15</xref>
          ], a better solution is found with the highest
fitness value thanks to the use of BEADM, AADM,
and BGADM.
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>6. Conclusion and outlook</title>
      <p>Matrix clustering for services identification is
an NP-complete problem. This paper presents
HPSOSI a multi-objective hybrid particle swarm
optimization algorithm, where the crossover and
mutation of a genetic algorithm is embedded into
the PSO to improve the local search ability and to
maintain the diversity of the population in order to
achieve better performance than standard
evolutionary algorithm. The proposed method
identifies automatically candidate SOA services
from business process models.</p>
      <p>The experimental results show that our
approach achieves high performance in term of
convergence
speed
and
execution time
compared with other solution.</p>
      <p>As future work, we are studying introducing
others semantic annotation to fully consider
semantic
relationships
between
business
elements, and hence transaction and semantic
integrity can be guaranteed.</p>
    </sec>
    <sec id="sec-8">
      <title>7. REFERENCES</title>
      <p>[1] Arsanjani. Service-Oriented Modeling and
Architecture (SOMA). IBM developer Works,
2004.
[2] Azevedo Leonardo Guerreiro, Flávia
Santoro, Fernanda Baião, Jairo Souza, Kate
Revoredo, Vinícios Pereira, and
IsoldaHerlain. “A Method for Service
Identification from Business Process Models
in a SOA Approach“. CAiSE, pp. 99-112,
2009.
[3] Alejandro Cervantes. Inés Galván. Pedro
lsasi.Binary particle swarm optimization in
classification. Neural Network World 3(05),
pp. 229-241,2005.
[4] Erl T. Service-Oriented Architecture:
Concepts, Technology, and Design. Prentice
Hall PTR, 2005, 792 p.
[5] Inaganti S. and Behara G. K .Service
Identification: BPM and SOA Handshake.</p>
      <p>White Paper,2007.
[6] Jamshidi P. Mansour S. Sedighiani K.</p>
      <p>Jamshidi S. and Shams. “An Automated
Service Identification Method“.Technical
Report. Shahid Beheshti University.2012.
[7] Sheng-Jun Xue, Wu Wu. Scheduling
Workflow in Cloud Computing Based on
Hybrid Particle Swarm Algorithm. Nanjing
University of Information Science &amp;
Technology, School of Computer and
Software, Nanjing, China.TELKOMNIKA,
Vol.10, No.7, November 2012, pp.
1560~1566.
[8] Chergui Mohamed El Amine, Sidi Mohamed
Benslimane. Using Combinatorial Particle
Swarm Optimization to Automatic Service
Identification. 13th International Arab
Conference on Information Technology
ACIT’2013, December 17-19, 2013,
Khartoum, Sudan.
[9] Kang DongSu, Chee-yang Song, Doo-Kwon
Baik. “A Method of Service Identification for
Product Line“. Proc. Of Third 2008
International Conference on Convergence
and Hybrid Information Technology, pp. pp.
1040–1045, 2008.
[10] Kazemi Ali, Ali Rostampour,
PooyanJamshidi, Eslam Nazemi, Fereidoon
Shams, Ali Nasirzadeh Azizkandi. “A Genetic
Algorithm Based Approach to Service
Identification“.IEEE World Congress on
Service Computing, Washington DC, USA,
July 4-9, 2011</p>
      <sec id="sec-8-1">
        <title>Engineering“,</title>
        <p>Conference</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Kennedy</surname>
          </string-name>
          .J, R.C. Eberhart. “
          <article-title>Particle swarm optimization“</article-title>
          .
          <source>Proceedings of the IEEE International Conference on Neural Networks</source>
          , vol. IV,
          <year>1995</year>
          , pp.
          <fpage>1942</fpage>
          -
          <lpage>1948</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          “ Information Prentice Hall,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Magnus</given-names>
            <surname>Erik Hvass Pedersen</surname>
          </string-name>
          .
          <article-title>Good Parameters or Particle Swarm Optimization</article-title>
          .
          <source>Hvass Laboratories Technical Report no. HL1001</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Rana</surname>
            <given-names>Yousef</given-names>
          </string-name>
          , Mohammad Odeh, David Coward,
          <string-name>
            <given-names>Ahmad</given-names>
            <surname>Sharieh</surname>
          </string-name>
          .
          <article-title>“A Semantically Enriched Framework to Derive Software Service Oriented Models from Business Process Architectures“</article-title>
          .
          <source>International Journal of Information Studies</source>
          , Volume
          <volume>1</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>4</given-names>
          </string-name>
          ,
          <year>October 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Soltani</surname>
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Benslimane S. M. “From A High Level Business Process Model To Service Model Artifacts: A Model-Driven</surname>
            <given-names>Approach</given-names>
          </string-name>
          “. 14-th
          <source>International Conference on Enterprise Information Systems (ICEIS</source>
          <year>2012</year>
          ), 28 June - 1
          <string-name>
            <surname>July</surname>
          </string-name>
          ,
          <year>2012</year>
          , Wroclaw, Poland.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Suntae</surname>
            <given-names>Kim</given-names>
          </string-name>
          , Minseong Kim, VijayanSugumaran, Sooyong Park.
          <article-title>“A Scenario Based Approach for Service Identification“</article-title>
          .
          <source>34th Annual IEEE Computer Software and Applications Workshops</source>
          , p.
          <fpage>237</fpage>
          -
          <lpage>238</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Bhaskar</surname>
            <given-names>MM</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benerji</surname>
            <given-names>M</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sydulu</surname>
            <given-names>M.</given-names>
          </string-name>
          <article-title>A Hybrid Genetic Algorithm Approach for Optimal PowerFlow</article-title>
          .
          <source>TELKOMNIKA Indonesian Journal of Electrical Engineering</source>
          .
          <year>2011</year>
          ;
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <fpage>211</fpage>
          -
          <lpage>216</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Bianchini</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Cappiello</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>De Antonellis</surname>
          </string-name>
          , V.;
          <string-name>
            <surname>Pernici</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <article-title>"Service Identification in InterOrganizational Process Design</article-title>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [19]
          <article-title>" Services Computing, IEEE Transactions on</article-title>
          , vol.PP, no.
          <issue>99</issue>
          , pp.
          <fpage>102</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Birkmeier</surname>
            ,
            <given-names>Dominik Q.</given-names>
          </string-name>
          ; Gehlert, Andreas; Overhage, Sven; Schlauderer, Sebastian,
          <article-title>"Alignment of Business and IT Architectures in the German Federal Government: A Systematic Method to Identify Services from Business Processes,"</article-title>
          <source>System Sciences (HICSS)</source>
          ,
          <year>2013</year>
          46th Hawaii International Conference on , vol., no., pp.
          <volume>3848</volume>
          ,
          <issue>3857</issue>
          ,
          <fpage>7</fpage>
          -
          <lpage>10</lpage>
          Jan.
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Mancoridis</surname>
            <given-names>S.</given-names>
          </string-name>
          et al,
          <article-title>Using Automatic Clustering to Produce High-Level System Organization of Source Code</article-title>
          ,
          <source>In Proceeding of the International Workshop on Program Understanding, June</source>
          <volume>24</volume>
          -26,
          <year>1998</year>
          , Ischia, Italy, pp
          <fpage>45</fpage>
          -
          <lpage>53</lpage>
          ,(
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Qian</surname>
          </string-name>
          Ma et al,
          <article-title>Evaluating Service with Design Metrics On Business Process Decomposition</article-title>
          ,
          <source>IEEE International Conference on Services Computing</source>
          , pp.
          <fpage>160</fpage>
          -
          <lpage>167</lpage>
          , (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mancoridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. S.</given-names>
            <surname>Mitchell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E. R.</given-names>
            <surname>Gansner</surname>
          </string-name>
          .
          <article-title>Bunch: A clustering tool for the recovery and maintenance of software system structures</article-title>
          .
          <source>In Proceedings of the IEEE International Conference on Software Maintenance</source>
          , pages
          <fpage>50</fpage>
          <lpage>59</lpage>
          . IEEE,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S.</given-names>
            <surname>Mancoridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. S.</given-names>
            <surname>Mitchell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Rorres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Chen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E. R.</given-names>
            <surname>Gansner</surname>
          </string-name>
          .
          <article-title>Using automatic clustering to produce high-level system organizations of source code</article-title>
          .
          <source>In Proceedings of the Sixth International Workshop on Program Comprehension</source>
          , pages
          <fpage>45</fpage>
          <lpage>52</lpage>
          . IEEE,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>