=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==
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