<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">SELECTING WEB SERVICES FOR OPTIMAL COMPOSITION</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Daniela</forename><forename type="middle">Barreiro</forename><surname>Claro</surname></persName>
							<affiliation key="aff0">
								<address>
									<addrLine>ESEO 4, rue Merlet de la Boulaye</addrLine>
									<postCode>BP30926, 49009, cedex01</postCode>
									<settlement>Angers</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="laboratory">LERIA</orgName>
								<orgName type="institution">Université d&apos;Angers</orgName>
								<address>
									<addrLine>2 Boulevard Lavoisier</addrLine>
									<postCode>49045, Cedex 01</postCode>
									<settlement>Angers</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Patrick</forename><surname>Albers</surname></persName>
							<affiliation key="aff0">
								<address>
									<addrLine>ESEO 4, rue Merlet de la Boulaye</addrLine>
									<postCode>BP30926, 49009, cedex01</postCode>
									<settlement>Angers</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jin-Kao</forename><surname>Hao</surname></persName>
							<affiliation key="aff1">
								<orgName type="laboratory">LERIA</orgName>
								<orgName type="institution">Université d&apos;Angers</orgName>
								<address>
									<addrLine>2 Boulevard Lavoisier</addrLine>
									<postCode>49045, Cedex 01</postCode>
									<settlement>Angers</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">SELECTING WEB SERVICES FOR OPTIMAL COMPOSITION</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">C1E9F0635D2B9F84C45913EA8945E1E1</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T04:42+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Service Composition</term>
					<term>QoS Model</term>
					<term>Multiobjectives Approach</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Web services are modular applications that can be described, located and invoked on the Internet. A user request may not only correspond to one specific service, but also to a set of web services. Thus, it is necessary that a composition of services be done in order to obtain the expected result. Nonetheless, many services with the same goal but different characteristics can be discovered. Indeed, it is necessary to find non-functional criteria to distinguish them, in order for a user to be able to choose an optimal solution. In this paper, we propose service quality variables as non-functional criteria in order to make an optimal service composition for a goal. We propose then using multiobjective optimisation techniques to find a set of optimal Pareto solutions from which a user can choose the most interesting tradeoff. Finally, we introduce the environment which allows that this composition process be automatic.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>INTRODUCTION</head><p>Nowadays many enterprises publish their applications functionalities on the Internet. This new generation of applications allows greater efficiency and availability for business. In fact, more and more applications make functionalities available using a service format.</p><p>However there are many services around the web, each one, taken alone, has a limited utility. For example, if a user wants to travel, it is not sufficient to book a flight, but also to care about reserving a hotel, renting a car, getting entertained, and so on. The user needs to execute all these services manually and these tasks can be time and effort consuming.</p><p>For that reason, the notion of composite services is starting to be used as a collection of services combined to achieve a particular goal. In other words, from a user perspective, this composition will continue to be considered as a simple service, even though it is composed of several web services.</p><p>Before starting to compose web services, they must first be discovered in order to be used by a composition mechanism. One of today's problems is that many functionally similar services are available increasing the number of services discovered by search mechanisms. Indeed, the discovery process may retrieve many services when, in fact, only one of them will be used in the composition. After discovering, there is a set of candidate services. Between these services, a selection must be done. Usually this selection process chooses the most appropriate service to execute a task. In fact, discovery is a prerequisite for selection, but selection is the main problem <ref type="bibr">(Sreenath and Singh, 2004)</ref>.</p><p>In order to differentiate services that will be selected, it is necessary to use a nonfunctional mechanism able to make this distinction. Hence, a quality of service (QoS) model is incorporated into each service and service selection will be also based on these quality criteria.</p><p>Evaluating the quality model, it will be composed of more than one criterion, a large quantity of candidate services and a lot of tasks to be executed by services. Thus, this makes difficult all possible explorations. As there is more than one criterion to differentiate services and no preference (weight) is given to them, more than one tradeoff solution can be found. As a result, this kind of problem should be treated using a multiobjective approach.</p><p>This paper proposes an analysis of quality criteria in order to select from a set of services those that belong to the composition. It is organized as follows: the next section describes the related works. The third section describes web service composition. The fourth section explains the problem model. The fifth section shows the resolution method. The last section we position this work in our research and present our conclusion.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">RELATED WORKS</head><p>Many authors have proposed quality of service models for selecting web services. In general, QoS selection can be organized in categories, for example, authors that use QoS with agents <ref type="bibr">(Sreenath and Singh, 2004)</ref>, authors that apply QoS workflow into web services domain <ref type="bibr" target="#b1">(Cardoso et al., 2004)</ref>, those who insert QoS models into centralized registries <ref type="bibr" target="#b12">(Ran 2003)</ref>, and finally, authors that propose and execute QoS model for selecting web services <ref type="bibr" target="#b13">(Zeng et al., 2003;</ref><ref type="bibr" target="#b6">Liu, Ngu and Zeng, 2004)</ref>.</p><p>In <ref type="bibr" target="#b12">(Ran 2003)</ref> the main idea is to include the QoS model into UDDI registries so that they centralize all QoS attributes for each service into an information provider. In <ref type="bibr">(Sreenath and Singh, 2004)</ref> the authors propose a mutual evaluation process between agents to select a web service. It selects the best services based on rates given to providers by agents. The authors in <ref type="bibr" target="#b1">(Cardoso et al., 2004)</ref> retrieve the main idea from Workflow Quality of Services and transpose it to web services technologies. They propose some QoS constraints that were implemented into METEOR workflow management systems for Genomic Projects. Ideas in <ref type="bibr" target="#b13">(Zeng et al., 2003;</ref><ref type="bibr" target="#b6">Liu, Ngu and Zeng, 2004;</ref><ref type="bibr" target="#b1">Cardoso et al., 2004)</ref> are closest to our proposition, because we do not use agents, nor consider a QoS model in a centralized approach.</p><p>The main idea of Zeng's paper is to compose web services by finding the best plan for the composition. For that, each constraint in the QoS model is measured and aggregated into one main objective function. To resolve this proposition linear programming is used to select the best plan. In <ref type="bibr" target="#b6">(Liu, Ngu and Zeng, 2004)</ref>, in order to improve the last work, the authors propose specific domain criteria for each service that will be selected.</p><p>In our paper, we follow the quality model proposed in <ref type="bibr" target="#b13">(Zeng et al., 2003)</ref> and introduce several improvements. First of all, we reinforced the concepts of reputation, because the original concept did not measure the pertinence of the rank given to a service by a user. Thus, in our model, ranking from users with good knowledge of the service domain are considered more accurate. As a result, we use fuzzy numbers to measure this criterion. Additionally, we consider that service composition problem using quality of services is intrinsically a multiobjective problem. However, in <ref type="bibr" target="#b13">(Zeng et al., 2003)</ref> they resolve this problem by aggregating their objectives into a single objective function. In our work, we resolve this problem using multi-objective evolutionary algorithms (MOEA), without giving any weight to any quality criterion. We use a multi-objective genetic algorithm called NSGA-II to execute this model.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">WEB SERVICES COMPOSITION</head><p>Web service composition originated from the necessity to achieve a predetermined goal that cannot be realized by a standalone service. From a user's perspective, composite services, or more objectively, the set of services should seem like a single service. Internally in a composition, services can interact with each other to exchange parameters.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Problem Description</head><p>In order to illustrate our approach, we use a Travel Service as an application example. Indeed, this scenario is a typical web services composition problems <ref type="bibr" target="#b10">(Narayanan and McIlraith, 2002;</ref><ref type="bibr" target="#b11">OWL-S Coalition, 2005)</ref>.</p><p>As far as creating the Travel service, we use three atomic services (which are not composed) that will internally execute the travel; each one independently executes a task. A task can be described as an activity that applies to a specific domain. In this work, we treat activity and task as the same things. We choose to use atomic services to compose the Travel service. However, this is not important since a composed service is viewed by a user as a single service. There are 3 tasks that will be executed by 3 services called Airplane service, Hotel service and CarRental service.</p><p>A planner, as explained in section 6, will determine the execution order of these three tasks. Many services are candidate to execute a given task. These services are the result of the discovery process.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Composition Model</head><p>The problem of composing web services can be characterized as a combinatory problem. In the composition we have a set of candidate services s</p><formula xml:id="formula_0">i , ] .. 1 [ n i that could execute a set of tasks t j , ] . . 1 [ m j</formula><p>. However, it is necessary to consider that one service can be dependent of other services. The main goal is to find the optimal service composition, considering that there is a set of candidate services for each task.</p><p>Each service i is allocated to one task j, this association can be represented by a matrix (x ij ) where s i represents the candidate services and t j represents the tasks. This matrix can represent the service's allocation to a composition. In our scenario the number of tasks m is limited to 3: the Airplane, Hotel and CarRental web service. Thus we can generate the matrix X as shown in Eq. ( <ref type="formula">1</ref>).</p><p>) 1 ( For each possible composition, there is a set of candidate services but only one will be part of the composition. The Eq. ( <ref type="formula">2</ref>) will determine which service will belong to the composition or not.</p><p>) 2 ( Thus, the matrix X' (Eq.3) represents one of the possible combinations in which service 3 will execute task 1, service 1 will execute task 2 and task 3 will be executed by service 2. As a result, this composition will be formed by services 3, 1 and 2 respectively.</p><p>) 3 (</p><p>A non-determined number of tasks m can be used to compose a service and an unlimited number of candidate services n for each task j can be found. In fact, these possible combinations are considered for a pre-defined plan, which determines exactly in which order the tasks should be composed. However, concerning this environment, the plan can also be changed, and so other possible combinations might be overseen. Moreover, if it is considered that p plans using m tasks can be created, the problem becomes even harder. </p><formula xml:id="formula_1">x x x x x x x x x X ] .. 1 [ ], .. 1 [ otherwise , 0 task to allocated is i service if , 1 m j n i j x ij 0 0 1 1 0 0 0 1 0 ' X</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">PROBLEM MODELING</head><p>In order to differentiate candidate services with identical functionalities, nonfunctional (QoS) criteria must be used. The QoS model will be incorporated directly into services. The quality of service measure belongs to each service and each value refers to an activity that the service executes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Qos Model</head><p>We propose four criteria as parameters for the quality model: cost, time, availability and reputation. Each one is presented below and a difference is made between the QoS of single service and the composition.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.1">Cost</head><p>The cost quality <ref type="bibr" target="#b13">(Zeng et al., 2003)</ref> c ij is the amount that a service requester needs to pay to execute this service i using task j. In reference to composition, this can be expressed in Eq. 4.</p><p>) 4 (</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.2">Time</head><p>The time quality <ref type="bibr" target="#b13">(Zeng et al. 2003</ref>) t ij measures the execution time between the moment the request is sent and the moment the results are received. The time can be expressed in reference to composition (Eq. 5).</p><p>) 5 (</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.3">Availability</head><p>The quality availability a ij is the probability that the service can be accessed and used. It means that this quality is obtained by the number of times the service answers a request divided by the number of total requests. We can express this using the formula seen in Eq.6.</p><p>) 6 ( req is the number of successful requests to service i using task j, and tot is the total number of invocations. We decided to measure the probability based on</p><formula xml:id="formula_2">= = n i ij m j c 1 1 0 , = ij ij ij ij tot tot req a = = n i ij m j t 1 1 [ ] a a a a , 0 , ~=</formula><p>discrete values, as success times by total times. If we consider a composition, the availability can be expressed as the average value for each service in the composition, as shown in Eq. 7.</p><p>) 7 (</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1.4">Reputation</head><p>The reputation quality r ij is the measure of its trustworthiness. It depends on the user's experience using the service. Different end users can have different opinions about the same service. For many authors <ref type="bibr" target="#b13">(Zeng et al., 2003;</ref><ref type="bibr" target="#b6">Liu, Ngu and Zeng, 2004)</ref>, reputation can be defined as the average ranking given to the service by end users as shown in Eq. 8.</p><p>) 8 ( k(s i ) is the ranking applied to a service (s i ) and n is the number of times the service is ranked.</p><p>However, in real world, when something is judged for example, a paper in a conference, the reviewers have to give their knowledge domain, prior to giving their judgment. In the case where a reviewer receives a paper that she classifies as belonging only 60% to her area (knowledge domain), the grade that is given must be moderated based on 60% of knowledge. If the same grade is given by a reviewer with 90% of know-how on the domain, for sure her grade will be more accurate. Translating this real scenario into our reputation quality, we must include the knowledge domain of end users. After service execution, the user ranks the service, and gives a percentage about her knowledge on the service's domain. It will be, for instance, a simple question as "how much do I know about this area".</p><p>In order to measure this criterion, we used fuzzy logic to represent an imprecise quantity, as "nearly 8" or "practically 15" <ref type="bibr" target="#b9">(Moura, 2002)</ref>. We used the notion of fuzzy number which is represented as where ã is the fuzzy number with minimal limit, modal value and maximal limit respectively. The linguistic variables that represent our reputation values are: bad, average and good, as shown in Figure <ref type="figure" target="#fig_1">1</ref>. Figure <ref type="figure" target="#fig_1">1</ref> shows that until number 4, all grades are considered bad, from 5 to 7, grades are average, and after 8, all grades are good. The measure between 4 and 5, for example, depends on membership's values. The membership or degree of pertinence means how much a value is inside a set, for example the bad set or inside the average set. Thus, if a service has a rank 4.8 we need to analyze its membership (d i ). The bad=0.33 (it belongs to bad set) and average=0.66 (it belongs to average set). Each service will be ranked n times, so we will have a set of fuzzy numbers. However, at the end, what we need is a crisp number that characterizes the reputation value, and for that we need to convert fuzzy sets to a crisp number. Defuzzification is the final phase that does this conversion. There are several defuzzification methods, but we use the CENTROID method that calculates the hypothetical center of gravity for the output fuzzy set <ref type="bibr" target="#b7">(Löfstedt, Svensson, 2000;</ref><ref type="bibr">Fuzzy, 2005)</ref>. Thus, our reputation criterion is shown in Eq.9.</p><p>) 9 ( where d ij represents the domain value of service i for task j and (dij) is the membership value for that domain point. We can consider that the rank is [0, 10], and the knowledge domain given by the user (d) is [0,1]. Using this model, reputation ranks is more precise and trustworthy. In the composition context, the reputation is the average between all services. We can express our composition formula as Eq.10.</p><p>) 10 ( We sum the reputation quality r ij of each service in the composition and divide it by the number of services in this composition.</p><formula xml:id="formula_3">= = = = = n i ij m j n i ij ij m j ij d µ d µ d r 1 1 1 1 ) ( ) ( 0 , 1 1 &gt; = = n n r n i ij m j</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Objectives</head><p>In order to select services to obtain tradeoff composition, non-functional (quality of services) features will be used to distinguish between the candidate services. The quality of services criteria used was described in the previous section and corresponds to cost, time, availability and reputation. Existing studies reported in literature often aggregate all criteria into a single objective. This resolution approach is known to be limited from a multiobjective optimization perspective since it leads to one single solution instead of a set of solutions which are needed in a multiobjective context.</p><p>Here we highlight the most important difference between our work and Zeng et al's work <ref type="bibr" target="#b13">(Zeng et al., 2003)</ref>, because we do not give any weight to any criterion. We treat all criteria with the same importance using a multiobjective optimization approach. Even though our objectives are contradictory, they are taken into account simultaneously by our resolution algorithm. Thus, our travel problem explained earlier can be viewed as a multiobjective problem. Our goal is to minimize cost and time and to maximize availability and reputation, considering them together simultaneously. MOEA algorithms take into account contradictory objectives and also aim at finding other solutions that in an aggregate approach. In the case of biobjectives, the Pareto optimal Front can be graphically depicted as a curve.</p><p>In our problem, we have four objectives to be simultaneously taken into account. The first one is cost minimization (Eq. 11).</p><p>) 11 ( Cost objective needs to be minimized in order to participate to optimal solutions. Additionally, this value will be obtained based on quality model cost criterion c ij . The variable p ij means the service ability to execute a task. Since we do not consider composed services to belong to our composition, it is necessary to distinguish between them, highlighting which is able to execute a specific task. In our model, we consider that a service is specialized only in one task, for example, a service for airplane reservation, cannot do hotel reservations tasks. Thus, p ij is a binary variable to inform that a service is able or not to execute task j. The binary variable x ij is responsible to express if a service belongs or not to the composition. It is the allocation matrix expressed in section 3.2.</p><p>Another objective is concerning the time (Eq. 12). Time objective needs also to be minimized to be part of service composition.</p><p>) 12 ( In our model, time value is attributed to t ij . The other variables as p ij and x ij are the same functionality as explained earlier.</p><p>On the other hand, availability objective (Eq.13) shows the probability that a service can be accessed and used. In this case, this objective must be maximized, because it is preferable that its probability is as high as possible.</p><formula xml:id="formula_4">) 13 ( = = n i m j ij ij ij x p c Min 1 1 = = n i m j ij ij ij x p t Min 1 1 = = n i m j ij ij ij x p a Max 1 1 { } 1 , 0 ij x</formula><p>Variable a ij should thus belong to [0,1]. The last objective is related to the reputation (Eq. 14) a service has about a determined domain.</p><p>) 14 (</p><p>The r ij stands for reputation value. Also, reputation needs to maximize the objective, because the higher the reputation the better the service is judged. Thus these four objectives must be used together, and no preference (weight) is given to any of them.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Constraints</head><p>In order to model the problem, the constraints should also be verified. In our model three constraints must be satisfied in all interactions. The first one (Eq. 15) means that only one service belongs to a composition for each task.</p><p>) 15 (</p><p>The variable x ij specifies whether or not a service belongs to a composition (matrix X). The variable p ij means that a service i is able to execute a task j. The second restriction (Eq. 16) concerns user's budget.</p><p>) 16 ( This constraint means that the cost of using a service in a composition should not exceed a given value W. Finally, the last constraint used is only to verify that x ij must have binary values:</p><p>.These binaries values will represent which services belong or not to the composition.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">RESOLUTION METHOD</head><p>One of the main contributions of this work concerns the resolution approach employed. As explained earlier, we have four objectives and solutions should be searched considering these four criteria simultaneously. To achieve this, we use a multi-objective evolutionary algorithm NSGA-II.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Genetic Algorithm -NSGA-II</head><p>The multi-objective evolutionary algorithms (MOEA) are among the most powerful resolution methods for multiobjective optimization <ref type="bibr" target="#b2">(Coello Coello et al., 2002)</ref>. Thanks to its population, such an algorithm is able to produce naturally a set of non-dominated solutions for each run of the algorithm. In this paper, we used</p><formula xml:id="formula_5">= = n i m j ij ij ij x p r Max 1 1 [ ] m p x j n i ij ij , 1 , 1 1 = = 0 , 1 1 &gt; = = W W x c n i m j ij ij</formula><p>NSGA-II (Non-dominated Sorting Genetic Algorithm) <ref type="bibr" target="#b3">(Deb et al. 2002)</ref>, though any other MOEA such as SPEA <ref type="bibr" target="#b14">(Zitizler and Thiele, 1998)</ref>, PAES <ref type="bibr" target="#b5">(Knowles and Corne, 1999)</ref> and PICPA <ref type="bibr" target="#b0">(Barichard and Hao, 2003)</ref> could have been used.</p><p>In NSGA-II, the tournament selection, crossover and mutation operators are used to create a child population that will be added to a result population given by the later generation. The new population is sorted based on non-domination. In this step, elitism is ensured because the best non-dominated sets will be chosen for the next population. Using constraints, the relation of domination between two individuals can be characterized as a feasible or infeasible solution. Thus, the ranking will be done based also on feasible solutions.</p><p>Using the NSGA-II algorithm, it is not necessary to create a mathematical expression to determine the weights associated to the criteria which would be necessary with an aggregation approach.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Experimentation</head><p>Applying this algorithm to our problem, several experiments using our optimal composition model were done in order to validate the multiobjective approach for selecting web services.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2.1">Tests set</head><p>The main objective of our tests was to find a set of optimal compositions from which a user can select her preferred solution. Thus our main contribution is creating optimal compositions based on discovered services. The first test that we did was using the same number of services, but changing the number of generations and populations. The number of services was fixed to 15 services and the number of tasks to 3. We choose to allocate the same number of candidate services to each task. This was done in order to see how the algorithm treats services composition. The other we did was aimed at studying the scalability of the service composition algorithm with regards to the number of candidate services and to the number of tasks. Population and generation were kept constant in all experiments, but the number of services and tasks was changed. In fact, we increased candidate services for each tasks. The population was fixed to 50 individuals and the generations were fixed to 100. These values were taken considering other experiments using the NSGA-II algorithm.</p><p>The number of services is proportional to the number of variables, because each service is represented as a variable in our model. We consider in our experiments that the numbers of candidate services for each task are equal.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2.2">Algorithm's Parameter</head><p>In the first experiment we used populations range from 5 to 100 and generation range from 10 to 500. The crossover probability was 0.9 and the mutation was 1/l where l is the number of binary variables. In our case, we used 15 binary variables. These 15 binary variables represent 3 tasks and each task can be executed by 5 candidate services. The crossover used was single-point. We used 4 objective functions and 4 constraints as previously defined in our model. The 3 constraints determine the candidate services and the last one represents maximal budget given by the user. This value was fixed for all compositions. A QoS value was given randomly to each service.</p><p>In the second test, the population size was fixed to 50 and generation was fixed to 100. We did these experiments taking 15, 30 and 60 services and 3 and 5 tasks respectively. It means that, for example, using 60 services and 3 tasks, we have 20 candidate services evenly distributed for each task. The crossover mutation and probability was maintained, of course changing according to the number of variables. In both experiments, all constraints are verified and they must be satisfied in all generations. Only solutions with satisfied constraints were selected for the next generation. Thus optimal solutions must satisfy all constraints.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2.3">Results</head><p>As execution results, a set of chromosomes is found and each one represents an optimal composition. Since we defined a population size of 50, the maximum number of optimal solutions found was also 50. Between these 50 optimal solutions, the user can select one of them to be executed. In figure <ref type="figure" target="#fig_2">2</ref>, we show the evolution of our model based on the number of optimal solutions found. We can ensure that when population is over 20, tradeoff solutions are found at the 8 th generation. The tradeoff solutions do not violate any constraints. Thus, using 15 services for 3 tasks, results show that a GA does not have any problem in finding tradeoff solutions. In fact, found solutions are non-dominated, since once the solutions are achieved, they are maintained. The next experiment consisted in changing the number of services and the number of tasks. In figure <ref type="figure" target="#fig_3">3</ref> we can ensure that as the number of services increases, more generations are necessary to obtain a set of optimal solutions. In some cases, as seen with 60 services, any optimal solution was found without constraint violation. The optimal solutions will only be found at the 155 th generation. Also here, using 60 services for 3 tasks, it means that there are 20 candidate services. The difficulty in finding tradeoff solutions increases with the number of candidate services. In order to show this fact, we changed the number of tasks, minimizing the number of candidate services. We considered 5 tasks for 60 services given, so only 12 candidate services for each task. Augmenting the number of tasks also means increasing the number of constraints and so facilitating the acquisition of tradeoff compositions solutions. All obtained solutions are composed of a set of binary variables that form a chromosome. This chromosome represents the composition chain and each binary variable indicates whether the service belongs to the optimal composition or not. Thus we can ensure that the experiments done can validate our approach to make tradeoff services compositions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">PROPOSED ENVIRONMENT</head><p>This work is positioned as part of an environment that includes a planner, a discovery method and an optimization structure. The planner is responsible for determining the execution order of the tasks. However, in order to determine tasks plan, the planner must know the tasks definitions. In this way, all possible tasks will be located into a repository that the planner can consult for getting tasks interfaces. This repository can be represented as ontology. Thus, before knowing the tasks interface, it is necessary to find a composition which satisfies user request. A planner can automatically resolve this type of problem <ref type="bibr" target="#b8">(McIlraith and Son, 2002)</ref>. Indeed, the problem is composed of three components: user request, services and user initial parameters. These three components represent respectively the goal, the actions and the initial planning state. In this paper, we pre-defined that tasks should be executed in sequence as: Airplane, Hotel and at last CarRental.</p><p>After creating the initial plan, the discovery process will take place. It is responsible for finding services that correspond to each task that belongs to the plan. For discovering services, we use the profile ontology from OWL-S (OWL-S Coalition, 2005). The next phase is aimed at optimizing services composition and is the point treated in this paper. The user can choose any one of these solutions to execute. In the execution phase, if any service has a problem such as invalid URL or changed location, the environment proposes another optimal solution to the user. If after some predefined time the problem continues, the environment will propose to construct another plan, for example, by reordering the tasks.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="7.">CONCLUSION</head><p>In this paper we have explained how to select a service in order to make an optimal web service composition. We proposed some improvement on quality models, highlighting reputation. Reputation is calculated based on fuzzy numbers, but at the end, we use a defuzzification method to convert this fuzzy numbers crisp values. Furthermore, when optimizing composite services using non-functional features (QoS), we can have contradictory objectives. Moreover, we do not wish to give any preference (weight) to anyone of these objectives. Thus we treat services composition as a multiobjective problem. We used a multiobjective evolutionary algorithm called NSGA-II. As a result, we obtained the population (a set of chromosomes) representing the optimized compositions. Each solution is represented by a set of binary values that determines which service belongs to the composition or not. The experimentations done validate our approach and show its feasibility in a real world problem.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="8.">ACNOWLEDGEMENT</head></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. Fuzzy set representation</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 2 .</head><label>2</label><figDesc>Figure 2. Non-dominated set solutions -Population by generations</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 3 .</head><label>3</label><figDesc>Figure 3. Non-dominated set solutions -3 tasks</figDesc></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The authors would like to thank all anonymous reviewers that helped us improve the contents of the paper. Daniela Barreiro Claro is supported by a research scholarship given by the Région du Pays de La Loire (2003)(2004)(2005)(2006). 9.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">A population and Interval Constraint Propagation Algorithm</title>
		<author>
			<persName><forename type="first">V</forename><surname>Barichard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J-K</forename><surname>Hao</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Second International Conference Evolutionary Multi-Criterion Optimization (EMO) Lecture</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">2632</biblScope>
			<biblScope unit="page" from="88" to="101" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Quality of service for workflows and web service processes</title>
		<author>
			<persName><forename type="first">J</forename><surname>Cardoso</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sheth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Miller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Arnold</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Kochut</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Web Semantics: Sciences, Services and Agents on the World Wide Web</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="281" to="308" />
			<date type="published" when="2004">2004. 2004</date>
			<publisher>Elsevier</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Evolutionary algorithms for solving multi-objective problems</title>
		<author>
			<persName><forename type="first">Coello</forename><surname>Coello</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">A</forename><surname>Van Veldhuizen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Lamont</forename><forename type="middle">G</forename></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Kluwer Academic Publishers</publisher>
			<pubPlace>New York</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A Fast and Elitist Multi-Objective Genetic Algorithm: NSGA-II</title>
		<author>
			<persName><forename type="first">K</forename><surname>Deb</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pratap</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Agarwal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Meyarivan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal IEEE Trans Evol Computat</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="182" to="197" />
			<date type="published" when="2002-04">2002. April</date>
		</imprint>
		<respStmt>
			<orgName>Indian Institute Technologic</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<ptr target="http://www.informit.com/content/images/0135705991/samplechapter/0135705991.pdf" />
		<title level="m">Fuzzy Logic Fundamentals</title>
				<imprint>
			<date type="published" when="2005-06-04">2005. June 4, 2005</date>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="61" to="103" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">The Pareto archived evolution strategy: A new baseline algorithm for multiobjective optimization</title>
		<author>
			<persName><forename type="first">J</forename><surname>Knowles</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Corne</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">proceedings of the 1999 Congress of Evolutionary Computation</title>
				<meeting>the 1999 Congress of Evolutionary Computation<address><addrLine>Piscataway, New Jersey</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Service Center</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="98" to="105" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">QoS Computation and Policing in Dynamic Web Service</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">H H</forename><surname>Ngu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Zeng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">proceedings of the Thirteenth International Conference of WWW 2004</title>
				<meeting>the Thirteenth International Conference of WWW 2004<address><addrLine>New York, New York, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004-05-17">2004. May 17-22</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Baltazar -A Fuzzy Expert for Driving Situation Detection</title>
		<author>
			<persName><forename type="first">J</forename><surname>Löfstedt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Svensson</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2000">2000</date>
		</imprint>
		<respStmt>
			<orgName>Department of Sciences, Lund University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master Diss.</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Adapting Golog for Composition of Semantic Web Services</title>
		<author>
			<persName><forename type="first">S</forename><surname>Mcilraith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">C</forename><surname>Son</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">8 th International Conference on Principles of Knowledge Representation and Reasoning</title>
				<meeting><address><addrLine>Toulouse, France</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002-04-22">2002. April 22-25</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">A Genetic algorithm to fuzzy multiobjective optimization</title>
		<author>
			<persName><forename type="first">L</forename><surname>Moura</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
		<respStmt>
			<orgName>Department of Electric Engineer, Campinas University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master diss.</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Simulation, Verification and Automated Composition of Web Services</title>
		<author>
			<persName><forename type="first">S</forename><surname>Narayanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">A</forename><surname>Mcilraith</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of Eleventh International World Wide Web Conference (WWW 2002)</title>
				<meeting>Eleventh International World Wide Web Conference (WWW 2002)<address><addrLine>Honolulu</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002-05-07">2002. May 7-10</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<author>
			<persName><surname>Owl-S Coalition</surname></persName>
		</author>
		<ptr target="http://www.daml.org/services/owl-s/1.1/" />
		<title level="m">OWL-S: Semantic Markup for Web Services</title>
				<imprint>
			<date type="published" when="2005-06-04">2005. June 4, 2005</date>
		</imprint>
	</monogr>
	<note>OWL Services Coalition</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">A Model for Web Services Discovery with QoS</title>
		<author>
			<persName><forename type="first">S</forename><surname>Ran</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Web Semantics: Science, Service and Agents on the World Wide Web</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2003">2003. Spring. 2004. 2004</date>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="page" from="261" to="279" />
		</imprint>
	</monogr>
	<note>ACM SIGecom Exchanges</note>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Quality Driven Web Services Composition</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zeng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Benatallah</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dumas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kalagnanam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><forename type="middle">Z</forename><surname>Sheng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">proceedings of the Twelfth International Conference of WWW</title>
				<meeting>the Twelfth International Conference of WWW<address><addrLine>Budapest, Hungary</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003-05-20">2003. May 20-24</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Multiobjective optimization using evolutionary algorithms -A comparative case study</title>
		<author>
			<persName><forename type="first">E</forename><surname>Zitizler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Thiele</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Parallel Problem Solving from Nature</title>
				<editor>
			<persName><forename type="first">V</forename></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><forename type="middle">E</forename><surname>Eiben</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Bäck</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Schoenauer</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H-P</forename><surname>Schwefel</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin, Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1998">1998. 1998</date>
			<biblScope unit="page" from="292" to="301" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
