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