=Paper= {{Paper |id=Vol-1294/paper6 |storemode=property |title=A Multi-Objective Hybrid Particle Swarm Optimization-based Service Identification |pdfUrl=https://ceur-ws.org/Vol-1294/paper6.pdf |volume=Vol-1294 |dblpUrl=https://dblp.org/rec/conf/icaase/MerabetB14a }} ==A Multi-Objective Hybrid Particle Swarm Optimization-based Service Identification== https://ceur-ws.org/Vol-1294/paper6.pdf
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




    A Multi-Objective Hybrid Particle Swarm
    Optimization-based Ser     Identification


                 Mohamed Merabet                                                   Sidi Mohamed Benslimane
    Higher National School of Computer Sciences,                                Computer Sciences Department,
                   Algiers, Algeria                                    DjillaliLiabes University, Sidi Bel Abbes, Algeria
                 m_merabet@esi.dz                                                   benslimane@univ-sba.dz




Abstract – 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..

Keywords – Service Identification, Hybrid Particle Swarm Optimization, Service Oriented Architecture,
Business Process Modeling



1. INTRODUCTION                                                    fully-automated. Because SOA generally is used
                                                                   to develop large-scale software systems, hence,
Frequent changes in the business environment                       using prescriptive methods may lead to low of
and user demands are two important challenges                      identifying architectural elements.
in developing large-scale software systems.
Service-Oriented Architecture (SOA) is one of the                  The need for an automated approach to identify
promising methods to address these challenges                      services is recognized to make service
[17]. In service-oriented architecture, the first                  identification step more reliable.
phase of the SOA Lifecycle is identification of
                                                                   Most of automated approaches use Meta-
services. This phase not only determines the
                                                                   heuristic algorithms for service identification, such
services that must be implemented, but also
                                                                   as Simulated Annealing [6], Genetic Algorithm
define the logic that must encapsulate each
                                                                   [10], [15], Combinatorial particle swarm
service. Service is the basic unit in Service
                                                                   optimization [8].
Oriented Computing. In design methodologies,
service identification usually plays a critical role.              In this paper, a new identification approach is
The Lifecycle of SOA delivery projects is simply                   proposed, which aims to resolve the above
comprised of a series of steps that need to be                     problems by supporting automation capabilities,
complete to construct the services in a given                      adopting technical metrics, and using business
service-oriented solution, one of the most                         process as input. This method generates
important steps is to identify services [4].                       candidate software services using multi-objective
                                                                   hybrid particle swarm optimization algorithm in
Existing identification methods can be classified
                                                                   order to group them into distinct services
into three categories based on the automation
                                                                   represented as clusters by analyzing the
point of view: prescriptive, semi-automated, and
                                                                   dependencies between business activities and


International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           52
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




business entity. The proposed approach                             applying heuristics to define services for the
combines two Meta-heuristic algorithms that are                    semantic analysis of process elements such as
PSO (particle swarm optimization) and GA                           business rules and business requirements, and
(Genetic Algorithm). We use a hybrid algorithm by                  from a syntactic analysis of process models
embedding the crossover and mutation operators                     according to its corresponding structural patterns.
of Genetic Algorithm into the PSO.
                                                                   [16] introduced a service identification method
The rest of this paper is organized as follows. In                 based on scenario modeling and a conceptual
section 2, the most related work is briefly                        framework to elicit possible business changes.
reviewed. In Section 3 introduces to the basic                     Traceability among business requirements,
concepts the particle swarm optimization. In                       business changes and the identified services are
section 4,a novel method is proposed in order to                   also supported by their method.
solve the service identification problem based on
hybrid Particle Swarm Optimization. Section 5                       [19] presented a new method to identify services
                                                                   from business process models. The contribution
provides an implementation and experimental
results to demonstrate the performance of our                      of this approach is to show how the business
                                                                   architecture can be used to drive the organization
approach. Finally, section 6 concludes the paper
and point directions for future work.                              of the information systems architecture and to
                                                                   ensure its alignment with business requirements.
2. Model-Driven           service        identification
   process                                                             2.2 Automated Methods

The literature provides several works in service                   In [10], an automated method for identifying
identification. Who uses various levels of                         business services by adopting design metrics
                                                                   based on top-down decomposition of processes is
automation: prescriptive, semi-automated, and
fully-automated.                                                   presented. This method takes a set of enterprise
                                                                   business processes as input and produces a set
In this section, the existing approaches for service               of   non-dominated        solutions representing
identification can broadly be separated into one of                appropriate business services using a multi-
the following categories:                                          objective genetic algorithm.
   2.1 Non-automated Methods              (prescriptive,           [6] introduced a novel approach called ASIM for
       semi-automated):                                            automatically identifying and partly specifying
                                                                   enterprise-level software services for business
[5]mentioned some best practices, wherever                         models using best practices and principles of
appropriate, to point out the vagueness involved                   model-driven software development. They
in service identification. A top-down and bottom-                  formulated service identification as a multi-
up techniques for service identification has                       objective optimization problem and solved it by a
proposed in this methodology.                                      novel meta-heuristic optimization algorithm that
[9] presented a method of service identification                   derives appropriate service abstractions by using
using an ontology for the product line. Primary,                   appropriate quantitative measures for granularity,
Semantic relationship was derived through the                      coupling,      cohesion,     reusability,    and
mapping between feature modeling and ontology.                     maintainability.
Second, both service and service boundary was                      In [15], a meta-heuristic approach called MOOSI
defined by semantic distance. Third, the method                    for deriving service-oriented architectures from
was proposed for feature grouping and candidate                    annotated business process model is proposed.
service refining service candidate which is the                    They generate candidate software services using
fittest service granularity.                                       multi-objective evolutionary algorithm that
[14] proposed a generic ontology-based                             analyses dependencies between business
framework, BPAOnto-SOA, for the derivation of                      activities in order to group them into distinct
software service oriented models from a given                      clusters, each cluster must groups one or more
business process architecture relying on two                       closely related activity to form a future software
ontologies. This framework utilizes an adapted                     service.
clustering algorithm based on affinity analysis of                 [8] Proposed a top down approach to identify
business process functions in order to group them                  automatically services from business process by
into services along with their associated NFRs to                  using several design metrics. The approach called
ensure conformance of these services with SOA                      CPSO produce services from business processes
principles.                                                        as input and use a clustering combinatorial
[2] proposed a top-down approach for services                      particle swarm optimization algorithm.
identification from business process models,



International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           53
ICAASE'2014                                      A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




In [18],        the P2S (Process-to-Services)                          and  are random numbers between 0 and 1

                                                                     and  is a linear combination of three parts.
methodology for service identification is applied in                 used to maintain the diversity of the population,
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                                  3.2 Hybrid PSO algorithm
guidelines for service design, ensuring at the
same time proper metrics to automate service                         PSO is suitable for continuous areas. [7],
identification.                                                      proposed HPSO (Hybrid Particle Swarm
                                                                     Algorithm) for solving problems in discrete areas
3. PARTICLE SWARM OPTIMIZATION                                       by introducing the crossover strategy and the
                                                                     mutation strategy of the genetic algorithm.

                                                                     c r _ − x  + c r _ − x  is viewed
Particle Swarm Optimization (PSO), is a new
intelligent global optimization algorithm, it was
proposed in 1995 by Eberhart and Dr. Kennedy                         as a crossover operator that make the current
[11]. It is inspired by the swarming behavior of                     solution do crossover operation on individual
animals and human social behavior. They                              extremum, and make the result do a crossover
developed this method for optimization of                            operation on global extremum.

                                                                     w × υ can be viewed as a mutation operator of
continuous non-linear functions. The algorithm is
similar to other population-based algorithms like
Genetic algorithms, but there is no direct                           genetic algorithm. The variation of the above
combination of individuals of the population.                        results is a new location[7].
Instead, it relies on the social behavior of the
particles. In every generation, each particle                        For our problem, we will use hybrid PSO by
adjusts its trajectory based on its best position                    introducing the crossover and mutation operators
(local best) and the position of the best particle                   as follow:
(Global best) of the entire population. This
concept increases the stochastic nature of the                           (1) Crossover operator
particle and converges quickly to a global
minimum with a reasonable good solution.                                We propose crossover operators that ensure
                                                                     consistency of solutions as follows:
    3.1 Standard PSO Algorithm

                                                                     probability P .
                                                                        1. Select a particle with a given crossover
PSO uses to solve an optimization problem, a
swarm of computational elements, called particles
to explore the solution space for an optimum                            2. For the current particle and a business
solution. [11] Each particle represents a candidate                  process which is composed of n activities and m
solution and is identified with specific coordinates                 business entity, randomly select a position i,
in the N dimensional search space. The position                      (where i = 1,…,n or i = 1,…,m).
of the i'th particle is represented as Xi= (xi1, xi2,…,
xin). The velocity of a particle is denoted as Vi =                     3. The value of the selected position in the first
(vi1, vi2…… vin). The fitness function is evaluated                  sequence will exchange with the value of
for each particle in the swarm and is compared to                    corresponding position in the second sequence.
the fitness of the best previous result for that
particle and to the fitness of the best particle                         (2) Mutation operator
among all particles in the swarm. After finding the
two best values, the particles evolve by updating                       In order to guarantee the diversity of the
their velocities and positions according to the                      population, we introduce the mutation strategy in
following equations :                                                genetic algorithm into PSO by randomly select x

υ = w × υ +              _ −  
                                        
                                                                     positions from the sequence, and replace it by a
                     
                   +            _ −  
                                                                     random number ranging in the interval [0...k],
                                          
                         
                                                                     where k is the number of clusters.

x = x + υ
               
                                                                     4. THE PROPOSED APPROACH

   where i = (1, 2, …, swarm_size); _ is the
                                                                         Referring to the SOMA [1], different
particle best reached solution and _ is the
                                                                     approaches can be adopted to identify services,
                                                                     namely top-down (domain decomposition),
global best solution in the swarm, k represents the
k-generation algebra evolution, w is the inertia                     bottom-up (existing system analysis) and meet-
weight,  and  are the acceleration coefficient,                    in-the-middle. The Top-Down approach consists



International Conference on Advanced Aspects of Software Engineering
International
ICAASE,       Conference
          November,  2-4, on Advanced
                          2014,       Aspects
                                Constantine,   of Software Engineering
                                             Algeria.                                                                          54
ICAASE, November, 2-4, 2014, Constantine, Algeria.
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




mainly in decomposing business processes into                      by the same Actor and/or they participate in the
finer business tasks. The bottom-up approach is                    achievement of the same Business Goal.
about analyzing existing IT assets and finding
functionality that could be exposed as services.                   One way of making ADGs more available is to
                                                                   partitioned them by grouping closely related
   The last one is about to conduct both a                         activities into clusters.
bottom-up analysis and top-down analysis and to
correlate the services identified by each of these                 Definition 1 (Cluster)

                                                                   Let  = !  ,  , , # $ , a set of Business Activities
approaches.
   The goal of service identification from                         of a business information system. Each activity
business process model is organizing a set of                      manipulates
business activities into significant clusters (high
cohesion and low coupled). The activities of a                     one or more Business Entity and is performed by
cluster are considered as the operations of a                      one or more Actor and participate in the
candidate service.                                                 achievement of one or more Business Goal.

   In our approaches, we begin with the business                   Formally, a cluster Ci can be defined as:

                                                                    % = &  ' | 1 ≤ j ≤|  | where         ∈ .
process model as input (Top-Down) and derive
the effective service set based on this model by
combining three techniques for grouping                            Definition 2 (Partition)
business activities in order to form software
services:                                                          A partition is a set of non-empty subsets of.
Business Entity-Centric Technique: it consists in                  Formally, a partition π can be defined as:
putting all the activities associated with a
particular business entity into a service. In this                 π = {% } | 1 ≤ k ≤ |  |

                                                                   Where ⋃- % =        and ⋂- % = ∅
                                                                                                 
case, a CRUD (Create Read Update Delete)
Matrix (CRUDM) is used as input in the clustering
algorithm.                                                         In addition, a partition of  into k non-empty
Actor-Centric Technique: it consists in putting all                clusters is called a k-partition of  . Given a set
                                                                      that contains n elements, the number
                                                                   0#, called Stirling numbers of distinct k-partition
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.                of  satisfies the recurrence equation presented
                                                                   by [20].
                                                                           1                 23 4 = 1 5 4 = 6
Business Goal-Centric Technique: it consists in
                                                                   0#, = 1
                                                                            0#7,7 + 4 ∗ 0#7, 59ℎ; <2=;
putting all the activities those participate in the
                                                                                                                          (1)
achievement of a particular business goal into a
service. For this Technique, we use an Activity
                                                                   Creating a meaningful partition of an ADG is
Goal Matrix(AGM) as input data in the clustering
                                                                   is very large even for a small graph. 0#, grow
                                                                   difficult because the number of possible partition
algorithm.
We use a directed graph to represent                               exponentially with respect to the size of  . For
dependencies between business activities in                        example, a 7-node ADG would have 877 distinct
order to make the structure of a complex                           partitions, while a 25- node ADG would have
business process more understandable.We call                       4.638.590.332.229.999.353 distinct partitions.
such graphs Activity Dependency Graph (ADG).
                                                                        4.1 Design    Metrics               for       Service
In the ADG, the business functions (Business                                Development:
Activities, Sub Process) are represented as
nodes and their relationships as edges that                        An effective way of increasing the quality of
connect the nodes. Thus, an Activity A is                          software products consists of using metrics to
connected with an Activity B if they manipulate                    guide the development process. For evaluating
the same Business Entity and/or are performed                      and measuring the quality of the services
                                                                   produced by our clustering technique in each


International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           55
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




iteration, we use three design metrics introduced                  The degree of cohesion depends on the strength
by [15],[22] and [23] which are: coupling,                         of dependencies between activities of the
cohesion, and modularization quality.                              appropriate cluster (service).

Definition 3 (Coupling between two cluster )                       Formally, a Cohesion Of a Cluster a (%5ℎY%@ ) is
                                                                   defined as:

                                                                   %5ℎY%@
The Coupling Between two Clusters (CoupBC)

                                                                      0                                  23 6 = 1
measures the degree of connectivity between two

                                                                   = d∑- ∑- !2 ∗ GHI JKLM , JKLO $                       !4$
                                                                       #7  #
distinct clusters. A high degree of inter-

                                                                                                          23 6 > 1
                                                                                6 ∗ !6 − 1$
connectivity is undesirable because it indicate
that services are highly dependent on each other.

Formally, %5> ?%@ (coupling between cluster a
                                                                   a, TDM is the Total Dependency Matrix, %@M is
                                                                   Where n is the number of activities in the cluster

                                                                   the 2S Activity of the Cluster a, and %@O is the
and cluster b) measures the ratio of inter-
dependencies between cluster a and cluster b

                                                                   TS Activity of the Cluster a.
and the maximum possible number of inter-
dependencies between those clusters.
             0                               23 C = D              Definition 6 (Modularization Factor)
            2 ∗ ∑    ∑     GHI
                  PL   PN
%5> ?%@ = A      - -        JKLM , JKNO          !2$
                                             23 C ≠ D
                     2 ∗ Q@ ∗ Q
                                                                   Modularization Factor (MF) is the ratio of the
                                                                   cohesion and the coupling of each cluster.

Where Q@ is the number of activities of cluster a,
Q is the number of activities of cluster b, and the
                                                                   Formally, the Modularization Factor of a cluster a
                                                                   (Ig@) is defined as follows:
value of GHI JKL , JKN (Total Dependency
                        M    O                                               0      23 %5ℎY%@ + %5> Y%@ = 0
                                                                                 %5ℎY%@
                                                                   Ig@ = A                        59ℎ; <2=; !5$
between the 2S activity of cluster a ( %@M ), and                                    %5> Y%@
Matrix) represents the degree of dependency

                                                                           %5ℎY%@ + h    2
                                                                                              i
the TS activity of cluster b ( ACWX ).
                                                                   Where %5ℎY%@ is the cohesion of the cluster a,
                                                                   and %5> Y%@ is the coupling of the cluster a.
Definition 4 (Coupling Of a given Cluster)

The Coupling Of a given Cluster (CoupOC)
                                                                   Definition 7 (Modularization Quality)
measures the degree of connectivity between a
given cluster and all other clusters of the system.                Modularization Quality (MQ) determines the
                                                                   quality of an ADG partition perfectly as the trade-
(%5> Y%@ )
Formally, a Coupling Of a given Cluster a
                                                                   off between interconnectivity (i.e., dependencies
                                                                   between the activities of two distinct services)
is defined as:                                                     and intra-connectivity (i.e., dependencies

               0                   23 Q[ = 1
                                                                   between the activities of the same service).

%5> Y%@ = Z    ∑`
                                  59ℎ; <2=;
                  a
                Nbc K\]^_KLN
                                                   (3)             This trade-off is based on the hypothesis that
                   Pa 7                                           well-designed service-oriented software systems
                                                                   are organized into cohesive subsystems that are
Where Nc is the number of cluster in the system.                   loosely interconnected. Therefore, a high MQ
                                                                   allows the creation of highly cohesive clusters
                                                                   that are not coupled strongly.
Definition 5 (Cohesion Of a Cluster)
                                                                   Formally, The Modularization Quality (MQ) is
Service cohesion refers to the degree of the                       defined as the average of the MF’s of all clusters:
                                                                           1
                                                                                 #

                                                                   Ik =      ∗ l Ig                                     !6$
strength of functional relevance of activities

                                                                           6
carried out by a service to realise a business
process [21].                                                                    -




International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                             56
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




system. And Ig is the Modularization Factor of
Where n is the total number of cluster in the

the 2S cluster.
    4.2 Service Identification Process

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).
         4.2.1     Activity Relationships Matrices

The CRUD Matrix. For grouping Business
Activities into clusters using the Business Entity
                                                                           Figure 1: Service Identification Steps
Centric Technique, we need a rate that represent
the degree of semantic relationships between                                     Table 1: CRUD Matrix Example
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                      Activity-Goal Matrix. In order to group Business
semantic relationships adopts the following                        Activities based on Goal-centric Technique, we
substitutions: C=1; U=0.75, D=0.50, R=0.25.                        use a third matrix called Activity-Goal Matrix
These values represent the cost of the operation
                                                                   (AGM). Each cell of AGM represents the degree
on each Business Entity.
                                                                   of semantic relationships between Activity and
We store these values in a CRUD Matrix                             Business Goal. The value of each cell of AGM is
(CRUDM), which has Business Activities as its                      taken between 0 and 1. It indicates the
rows, Business Entities as its columns, and                        achievement rate of a Business Goal after the
semantic relationships (”C”, ”U”, ”D”, ”R”, with the               execution of a Business Activity. For instance the
distinct intensity 1 => C > U >D > R > 0) as its                   value AGM2,4 = 0.50 indicates that the activity 2
cells. Each column in this matrix must have                        Achieve 50% of the Goal 4. The sum of each
exactly one create operation and each row must                     column of the AGM must be equal 1 to indicate
have no conceptual (operational) activities. Table                 that the corresponding Business Goal is achieved
1 shows an example of CRUDM.
                                                                   completely.
Activity-Actor Matrix. In order to regroup activities
using Actor-Centric Technique, we represent the                              4.2.2     Total Dependency Matrix
degree of semantic relationships between Activity                                      derivation
and Actor by using a second matrix called Activity-
Actor Matrix (AAM). The value of each cell of AAM                  In order to enhance the quality of service cluster,
is taken between 0 and 1. For example the value                    three square matrices are derived from CRUDM,
AAM1,3 = 0.75 indicates that the Actor 3 perform                   AAM, and AGM respectively. The first one is
0.75% of the Activity1. The sum of each row of                     called    Business    Entity    centric    Activity
AAM must be equal 1 to indicate that the                           Dependency Matrix (BEADM), the second one is
corresponding activity is performed completely.                    called Actor-centric Activity Dependency Matrix



International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           57
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




(AADM), and the third one is called Business Goal                  The specific steps are shown in Figure 2.
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.
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
                                                                            Figure 2: The flow chart of HPSOSI

  W ∗ BEADM,q + W ∗ AADM,q + Wu ∗ BGADM,q
=
                    ∑u- W
                                                                       Algorithm: HPSOSI-Hybrid Particle Swarm
                                                                               for Service Identification

                                                                   Input: CRUD Matrix, Activity-Actor Matrix,
Where W1,W2, and W3 are weighting factors
corresponding to BEADM, AADM, BGADM                                Activity-Goal Matrix.
respectively.                                                      Output: a set of clusters
                                                                   Step 1: Initialize the particles, make particle
    4.2.3 Hybrid Particle Swarm Optimization-                      dimension as equal to the number of rows of the
    Based Clustering.                                              CRUD Matrix and set the maximum number of
                                                                   iterations.
Matrix clustering is considered as NP-complete
problem, we have to use Meta-heuristics to                         Step 2: For each particle, calculate it fitness
solving it.                                                        value according to Equation (2), if the fitness
                                                                   value is better than the previous best pbest, set
 We propose Hybrid Particle Swarm Optimization                     the current fitness value as the new pbest, and
[7] for clustering the TDM matrix.                                 for all particles, select the best particule as gbest.

The steps of HPSOSI(Hybrid Particle Swarm                          Step 3: For each particle, based on crossover
Optimization for Service Identification)is mainly                  strategy and mutation strategy to update the
divided into three parts:                                          fitness value of particle and the new location.
•   First, initialize the particles ;                              Step 4: if the maximum number of iterations is
•   Second, calculate the fitness value for each                   meet, Output the solution (gbest) and its fitness
    particle and update pbest and gbest;
                                                                   The fitness of a particle is calculated according to
•   Third, use the crossover and mutation                          the three following objectives: (i) the quality of
    operation to improve PSO.                                      modularization (ii) the sum of intra-connectivities
                                                                   (iii) the sum of the inter-connectivities.




International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           58
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




                             #
                      1                      1
      3296;== = Ik ∗ w ∗ l %5ℎY% x ∗ !1 − !
                      6                      6
                            -
                            #

                         ∗ l %5> Y% $$
                           -


represented by the current particle, %5ℎY% is the
Where n is the total number of clusters

cohesion of the the ith cluster, and %5> 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.

5. IMPLEMENTATION AND EXPERIMENTAL
   RESULTS

In order to evaluate the performance of our                        Figure 4: Experimental Results Using Different BP
approach we implemented a tool called HPSOSI,
Figure 3 is shown a printout screenshot of this                            We note that some factor influences
latter, which was developed in order using Java                    more than others on the fitness value, because
programming language with NetBeans IDE 7.0.                        the summation of total semantic relationships for
All experiments run in Windows 7 on a desktop                      matrices CRUDM, AAM, and AGM are different.
PC with Intel Dual Core, 2.3 GHz processors,
                                                                   There is especially for total semantic relations
2GB of RAM.
                                                                   (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:

                                                                       G0y!     I$ > G0y !%yzHI$ > G0y ! {I$.

                                                                   Where:
                                                                                    #€_

                                                                   G0y!       I$ = l 0y!}?~ $
                                                                                     -
                                                                                       #_

                                                                   G0y!CRUDM$ = l 0y!?~ $
                                                                                       -
                                                                                    # †J‡
       Figure 3: Interface of the proposed tool.                   G0y!AGM$ = l 0y!{Y „ $
                                                                                     -


                                                                   0y!}?~ $ = 0y!?~ $ = 0y!{Y „ $ = 1.
The HPSOSI parameters were set experimentally
as follows: crossover probability Pc and mutation

                                                                   0y!}?~ $ : Summation of semantic relationships
probability Pm we reset to 0.8 and 0.4 respectively

                                                                   in EBPi row for I.
and weighting factors W1=1,W2=2,and W3=1.

                                                                   0y!?~ $ : Summation of semantic relationships in
The swarm comprises of 1000 particles and the

                                                                   BPi Column for %yzHI.
number of iteration k = 100.
To evaluate the performance of our tool HPSOSI

                                                                   0y!{Y „ $ : Summation of semantic relationships
(Hybrid Particle Swarm Optimization for Service

                                                                   in GOALi Column for {I.
Identification), we applied the proposed
clustering algorithm on three business processes
with different combination of weighting factors.                     The business process of the case study is
The provided results are shown in Figure 4.                        shown in Figure 5.



International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           59
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




                            Figure 5: the business process of the case study


We run our tool on the same business process                                         HPSOSI       ASIM      SIPSO[8]      MOOSI
used in [6], [8] and [15]. We note, as shown in                                                    [6]                     [15]
Figure 6, that we have widely improved by
                                                                       Number of    13           13        13             13
reducing the number of iterations to achieve the                       Activities
same results as in [6], [8], and [15].
                                                                       Input        CRUD         CRUD      CRUD           CRUD
                                                                       model        Matrix,      Matrix    Matrix         Matrix
                                                                                    Activity-
                                                                                    Actor
                                                                                    Matrix,
                                                                                    Activity-
                                                                                    Goal
                                                                                    Matrix.

                                                                       Optimizati    Hybrid      simulat   Combinator     genetic
                                                                       on            Particle      ed      ial Particle   algorith
                                                                       algorithm     Swarm       anneali     Swarm           m
                                                                                    Optimizati     ng      Optimizatio
                                                                                       on                       n


                                                                       Number of         3            4          4             5
                                                                       Clusters
                                                                       found
Figure 6: HPSOSI COMPARED TO ASIM [6], SIPSO                           Found at          13       5312          1221           13
              [8], AND MOOSI [15]                                      iteration




                                                                    Table 2: HPSOSI COMPARED TO ASIM [6], SIPSO
                                                                                 [8], AND MOOSI [15]




International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                                  60
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




The difference found between the results is                        [5] Inaganti S. and Behara G. K .Service
                                                                        Identification: BPM and SOA Handshake.
explained by the use in clustering step a Total                         White Paper,2007.
Dependency Matrix (TDM) in our approach
                                                                   [6] Jamshidi P. Mansour S. Sedighiani K.
instead of using the CRUD matrix by approaches                          Jamshidi S. and Shams. “An Automated
ASIM [6], SIPSO [8].                                                    Service Identification Method“.Technical
                                                                        Report. Shahid Beheshti University.2012.
Although we have the same number of iterations                     [7] Sheng-Jun Xue, Wu Wu. Scheduling
in [15], a better solution is found with the highest                    Workflow in Cloud Computing Based on
fitness value thanks to the use of BEADM, AADM,                         Hybrid Particle Swarm Algorithm. Nanjing
                                                                        University of Information Science &
and BGADM.                                                              Technology, School of Computer and
                                                                        Software, Nanjing, China.TELKOMNIKA,
  6. Conclusion and outlook                                             Vol.10, No.7, November 2012, pp.
                                                                        1560~1566.
   Matrix clustering for services identification is
an NP-complete problem. This paper presents                        [8] Chergui Mohamed El Amine, Sidi Mohamed
                                                                        Benslimane. Using Combinatorial Particle
HPSOSI a multi-objective hybrid particle swarm                          Swarm Optimization to Automatic Service
optimization algorithm, where the crossover and                         Identification. 13th International Arab
                                                                        Conference on Information Technology
mutation of a genetic algorithm is embedded into                        ACIT’2013,       December     17-19,    2013,
the PSO to improve the local search ability and to                      Khartoum, Sudan.
maintain the diversity of the population in order to               [9] Kang DongSu, Chee-yang Song, Doo-Kwon
achieve better performance than standard                                Baik. “A Method of Service Identification for
evolutionary algorithm. The proposed method                             Product Line“. Proc. Of Third 2008
                                                                        International Conference on Convergence
identifies automatically candidate SOA services                         and Hybrid Information Technology, pp. pp.
from business process models.                                           1040–1045, 2008.
                                                                   [10] Kazemi          Ali,     Ali    Rostampour,
   The experimental results show that our                               PooyanJamshidi, Eslam Nazemi, Fereidoon
approach achieves high performance in term of                           Shams, Ali Nasirzadeh Azizkandi. “A Genetic
                                                                        Algorithm Based Approach to Service
convergence speed and execution time                                    Identification“.IEEE World Congress on
compared with other solution.                                           Service Computing, Washington DC, USA,
                                                                        July 4-9, 2011
    As future work, we are studying introducing                    [11] Kennedy .J, R.C. Eberhart. “Particle swarm
others semantic annotation to fully consider                            optimization“. Proceedings of the IEEE
semantic relationships between business                                 International      Conference   on     Neural
                                                                        Networks, vol. IV, 1995, pp. 1942–1948.
elements, and hence transaction and semantic
integrity can be guaranteed.                                       [12] Martin, J. “ Information Engineering“,
                                                                        Prentice Hall, 1990.
                                                                   [13] Magnus Erik Hvass Pedersen .Good
    7. REFERENCES                                                       Parameters or Particle Swarm Optimization.
                                                                        Hvass Laboratories Technical Report no.
[1] Arsanjani. Service-Oriented Modeling and                            HL1001, 2010.
    Architecture (SOMA). IBM developer Works,                      [14] Rana Yousef, Mohammad Odeh, David
    2004.                                                               Coward, Ahmad Sharieh. “A Semantically
[2] Azevedo Leonardo Guerreiro, Flávia                                  Enriched Framework to Derive Software
    Santoro, Fernanda Baião, Jairo Souza, Kate                          Service Oriented Models from Business
    Revoredo,        Vinícios    Pereira,    and                        Process Architectures“. International Journal
    IsoldaHerlain. “A Method for Service                                of Information Studies, Volume 1, Issue 4 ,
    Identification from Business Process Models                         October 2009.
    in a SOA Approach“. CAiSE, pp. 99-112,                         [15] Soltani M. and Benslimane S. M. “From A
    2009.                                                               High Level Business Process Model To
[3] Alejandro Cervantes. Inés Galván. Pedro                             Service Model Artifacts: A Model-Driven
    lsasi.Binary particle swarm optimization in                         Approach“. 14-th International Conference on
    classification. Neural Network World 3(05),                         Enterprise Information Systems (ICEIS
    pp. 229-241,2005.                                                   2012), 28 June – 1 July, 2012, Wroclaw,
                                                                        Poland.
[4] Erl    T.    Service-Oriented   Architecture:                  [16] Suntae          Kim,      Minseong       Kim,
    Concepts, Technology, and Design. Prentice                          VijayanSugumaran, Sooyong Park. “A
    Hall PTR, 2005, 792 p.                                              Scenario Based Approach for Service
                                                                        Identification“.34th Annual IEEE Computer




International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           61
ICAASE'2014                                    A Multi-Objective Hybrid Particle Swarm Optimization-based Sevrice Identification




     Software and Applications Conference
     Workshops, p.237-238, 2010.
[17] Bhaskar MM, Benerji M, Sydulu M. A Hybrid
     Genetic Algorithm Approach for Optimal
     PowerFlow.TELKOMNIKA                  Indonesian
     Journal of Electrical Engineering. 2011; 9(2):
     211-216.
[18] Bianchini, D.; Cappiello, C.; De Antonellis,
     V.; Pernici, B., "Service Identification in Inter-
     Organizational Process Design,
[19] " Services Computing, IEEE Transactions on
     , vol.PP, no.99, pp.102,2013.
[20] Birkmeier, Dominik Q.; Gehlert, Andreas;
     Overhage, Sven; Schlauderer, Sebastian,
     "Alignment of Business and IT Architectures
     in the German Federal Government: A
     Systematic Method to Identify Services from
     Business Processes," System Sciences
     (HICSS), 2013 46th Hawaii International
     Conference on , vol., no., pp.3848,3857, 7-10
     Jan. 2013.
[21] Mancoridis S. et al, Using Automatic
     Clustering to Produce High-Level System
     Organization of Source Code, In Proceeding
     of the International Workshop on Program
     Understanding, June 24-26,1998, Ischia,
     Italy, pp 45–53,(1998).
[22] Qian Ma et al, Evaluating Service with Design
     Metrics On Business                      Process
     Decomposition,         IEEE         International
     Conference on Services         Computing, pp.
     160-167, (2009).
[23] S. Mancoridis, B. S. Mitchell, Y. Chen, and E.
     R. Gansner. Bunch: A clustering tool for the
     recovery and maintenance of software
     system structures. In Proceedings of the
     IEEE International Conference on Software
     Maintenance, pages 50 59. IEEE,1999.
[24] S. Mancoridis, B. S. Mitchell, C. Rorres, Y.
     Chen, and E. R. Gansner. Using automatic
     clustering to produce high-level system
     organizations of source code. In Proceedings
     of the Sixth International Workshop on
     Program Comprehension, pages 45 52.
     IEEE, 1998.




International Conference on Advanced Aspects of Software Engineering
ICAASE, November, 2-4, 2014, Constantine, Algeria.                                                                           62