Gustavo Ansaldi

Oliva Fernando

Hattori Leonardo
email: hattori@ime.usp.br

Alexandre Ferreira Leite

Marco Auréliogerosa

Keywords: Service choreography, choreography adaptation, choreography reconfiguration, choreography customization

A service choreography describes the observable behavior of a multi-party collaboration from a global perspective. Unlike service orchestrations, each party involved in the collaboration knows exactly when to execute its operations and with whom to interact in order to achieve the established common goal. In this context, especially when a large number of parties is involved, choreographies frequently need to adapt to changes in their definition model or to disturbances in the infrastructure environment. Despite recent research on Service Oriented Computing (SOC), little is known about services choreographies adaptation strategies and their characteristics. In this systematic literature review, we aimed to identify, understand and synthesize the state-of-the-art of this research topic. We systematically and exhaustively examined 5 scientific papers repositories and found 18 relevant papers that matched our inclusion criteria. We classified the adaptation strategies into five categories (model-based, monitor-based, multi-agent-based, formal methods, and miscellaneous) and discussed their influencing factors, limitations, and drawbacks. Furthermore, we also grouped such strategies according to their dynamicity (design-time or runtime)

Table of Contents 1 Introduction

Service oriented architecture (SOA) is an architectural style for the implementation and delivery of loosely-coupled distributed services [START_REF][END_REF]. Common SOA implementations rely on web services and a set of basic core standards (XML, WSDL, UDDI, SOAP, etc.) to enable service interoperability. However, these standards do not provide the rich behavioral detail that describes the role an individual service plays as part of a larger and more complex collaboration [START_REF] Barker | Choreographing Web Services[END_REF]. The collaborations can be described from the viewpoint of a single participant using orchestration languages (such as WS-BPEL) or from a global perspective using choreography languages (such as WSCI, WS-CDL or BPMN2) [START_REF] Cambronero | [END_REF].

Service choreographies describe the externally observable peer-to-peer interactions that occur between services that belong to a composition. Therefore, differently from orchestration technologies, a choreography does not rely on a central coordinator. A choreography model describes multi-party collaboration and focuses on the message exchange; each web service involved on it knows when to execute its operations and with whom to interact. A choreography definition can be used at designtime to ensure interoperability among a set of peer services from a global perspective, in a peer-topeer fashion [START_REF] Barker | Choreographing Web Services[END_REF], [Peltz, 2003].

There are several challenges to perform adaptations on service choreographies [Srivastava andKoehler, 2003][Papazoglou et al., 2007]. For instance, choreography languages are not usually able to acquire the business-domain knowledge behind the services interaction [Mahfouz et al., 2009a], which raises difficulties to reason if a particular customization satisfies the goals of participants. Assessing the impact of changing one participant's process (local view) on the choreography (global view) as well as other participants' processes is equally challenging. Furthermore, one may want to modify the choreography specification while it is enacted and have the system dynamically reconfigured. For example, interactions between service may be added (choreography extension) or removed (choreography simplification) due to the addition of functionalities to the system at hand or loss of a service. Also, one may want to modify the choreography as a result of services violating predefined QoS threshold values. This reconfiguration usually involves defining a new choreography specification that replaces the previous one and that may lead to the generation of new peers.

This systematic review [START_REF] Kitchenham | Guidelines for performing Systematic Literature reviews in Software Engineering[END_REF], [Biolchini et al., 2005] aims to identify and synthesize the existing approaches to service choreography adaptation and their influencing factors. We understand influencing factors as factors that have the ability to interfere/disturb/affect the behavior/performance/effectiveness of a particular choreography adaptation strategy. This work provides an overview of investigated topics, their findings and limitations, as well as implications for research and practice. This kind of study aids practitioners who want to stay up to date and researchers who want to identify topic areas that have been researched or where there is lack of research [START_REF] Dyba | [END_REF].

This report is organized as follows. In Section 2, we differentiate service orchestrations from service choreographies and present the systematic review methodology. Section 3 describes the systematic review protocol employed in this study. Section 4 reports the findings by presenting an overview of the studies, their characteristics and categorization in groups. Section 5 presents the discussion around the results and the lessons learned; Section 6 presents the possible biases, a sensitivity analysis, and limitations of this study. Section 7 concludes and presents future work directions.

Background

In this section we differentiate web service orchestration from web service choreography, as these terms are frequently misused and confusing. Then, we present a brief introduction to systematic literature reviews to clarify the methodology used in this study.

Web Service Orchestration vs. Web Service Choreography

Although the terms service orchestration and concepts, they are often misused and IBM WebSphere Process Server Choreographer" that supports the modeling of business processes using the Web Services Business Process Execution Language (WS name, it was conceived only to support orchestrations.

The main difference between orchestration as an executable business process that interacts with both internal and exter services, in such a way that the message exchange sequences are controlled and managed by an orchestration engine. The same author states that a among multiple parties and sources ( services) rather than a specific business process that a single is often realized as communicating orchestrations ( Figure 1:Orchestration refers to an executable process, while choreography tracks the message sequences between parties and sources [Peltz, 2003].

W3C defines orchestration as the sequ other web services to realize some useful function interactions that a web service agent must follow to achieve its goal Choreography Working Group, which was choreography description language, defined which multiple cooperating independent agents exchange messages in order to perform a task and achieve a goal state" 4 . The group also states that as possible to: promote a common understanding between WS participants; automatically validate conformance; ensure interoperability; increase robustness; and gen

Systematic Literature Review

The term "Systematic Review" gather and evaluate the available evidence concerning a contrast to the usual process of literature, a systematic review follows a very well defined and strict sequence of methodological steps issue or topic that represents the core of the research, and 2 http://www.ibm.com/software/integration/wps 3 http://www.w3.org/TR/ws-gloss/ 4 http://www.w3.org/TR/ws-chor-reqs/ 2

Web Service Orchestration vs. Web Service Choreography

Although the terms service orchestration and service choreography refer to two distinct concepts, they are often misused and interchangeably employed by some authors. IBM WebSphere Process Server 2 product contains a component called "Business Process Choreographer" that supports the modeling of business processes using the Web Services Business Process Execution Language (WS-BPEL). Hence, although the component has "choreographer" in its to support orchestrations. The main difference between the terms regards executability and control.

executable business process that interacts with both internal and exter that the message exchange sequences are controlled and managed by an . The same author states that a choreography tracks the message sequences g multiple parties and sources (typically the public message exchanges t rather than a specific business process that a single party executes is often realized as communicating orchestrations (Figure 1).

Orchestration refers to an executable process, while choreography tracks the message sequences between parties and sources [Peltz, 2003].

W3C defines orchestration as the sequence and conditions in which a web service invokes eb services to realize some useful function. This means that an orchestration is the eb service agent must follow to achieve its goal 3 . The W3C's Web Services , which was responsible for the specification of the WS hy description language, defined choreography as "the sequences and conditions under which multiple cooperating independent agents exchange messages in order to perform a task and

The group also states that a choreography description should make it as easy as possible to: promote a common understanding between WS participants; automatically validate conformance; ensure interoperability; increase robustness; and generate code skeletons.

Systematic Literature Review

The term "Systematic Review" refers to a specific methodology of research, developed to gather and evaluate the available evidence concerning a specific topic [Biolchini usual process of literature, a systematic review follows a very well defined and strict sequence of methodological steps that relies on a well-defined protocol. Th represents the core of the research, and uses specific concepts and terms. The http://www.ibm.com/software/integration/wps reqs/

Web Service Orchestration vs. Web Service Choreography service choreography refer to two distinct interchangeably employed by some authors. For instance, the product contains a component called "Business Process Choreographer" that supports the modeling of business processes using the Web Services Business Hence, although the component has "choreographer" in its executability and control. Peltz [2003] defines executable business process that interacts with both internal and external web that the message exchange sequences are controlled and managed by an tracks the message sequences typically the public message exchanges that occur between web party executes. A service choreography

Orchestration refers to an executable process, while choreography tracks the message sequences in which a web service invokes an orchestration is the pattern of The W3C's Web Services responsible for the specification of the WS-CDL sequences and conditions under which multiple cooperating independent agents exchange messages in order to perform a task and a choreography description should make it as easy as possible to: promote a common understanding between WS participants; automatically validate erate code skeletons.

to a specific methodology of research, developed to topic [Biolchini et al., 2005]. In usual process of literature, a systematic review follows a very well defined and strict

This protocol has a central pecific concepts and terms. The concepts and terms are defined to address information related to specific, predefined, focused, and structured questions. The methodological steps, the strategies to retrieve the evidence and the focus of the question are explicitly defined, so that other professionals may reproduce the same protocol and judge the adequacy of the chosen standards.

The type of acceptable evidence to be gathered in a systematic review is stated beforehand. Besides comparing results of individual studies, different kinds of syntheses can be done. In particular, meta-analysis is a type of research synthesis where the original individual studies are treated as if they were part of a larger study, having their data gathered in a single and final result that summarizes the whole evidence. By selecting studies that are compatible in their quality level, and by taking strict care of their specific details, this methodological procedure produces evidence as well as reveals aspects that the original studies are not individually able to elucidate. For instance, meta-analysis may prove that the results are statistically significant when small studies give inconclusive results with large confidence intervals. Besides, when conflicting results arise from different individual studies, metaanalysis may reconcile the data in a synthetic result.

Figure 2:The systematic review process [Biolchini et al., 2005] More information regarding core concepts of systematic review methodology can be found on [START_REF] Kitchenham | Guidelines for performing Systematic Literature reviews in Software Engineering[END_REF], [Biolchiniet al., 2005], [START_REF] Petticrew | Systematic Reviews in the Social Sciences: A Practical Guide[END_REF], [START_REF] Higgins | [END_REF]. Specifically, the first two references present concepts from a Software Engineering viewpoint. According to Biolchiniet al.(2005), applying systematic reviews in software engineering is much more difficult than in other areas, greatly due to the lack of rigor and conscience when reporting the results of the primary studies. It is also hard to make comparisons without quantitative data and without standardization in the form of presenting the results. According to Richard Hamming [Hamming, 1968], "perhaps the central problem we face in all of computer science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way. Science is supposed to be cumulative, not almost endless duplication of the same kind of things".

Review Protocol

A systematic literature review evaluates and interprets all available research relevant to a particular question or topic area through a rigorous and auditable methodology. In this section, we briefly describe the review protocol elaborated as part of the planning phase of this study. The review protocol was developed and executed according to the guidelines and hints provided by [START_REF] Kitchenham | Guidelines for performing Systematic Literature reviews in Software Engineering[END_REF], [Biolchiniet al., 2005] and previous experiences at IME-USP5 [START_REF] Steinmacher | Awareness Support in Global Software Development: A Systematic Review Based on the 3C Collaboration Model[END_REF]. The structure of the protocol is adapted from [START_REF] Dyba | [END_REF].

Research Questions

Formulating the research questions is the most important activity during the protocol definition [Kitchenham, 2004]. These search questions guide the systematic review. In our systematic review the research questions were: Q1) What are the strategies (and respective implementing tools) for the adaptation of services choreographies? Q2) Which are the influencing factors on the application of each strategy?

Inclusion and Exclusion Criteria

In this study, we are interested in adaptations that affect an existing choreography. Therefore, we discarded studies focused on topics such as choreography synthesis (or any kind of service composition), orchestration adaptations (outside the choreography context) and pure service adaptation. We defined the following criteria based on the research questions: i. Papers must be available for download.

ii. Papers must propose or discuss a strategy for the choreography adaptation problem. iii. Choreography adaptation must be motivated by: a. Modifications in a existing choreography definition; b. Modifications in the internal processes (e.g. orchestrations) that affect/disturb the choreography description.

Data Sources, Search String and Study Selection Procedures

We performed searches on the following sources: IEEE Xplore (http://ieeexplore.ieee.org), ACM Digital Library (http://portal.acm.org/dl.cfm?coll=portal), CiteSeerX (http://citeseerx.ist.psu.edu), SciVerse Scopus (http://www.scopus.com/home.url), and Web of Science/ISI Web of Knowledge (http://isiknowledge.com/?DestApp=WOS). A detailed explanation on sources selection and evaluation criteria are given in Sections 2.4 and 2.5 of the complete review protocol.

Medical guidelines recommend considering a question about the effectiveness of a treatment from three perspectives: population, interventions and outcomes. More recently, [START_REF] Petticrew | Systematic Reviews in the Social Sciences: A Practical Guide[END_REF] suggested using the PICOC criteria (Population, Intervention, Context, Outcomes, and Comparison) to frame research questions. In this review, the approach to construct the search string was based on [START_REF] Kitchenham | Guidelines for performing Systematic Literature reviews in Software Engineering[END_REF] and relies on the PICOC criteria:

1. A structured question SQ in the form of a PICOC statement was derived from the research questions Q1 and Q2 (Section 3.1). 2. The identified synonyms and alternative spellings for each of the SQ keywords were linked using the boolean operator OR. 3. The two OR lists obtained from the previous step were linked using the boolean operator AND.

(

(choreography OR "decentralized composition" OR "decentralized service composition" OR "distributed composition" OR "distributed service composition" OR "decentralized interacting services") ( (custom*) OR ("self-configurable" OR "self-configuring" OR "self-configuration" OR "auto-configurable" OR "auto-configuring" OR "auto-configuration" OR "self-healing") OR (adapt* OR reconfig*) ) ) The procedures for study selection were mainly derived from [START_REF] Dyba | [END_REF]:

1. Query strings were built according to the specific syntax of each selected source (see Appendix E). Results from all sources were then grouped in a single spreadsheet. 2. Duplicated and invalid results were excluded. 3. All clearly irrelevant results were discarded (e.g., non Computer-Science papers). 4. The title of each remaining study was read and a new selection was done based on the inclusion/exclusion criteria. 5. The abstract of every preselected work from the previous stage was read and another selection was conducted based on the inclusion/exclusion criteria. As suggested in [START_REF] Kitchenham | Guidelines for performing Systematic Literature reviews in Software Engineering[END_REF], the researchers also downloaded the full article and checked the study conclusions when only reading the abstract was not sufficient to fully understand the objectives or the problems being addressed. 6. If there were multiple versions of the same study, only the most complete version was included. 7. The selected studies were fully read by at least one of the researchers, who became the responsible for writing a structured abstract (executive summary) of the study based on a template already defined (see Section 3.6).

Although steps 2 and 3 are not directly connected to the inclusion/exclusion criteria, their execution contributes to the elimination of completely irrelevant papers. Furthermore, as also suggested in [Dyba and Dingsoyr 2008], this initial ''cleaning'' supports the elaboration of a more concise and cohesive grouping of excluded studies in rejection categories. An inclusive approach was carried out for the initial selection (stages 3 to 5), i.e. for one article to be preselected, it was sufficient that one of the researchers decided in favor of the inclusion. In adition, all stages of the whole selection process were supervised by a more experienced researcher and all rejected studies were adequately grouped in rejection categories (with exception of irrelevant studies).

Citation management and studies retrieval

In order to assist the process of gathering and managing all the results from search engines, we used two citation management tools, namely JabRef6 and Mendeley7 .JabRef is a reference management software that uses BibTeX as its native format. JabRef provides an easy-to-use interface for editing BibTeX files, importing data from online scientific databases, and managing and searching BibTeX files. We used JabRef to store and manage all results (citations) obtained from the query submission to the data sources.

Mendeley is a desktop and web software for managing and sharing research papers, discovering research data and collaborating online. It combines Mendeley Desktop, a PDF and citation management application with Mendeley Web, an online social network for researchers. Mendeley Web Importer, a small "bookmarklet" provided by Mendeley Desktop, was particularly helpful as it helped to import the results from ACM Digital Library to JabRef (this source did not provide flexible exporting facilities).

Study Assessment

For each selected study, we conducted an assessment based on questions to be answered with Yes/Partially/No (corresponding to the scores 1.0, 0.5, and 0.0 respectively). This assessment was included in each structured study abstract (see Section 3.6). It is important to highlight that although the total score of a single paper has little meaning, the set of all scores for each question represents a valuable axis of analysis (see Section 4.4).

Study Assessment Score

Q1 Is there a clear description of the strategy objectives?

Q2 Is there a description of the applicability context and pre-conditions of the employed strategy? -Applicability context and pre-conditions cannot be identified(score 0.0) -Applicability context or pre-conditions are informally discussed or can be implicitly inferred somehow (score 0.

Data Extraction

A structured abstract with the following fields was prepared for each primary study:

• Source

Synthesis of Findings

The data extracted from studies was tabulated and plotted in order to present basic information about each work. The studies were also cohesively grouped into categories according to the strategy employed, and each category was discussed. A meta-analysis (statistical analysis of a large collection of analysis results of individual studies to integrate the findings) was conducted to help identify any interesting trends or limitations in current researches. The whole synthesis process was supported by frequent meetings among review authors. The synthesis of findings is presented in Section 4.

Protocol Evaluation

Before executing the actual systematic review, we have evaluated the protocol as follows:

i.

Asking five experts (in systematic reviews and/or service choreographies) to review the protocol All observations made by the experts were taken into account and most of them were incorporated into the protocol. Some of their contributions were:

• Additional synonyms for the keywords.

• Advices on how to perform the synthesis of findings (e.g. creating rejection categories).

• Advices on the systematic review methodology in general.

ii.

Doing a pilot study

We did a pilot study of the systematic review in a single search engine, namely IEEE Xplore. By executing the protocol on this source iteratively, we were able to:

• Expand the review scope.

o Design-time reconfiguration was incorporated (in the early days of the protocol we intended to identify only runtime choreography adaptation strategies). • Improve query definition.

o Several versions of the query were tested. • Improve inclusion/exclusion criteria.

We have chosen IEEE Xplore because of its credibility and facilities to export the results. Such characteristics enabled rapid feedback and iterative protocol tailoring.

Results

After the full protocol execution, the results were summarized and analyzed (see Figure 2) using the methods and plans defined previously (in the planning phase). In the next sections, we present the study selection analysis, an overview of the primary studies, the description and classification of each study according to its choreography adaptation strategy, and a meta-analysis regarding the study evaluation criteria.

Study Selection Analysis

We identified 17 primary studies on service choreography adaptation by performing the searches on the selected sources (refer to Section 3.3). Table 2 describes the stages of refinement of the study selection:

Stage 1 Results

Total results obtained from the query submission to the source

Stage 2 Results

Results excluding irrelevant papers

Stage 3 Results

Results excluding duplicated and invalid papers

Stage 4 Results

Results applying inclusion/exclusion criteria to the papers titles

Stage 5 Results

Results applying inclusion/exclusion criteria to the papers abstracts and conclusions Table 2:Results of each stage of the study selection process Table 3 shows the number of papers returned by each source at the end of each selection stage. The information obtained shows differences between the academic references sources. We discuss some lessons learned about these results (Table 3) on section 5.2.

Source Stage 1 Results

Stage 2 Results

Stage 3 Results

Stage 4 Results

Stage 5 Results

% of Selected

Stage 2 results

Stage 3 results

Stage 4 results

Stage 5 results

ACM Digital Library

CiteSeerX IEEE Xplore

SciVerse Scopus

Web of Science Figure 4 shows the number of selected papers at the end of stages 2 and 5. While initially 47 studies appeared in only one source, only a single study was exclusive to a source at the end of stage 5. Even though Scopus has a large coverage, this analysis shows that no single source accounts for a large percentage of the selected studies. In particular, stage 5 results shown in Figure 4 fit a normal distribution.

Overview of Primary Studies

In this section, we provide a brief overview of the primary studies of choreography adaptation that we have selected. We address the questions regarding what kind of papers (conference papers, journal articles, etc.) was published in the area, how many studies were published per year and what were the publication channels. The citation references of the selected studies can be found on Appendix A.

Table 4 shows basic information about the primary studies. In addition to the 17 selected studies, we considered [START_REF] Salaün | Nima On realizability and dynamic reconfiguration of choreographies[END_REF] since it was known by the authors, considering previous experiences/studies. Papers were classified as short conference papers (1-4 pages), conference papers (5+ pages), journal articles and technical reports.

#Id

Title Year Paper Type [Xu et al., 2007] A [Brogi et al., 2004] Formalizing web service choreographies 2004 Journal Article [Mahfouz et al., 2009a] From organizational requirements to service choreography Regarding the paper type (see Table 5), 84% of the results consisted of conference papers (both short and complete types). In particular, short papers accounted for approximately 20% of the total results. Only one journal article and a single technical report were found. In particular, the technical report from [START_REF] Yang | Performance Prediction Based EX-QoS Driven Approach for Adaptive Service Composition[END_REF] is a more complete version of the conference paper that had been found in ACM, IEEE, Scopus, and CiteSeerX sources. With respect to the distribution of studies per year (see Table 6and Figure 5), we notice that there was an increase in the number of papers from 2004 until 2007. While more than a quarter of the studies were published in 2009, only two studies were published in 2008 and 2010. More studies may come up in 2010, then, as the searches in all sources were performed on November 18 th , 2010, and sources usually take some time to index new publications. In relation to publication channels, we notice that apart from the conferences "International Conference on Web Information Systems and Technologies (WEBIST)" and the "On the move to meaningful internet systems (OTM)", all channels had exactly one paper published (see Table 7). This shows that studies on service choreography adaptation are spread among many different conferences and journals, which makes it harder to gather literature about the topic. In the next section, we discuss the identified choreography adaptation strategies and their categorization into groups.

Choreography Adaptation Strategies

Choreography adaptation strategies encompass approaches and methods to adapt existing service choreographies, either at design-time, runtime or both. Adaptations that happen at design-time are often called "customizations," while adaptations that occur at runtime are often referred as to "dynamic adaptation" strategies. We employ the term "hybrid" to refer to strategies that support adaptations at both design-time and runtime. As stated in Section 1, we define adaptation influencing factors as factors that have the ability to interfere/disturb/affect the behavior/performance/effectiveness of a particular choreography adaptation strategy.

Design-time adaptation strategies usually provide means (such as graphical models) to facilitate the customization of a choreography specification. This kind of adaptation usually involves generating a new choreography description that replaces the previous one. Runtime adaptation strategies tackle the issues of performing reconfiguration in a way that system functionality is less harmed as possible. In this case, the supporting tools and frameworks are much more complex.

Table 8 shows the distribution of dynamism across selected studies. Approximately little more than a half of the selected studies deal with runtime adaptation, while only a quarter provide designtime adaptation. Only 2 out of 18 studies deal with hybrid strategies. Model-based choreography adaptation strategies involve rationalizing about a choreography adaptation at a higher level of abstraction (Section 4.3.1). Monitor-based strategies involve delegating the monitoring and dynamic adaptation of the choreography to an entity referred as to "monitor". Monitors are usually external to the choreography and their failure does not hinder the choreography execution (Section 4.3.2). Multi-agent based strategies involve the use of agents as autonomous, flexible, and adaptable software. The use of agents on web services compositions allows run-time changes, adding, removing, or replacing services according to changes with the environment or changes with the users' requirements (Section 4.3.3). In the process calculus and finite state models strategies, the proposed choreography adaptation strategies are focused on the notions of process calculus and/or finite state models (FSM). Adaptation strategies are usually developed through a formalization of the choreography specification (Section 4.3.4). Moreover, some uncategorized strategies were found and described in Section 4.3.5.

In the following subsections, we aim to answer the systematic review questions (Section 3.1) by describing the choreography adaptation categories and respective studies. For each study, we present the question/issue being addressed by the authors and the characteristics of the employed adaptation strategy, including applicability context and preconditions, limitations and drawbacks, influencing factors and implementing tools.

Model-based choreography adaptation

According to Bran [START_REF] Selic | The Pragmatics of Model-Driven Development[END_REF], modeling technology has matured to the point to offer significant leverage in all aspects of software development. He also argues that, in an increasing number of application areas, one can generate much of the application code directly from models by employing Model-driven Development (MDD) techniques. More precisely, MDD offers the potential for automatic transformation of high-level abstract application-subject models into running systems [START_REF] Mellor | [END_REF].

Model-based choreography adaptation strategies are directly connected to MDD and involve rationalizing about a choreography adaptation at the model level instead of the specification/code level. There are five studies in this category [Mahfouz et al., 2009a], [Mahfouz et al., 2009b] The authors developed a choreography customization framework that the following steps (see Figure 7):

1. Representing choreographed interactions at the level of organizational dependencies 2. Performing required customizations to models of organizational re the acquired domain knowledge. 3. Inferring constraints on mes 4. Deriving the resulting choreography description in an automated manner from the messaging constraints. The framework adopts Tropos oriented methodology of software development focused on organizational requirements at various levels of abstraction. Tropos models capture goals of participants (actors) in the interaction, mutual dependencies that motivate them to interact, and activities they undertake to achi including physical activities not represented in conventional CDLs. The global view of a choreographed interaction is modeled using Actor modeled using Goal-Activity (GA) models; and behavioral obl using Formal Tropos (FT). The formality of FT enables the preservation of consistency between the two representations: organizational requirements and the choreographed Details about Formal Tropos syntax and semantics are given in the paper.

15 Mena et al., 2007], [Fabra et al., 2008]. The study was classified in the runtime adaptation group, but all the other model-based category studies were considered as performing design-time adaptation, which may reveal that model hnique to operate at design time.

, 2009a], [Mahfouz et al., 2009b] will be presented together, as these are complementing papers from the same authors. Studies [START_REF] Moo-Mena | Reconfiguration of Web Services Architectures: A model-basedapproachComputers and Communications[END_REF] will also be presented together.

, 2009a], [Mahfouz et al., 2009b] -changing business needs call for adaptable choreographies. Conventional choreography description languages (CDLs) are not well-suited for embody little domain knowledge required to reason about participants' needs. Specially, the business goals of participants and strategic dependencies motivating the interaction are not explicitly represented. Therefore, it is not clear how to assess the impact of any suggested change to the choreography (global view) on the process of each participant (local view). a choreography customization framework that ):

Representing choreographed interactions at the level of organizational dependencies Performing required customizations to models of organizational requirements, to benefit from the acquired domain knowledge.

Inferring constraints on messaging from requirements models. Deriving the resulting choreography description in an automated manner from the messaging

Overview of the choreography customization framework [Mahfouz

Tropos for modeling interaction requirements. software development focused on organizational requirements at various models capture goals of participants (actors) in the interaction, mutual dependencies that motivate them to interact, and activities they undertake to achi including physical activities not represented in conventional CDLs. The global view of a choreographed interaction is modeled using Actor-Dependency (AD) models; the local view is Activity (GA) models; and behavioral obligations of participants are described using Formal Tropos (FT). The formality of FT enables the preservation of consistency between the two representations: organizational requirements and the choreographedsyntax and semantics are given in the paper.

The study [Fabra et al., 2008] based category studies were time adaptation, which may reveal that model-based adaptation is a will be presented together, as these Mena and Drira, 2007], [Moo-Mena changing business needs call for adaptable choreographies.

suited for adaptation as they embody little domain knowledge required to reason about participants' needs. Specially, the business goals of participants and strategic dependencies motivating the interaction are not explicitly ow to assess the impact of any suggested change to the a choreography customization framework that can be summarized by

Representing choreographed interactions at the level of organizational dependencies. quirements, to benefit from Deriving the resulting choreography description in an automated manner from the messaging [Mahfouz et al., 2009a].

for modeling interaction requirements. Tropos is an agentsoftware development focused on organizational requirements at various models capture goals of participants (actors) in the interaction, mutual dependencies that motivate them to interact, and activities they undertake to achieve their goals, including physical activities not represented in conventional CDLs. The global view of a Dependency (AD) models; the local view is igations of participants are described using Formal Tropos (FT). The formality of FT enables the preservation of consistency between the -messaging specification.

Bridging requirements to choreography allows stakeholders to perform requested customizations to requirements models and to derive the customized messaging. The authors developed a choreography derivatio Abstract CDL (ACDL), in which constructs are directly drawn from WS bridging the local and global views helps to ensure that customizations of a choreography descript do not violate the goals of any participant. In summary, the proposed choreography customization framework entails: representing choreographed interactions at the level of organizational requirements models; performing required customizations to the models in a collaborative manner that benefits from knowledge; and deriving the resultant choreography description automatically.

With respect to drawbacks, the framework supports o changes to requirements). Moreover, the generated ACDL and the re have several limitations: necessity of being refined at types); no support for complex messaging patterns (only request no support for repetition or branching.

Regarding influencing factors, we believe that the performance and effectiveness of the choreography adaptation strategy implemented by the tool. In addition, the proposed ACD Tropos. Finally, framework adopters should be able to elaborate and

[Moo-Mena and Drira, 2007]

Paper Question/Issue: Web services failures can be caused by a faults, server crashes, web service unavailability, missing data and low QoS. Adequate solutions to these problems require the handling of adaptability at the system architectural level.

These papers present a taking actions to repair faults at the architectural level. These repair actions consist of the addition/removal of services or connections between them. In particular, these papers focus on se duplication and substitution. The representation of services compositions is based on an extended UML notation. A graph is used to represent the architecture, while nodes and edges represent web services and their connections respectively. The propo graph transformation actions.

The proposed architecture has three basic elements: the cooperative role, service category, and service class. The cooperative role represents a unit associated to a site where connected. The category represents a global and common functionality offered by a set of web services. Service class refers to the functional behavior of a particular type of web service, and it is 8 Appendix B provides a detailed description of the choreography derivation algorithm.

16

Bridging requirements to choreography allows stakeholders to perform requested customizations to requirements models and to derive the customized messaging. The authors developed a choreography derivation tool that interprets an FT model and outputs the corresponding Abstract CDL (ACDL), in which constructs are directly drawn from WS-CDL bridging the local and global views helps to ensure that customizations of a choreography descript do not violate the goals of any participant.

four views of the choreography customization framework

In summary, the proposed choreography customization framework entails: representing choreographed interactions at the level of organizational requirements models; performing required customizations to the models in a collaborative manner that benefits from ; and deriving the resultant choreography description automatically. With respect to drawbacks, the framework supports only additive customizations (incremental changes to requirements). Moreover, the generated ACDL and the respective derivation algorithm have several limitations: necessity of being refined at the design phase (e.g. by specifying message types); no support for complex messaging patterns (only request-response pattern is supported) and or branching. Regarding influencing factors, we believe that the performance and effectiveness of the choreography adaptation strategy depend directly on the characteristics of the derivation algorithm

In addition, the proposed ACDL depends on the expressiveness of ramework adopters should be able to elaborate and to interpret

Mena and Drira, 2007], [Moo-Mena et al., 2007]

Web services failures can be caused by a variety of factors, such as network faults, server crashes, web service unavailability, missing data and low QoS. Adequate solutions to these problems require the handling of adaptability at the system architectural level.

These papers present a model-based approach to reconfigure web services compositions, taking actions to repair faults at the architectural level. These repair actions consist of the addition/removal of services or connections between them. In particular, these papers focus on se duplication and substitution. The representation of services compositions is based on an extended UML notation. A graph is used to represent the architecture, while nodes and edges represent web services and their connections respectively. The proposed reconfiguration strategy is achieved through

The proposed architecture has three basic elements: the cooperative role, service category, and service class. The cooperative role represents a unit associated to a site where connected. The category represents a global and common functionality offered by a set of web services. Service class refers to the functional behavior of a particular type of web service, and it is Appendix B provides a detailed description of the choreography derivation algorithm.

Bridging requirements to choreography allows stakeholders to perform requested customizations to requirements models and to derive the customized messaging. The authors n tool that interprets an FT model and outputs the corresponding CDL 8 . On the other hand, bridging the local and global views helps to ensure that customizations of a choreography description customization framework

In summary, the proposed choreography customization framework entails: representing choreographed interactions at the level of organizational requirements models; performing required customizations to the models in a collaborative manner that benefits from the acquired domain ; and deriving the resultant choreography description automatically. nly additive customizations (incremental spective derivation algorithm design phase (e.g. by specifying message response pattern is supported) and

Regarding influencing factors, we believe that the performance and effectiveness of the on the characteristics of the derivation algorithm L depends on the expressiveness of Formal interpret Tropos models.

variety of factors, such as network faults, server crashes, web service unavailability, missing data and low QoS. Adequate solutions to these problems require the handling of adaptability at the system architectural level.

based approach to reconfigure web services compositions, taking actions to repair faults at the architectural level. These repair actions consist of the addition/removal of services or connections between them. In particular, these papers focus on service duplication and substitution. The representation of services compositions is based on an extended UML notation. A graph is used to represent the architecture, while nodes and edges represent web sed reconfiguration strategy is achieved through

The proposed architecture has three basic elements: the cooperative role, service category, and service class. The cooperative role represents a unit associated to a site wherein actors are connected. The category represents a global and common functionality offered by a set of web services. Service class refers to the functional behavior of a particular type of web service, and it is Appendix B provides a detailed description of the choreography derivation algorithm. associated to a service category. Each service is represented by an UML component with tags related to architectural elements. Some basic rules required to build reconfiguration actions are defined as graph transformations. The first rule (R1) defines the basic actions needed to add a web service to the system. The second rule (R2) deals with the addition of connections between web services. The third rule (R3) defines the necessary actions to remove elements and any associated connections. Therefore, service duplication can be defined as the application of rules R1 and R2 in sequence, while a service substitution can be defined as the application of rules R1, R2, and R3.

The main difference between [START_REF] Moo-Mena | Reconfiguration of Web Services Architectures: A model-basedapproachComputers and Communications[END_REF] and [START_REF] Moo-Mena | Reconfiguration of Web Services Architectures: A model-basedapproachComputers and Communications[END_REF] is that the first one is focused on repairing actions for web service faults, and the second one is focused on repairing actions for QoS mismatches. Moreover, the example scenario of the first study is a food ordering workflow of a food shop company, and the example in the second study concerns the review process in scientific publishing activities. However, the architecture -the graph transformation rulesand the reconfiguration actions proposed in both papers are essentially the same. We were not able to recognize any influencing factors in this study.

[Fabra et al., 2008]

Paper question/issue: In highly dynamic scenarios, the companies have to change often to adapt to the environment. The changes in business processes should not require changes in IT infrastructure. Therefore, for enabling flexibility, the business process must be separated from IT infrastructures.

This paper defines orchestration as the description of private business processes followed by each party, and choreography as the description of the interactions that occur in IT infrastructure. Therefore, this paper proposes a set of UML 2 models for separately modeling orchestrations and choreographies, allowing the changes in business processes to occur independently from the interaction logic.

The UML models are developed according to a specific methodology for analyzing complex multi-agent systems called MacMAS, which relies on Agent-Oriented Software Engineering (AOSE) methodology. The methodology is supported by two diagrams: a dynamic one represents interactions or business process behavior throughout time; and the static one describes the relationships between services in a stationary way.

This paper uses extended role models in order to represent services relationships statically. These roles are used at the orchestration level to describe the business process without dealing with needed messages, and also to represent concrete interactions at the choreography level. In addition, UML 2 State Machines are employed to represent the dynamic part.

The authors implemented a platform called DENEB (Development and Execution of iNteroperable dynamic wEB processes) to the execution of the proposed models. Such platform, which is based on Petri-nets, allows changes at run-time and keeps the correct separation between the orchestration and choreography aspects. According to the authors, the main advantage of this approach is the rapid deployment of changes in the business process in a SOA-based platform, enabling the execution of adaptable and agile business process.

The DENEB platform has an enterprise service bus (ESB) responsible for supporting interactions between different components independently from their technology or communication protocols, and separating the logic of the message exchange from the concrete message routing and delivery. Moreover, the platform uses two classes of services engines: the workflows engines, which represent the business logic and processes, and is responsible for orchestration processes execution; and the protocol engine, which represents interaction logic and is responsible for the execution of choreography processes. The presence of these two engine classes allows DENEB to correctly handle and execute choreographies and orchestrations separately.

The translation from models to platform implementations is not direct and is treated as future work. Nevertheless, this integrated platform enables a flexible way to deal with business processes in highly dynamic scenarios. We were not able to recognize any influencing factors in this strategy.

Monitor-based choreography adaptation

Monitor-based strategies involve delegating the monitoring and dynamic adaptation of the choreography to an entity referred to as "monitor." Monitors are usually external to the choreography and their failure does not hinder the choreography execution. Monitors can be implemented in many forms, such as a web service or a middleware.

There are four studies in this category: [Paspallis and Papadopoulos, 2005], [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF], [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] and finally [START_REF] Yang | Performance Prediction Based EX-QoS Driven Approach for Adaptive Service Composition[END_REF]. In this category, the studies [Paspallis and Papadopoulos, 2005] and [START_REF] Yang | Performance Prediction Based EX-QoS Driven Approach for Adaptive Service Composition[END_REF] were classified as dealing with runtime adaptations, while studies [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] and [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] were classified as presenting a hybrid approach.

Given that three studies are from 2009 or 2010 and two studies are conference short papers, we believe that monitor-based choreography adaptation may be an emerging topic of research. The papers [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] and [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] will be presented together, as they are complementing studies of the same leading author.

[Paspallis and Papadopoulos, 2005]

Paper question/issue: Adaptive, mobile applications are designed to constantly adapt to the contextual conditions aiming at optimizing the quality of the service offered. Existing approaches depend on rigid composition plans that are defined at design time.

The authors propose a distributed adaptation reasoning strategy based on utility functions. Utility functions can be used to compute quantifiable measure of the service quality (utility) as it is experienced by the application users. In this respect, the overall objective of an implementing middleware can be defined as the continuous evaluation, and selection of a composition that maximizes the utility (how this selection is performed is not addressed in the paper). In distributed environments, this implies that the contextual information of all participating hosts must be communicated to the host that performs the adaptation reasoning. The authors suggest two kinds of reasoning: proactive and reactive. Proactive reasoning is more likely to achieve faster and more accurate results, and requires all context data to be communicated as soon as it becomes available. In contrast, reactive adaptation reasoning is better in terms of resource consumption, as it defers the communication of such context data until they are actually needed. An implementation middleware can also benefit from the usage of hybrid approaches or from switching dynamically one approach to the other on demand. As a final point, the authors argue that the proposed strategy provides additional benefits such as robustness, agility, and scalability.

The text does not present an explicit discussion about limitations or drawbacks. With relation to influencing factors, we believe that the amount of context data, which is transmitted from all the participant hosts to the adaptation reasoning host (ARH), may affect the strategy performance (due to network data transmission). Also, the strategy effectiveness is directly connected to the availability of the ARH and the participant hosts ability in sending information to it. No explicit discussion about applicability context and preconditions is presented in the text either. However, the strategy assumes the existence of an ARH (middleware) that is able to compute utility values and to perform distributed reconfiguration based on contextual information received from participating hosts. The discussed adaptation strategy is being implemented in the MADAM middleware as part of the MADAM project9 . As this is a short paper that presents an ongoing project, no concrete results are provided.

[Ezenwoye et al., 2010],

Paper question/issue: Both centralized and decentralized service composi difficulties when promoting ease of dynamic reconfiguration in response stimuli. In particular, the peer-tomanage since no service has a global view of the overall integration

The proposed choreography adaptation strategy adaptation, the choreography model written in WS transformation involves introducing enable runtime modification of the interaction The strategy includes a monitoring component that uses the transformed choreography model to have a global view of the service interaction, and introduce adaptive behavior. Such component is a composite service called "Monitor", which models the logic o participating in the choreography, observes the data and control global view of the interaction between the participating services. The monitor observes the interactions and intervenes only if it is necessary to provide the required adaptation to the system. According to the authors, the monitor encapsulates the behavioral and recovery policies that allow for the choreography to be reconfigured. In addition, the authors state that in c assign the load to another service and performed, for example. The use of a global model not only helps with the detection of failed executions, but can also be used to check for violations of desired invariants, producing backup versions of the application, detecting deadlock, and computing global measures such as cost. The monitor does not constitute a single point of failure since multiple monitors could be used. The advantage of this technique is that the logic for adaptive behavior is external services.

The authors treat the proposed strategy combination of choreography and orchestration ( design pattern, with services playing the role of "observables" by providing notification interfaces through intercession techniques that allow the "observer" (Monitor) to be updated about ser change.

, 2010], [Ezenwoye and Tang, 2010]

Both centralized and decentralized service composi promoting ease of dynamic reconfiguration in response -peer interaction style offered by the choreography model is difficult to manage since no service has a global view of the overall integration.

The proposed choreography adaptation strategy is summarized in adaptation, the choreography model written in WS-CDL is first transformed nvolves introducing redundancy and other constructions (fault enable runtime modification of the interaction. the adaptive service composition framework [Ezenwoye and Tang,201 The strategy includes a monitoring component that uses the transformed choreography model to have a global view of the service interaction, and introduce adaptive behavior. Such component is a composite service called "Monitor", which models the logic of interaction between the services participating in the choreography, observes the data and control-flow of the choreography, and has the global view of the interaction between the participating services. The monitor observes the interactions s only if it is necessary to provide the required adaptation to the system. According to the authors, the monitor encapsulates the behavioral and recovery policies that allow for the choreography to be reconfigured. In addition, the authors state that in case of a service failure, the monitor could assign the load to another service and provide it with the information to resume the task to be performed, for example. The use of a global model not only helps with the detection of failed executions, but can also be used to check for violations of desired invariants, producing backup plication, detecting deadlock, and computing global measures such as cost. The monitor does not constitute a single point of failure since multiple monitors could be used. The advantage of this technique is that the logic for adaptive behavior is external treat the proposed strategy as a hybrid service composition model, i.e. a combination of choreography and orchestration (Figure 10). The strategy also employs the Observer design pattern, with services playing the role of "observables" by providing notification interfaces through intercession techniques that allow the "observer" (Monitor) to be updated about ser Both centralized and decentralized service composition models pose promoting ease of dynamic reconfiguration in response to internal and external peer interaction style offered by the choreography model is difficult to in Figure 9.To propitiate transformed before execution. This (fault-tolerance pattern) that [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] The strategy includes a monitoring component that uses the transformed choreography model to have a global view of the service interaction, and introduce adaptive behavior. Such component is a f interaction between the services flow of the choreography, and has the global view of the interaction between the participating services. The monitor observes the interactions s only if it is necessary to provide the required adaptation to the system. According to the authors, the monitor encapsulates the behavioral and recovery policies that allow for the choreography ase of a service failure, the monitor could with the information to resume the task to be performed, for example. The use of a global model not only helps with the detection of failed executions, but can also be used to check for violations of desired invariants, producing backup plication, detecting deadlock, and computing global measures such as cost. The monitor does not constitute a single point of failure since multiple monitors could be used. The advantage of this technique is that the logic for adaptive behavior is external to the interacting as a hybrid service composition model, i.e. a

The strategy also employs the Observer design pattern, with services playing the role of "observables" by providing notification interfaces through intercession techniques that allow the "observer" (Monitor) to be updated about service state No limitations or drawbacks are discussed in the paper. There is no explanation on how the monitor is generated from the choreography model either. paper, we believe that the strategy influencing factors are: availability and quantity of monitors (although the absence of monitors does not adversely affect the choreography); adaptor algorithm and fault-tolerance pattern (which generate policies (adaptive actions, such as changing the endpoint of a service in the choreography of interface intercession). Choreographies must be specified using WS must be defined. It is not clear whether the fault tolerance pattern must be specified or included in the adaptor algorithm. results or prototype tools are given.

[Yang et al., 2009]

Paper question/issue: The QoS of a or because of workload fluctuations. This paper addresses the issue of how to select service global optimization of QoS in adaptive distributed service composition (choreographies).

In order to achieve global optimization in decentralized service composition, this paper introduces the "EX-QoS model", which extends the traditional QoS model of data transmission between services. The proposed strategy works as follows. Firstly, a monitor of QoS-related context collects QoS the composite are predicted periodically deviation at invocation time, and the pre choreography) is predicted to be unavailable, the process of re the original replacement composite service as a reselected slice, a based on a heuristic algorithm is done to obtain the new available replacement. Such re process, which preserves the avail of the failed service. Therefore, when the failed service is to be invoked, the composite service will automatically switch to the replacement to heal itself.

The key to the proposed Markov probabilistic model. A Semi exception of its transition probabilities depending on the amount of time that elapses since the transition. The basic idea is to predict the data transmission speed of each service in the composite, and when the predicted speed is below the threshold, the confident degree is also low, which means that a failure is likely to happen at invocation 20

10:Class diagram for the hybrid composition model

No limitations or drawbacks are discussed in the paper. There is no explanation on how the monitor is generated from the choreography model either. Although not explicit paper, we believe that the strategy influencing factors are: availability and quantity of monitors (although the absence of monitors does not adversely affect the choreography); adaptor algorithm and pattern (which generates adaptation-enhanced choreography model) policies (adaptive actions, such as changing the endpoint of a service in the choreography interface intercession). Choreographies must be specified using WS-CDL an must be defined. It is not clear whether the fault tolerance pattern must be specified or included in the adaptor algorithm. Since the two studies clearly reveal an ongoing work, n given.

, 2009]

The QoS of a web service usually evolves either because of internal changes or because of workload fluctuations. This paper addresses the issue of how to select service global optimization of QoS in adaptive distributed service composition (choreographies).

In order to achieve global optimization in decentralized service composition, this paper QoS model", which extends the traditional QoS model by considering the relation of data transmission between services. The proposed strategy works as follows. Firstly, a monitor of related context collects QoS-related contexts for prediction. Secondly, QoS from each service in ed periodically. If the QoS of a certain service is predicted to be a large deviation at invocation time, and the pre-backup replacement (defined prior to the execution of the choreography) is predicted to be unavailable, the process of re-selection is tri the original replacement composite service as a reselected slice, a QoS-driven re based on a heuristic algorithm is done to obtain the new available replacement. Such re process, which preserves the availability of a replacement, is more likely to finish before the invocation of the failed service. Therefore, when the failed service is to be invoked, the composite service will automatically switch to the replacement to heal itself.

The key to the proposed strategy is the performance prediction, which is based on a Semi Markov probabilistic model. A Semi-Markov process is similar to the Markov process, with the exception of its transition probabilities depending on the amount of time that elapses since the transition. The basic idea is to predict the data transmission speed of each service in the composite, and when the predicted speed is below the threshold, the confident degree is also low, which means that a failure is likely to happen at invocation time (implying in QoS).

Class diagram for the hybrid composition model

No limitations or drawbacks are discussed in the paper. There is no explanation on how the Although not explicitly discussed in the paper, we believe that the strategy influencing factors are: availability and quantity of monitors (although the absence of monitors does not adversely affect the choreography); adaptor algorithm and enhanced choreography model), and recovery policies (adaptive actions, such as changing the endpoint of a service in the choreography by means CDL and recovery policies must be defined. It is not clear whether the fault tolerance pattern must be specified or if it is already an ongoing work, no concrete either because of internal changes or because of workload fluctuations. This paper addresses the issue of how to select services with global optimization of QoS in adaptive distributed service composition (choreographies).

In order to achieve global optimization in decentralized service composition, this paper by considering the relation of data transmission between services. The proposed strategy works as follows. Firstly, a monitor of related contexts for prediction. Secondly, QoS from each service in . If the QoS of a certain service is predicted to be a large backup replacement (defined prior to the execution of the selection is triggered. Then, by taking driven re-selection process based on a heuristic algorithm is done to obtain the new available replacement. Such re-selection ability of a replacement, is more likely to finish before the invocation of the failed service. Therefore, when the failed service is to be invoked, the composite service will , which is based on a Semi-Markov process is similar to the Markov process, with the exception of its transition probabilities depending on the amount of time that elapses since the last transition. The basic idea is to predict the data transmission speed of each service in the composite, and when the predicted speed is below the threshold, the confident degree is also low, which means With relation to influencing factors, we believe that the availability of the Manage Agent can affect the algorithm effectiveness or performance. This agent centralizes the monitori is responsible for adjusting multi-

[Morreale et al., 2007]

Paper question/issue: In a scenario where business relationships are supported by a service oriented architecture, the currently and widely adopted presents some limitations. This communication does not meet the real needs of business interactions, since a company does not use the other company, but creates a collaborative relation aiming at achieving common objectives.

This paper argues that multi services choreography. Also, the ability of agents to dynamically interact among themselves allows the development of a real, flexible, and adaptive chor conversation flow should automatically be handled by the agent in order for it to adapt itself and participate in unforeseen choreography conversations dynamically. An extended WS in order to adapt the WS-CDL to the context of multi separation among the semantics of the web services, the interaction protocols, and the service binding.

The framework presented in this paper is the PRACTIONIST (piratical r which supports the development of Belief specify their own goals and the relationships among them; the means to pursue such goals; the perceptors to receive stimuli coming from the en corresponding effectors, and the set of rules or beliefs.

The choreography support in the PRACTIONIST framework relies on the idea that the developer should not pay attention to the sequence of messages exc control the conversation flow should automatically be handled by the agent, in order to let it dynamically adapt and participate to unforeseen conversations. The developer should be focused only 23 [START_REF] Zhao | A multi-agent collaborative model for Web Services composition[END_REF] The agents are modeled with the BDI (beliefs, desires, and intentions) architecture and with procedures operating upon a Knowledge Base (described with OWL -the Ontology Web Language

The autonomic features are archived by encapsulating actual web services with Role Agents. Thus, when a web service error occurs, the Agent chooses another web service by itself the faulted one dynamically. If the Role Agent has problems, the the system organization to achieve the new balance.

With relation to influencing factors, we believe that the availability of the Manage Agent can affect the algorithm effectiveness or performance. This agent centralizes the monitori -agents organization.

, 2007]

In a scenario where business relationships are supported by a service oriented architecture, the currently and widely adopted client/server pattern of communication presents some limitations. This communication does not meet the real needs of business interactions, since a company does not use the other company, but creates a collaborative relation aiming at This paper argues that multi-agent system can provide useful theories and abstractions to web services choreography. Also, the ability of agents to dynamically interact among themselves allows the development of a real, flexible, and adaptive choreography. All the activities that control the conversation flow should automatically be handled by the agent in order for it to adapt itself and participate in unforeseen choreography conversations dynamically. An extended WS CDL to the context of multi-agent system. This model requires a clear separation among the semantics of the web services, the interaction protocols, and the service The framework presented in this paper is the PRACTIONIST (piratical r which supports the development of Belief-Desire-Intention agents. Each PRACTIONIST agent has to specify their own goals and the relationships among them; the means to pursue such goals; the to receive stimuli coming from the environment; the actions the agent can perform the corresponding effectors, and the set of rules or beliefs.

The choreography support in the PRACTIONIST framework relies on the idea that the developer should not pay attention to the sequence of messages exchanged: all the activities that control the conversation flow should automatically be handled by the agent, in order to let it dynamically adapt and participate to unforeseen conversations. The developer should be focused only and intentions) architecture and with the Ontology Web Language) The autonomic features are archived by encapsulating actual web services with another web service by itself the faulted one dynamically. If the Role Agent has problems, the Manage Agent adjusts With relation to influencing factors, we believe that the availability of the Manage Agent can affect the algorithm effectiveness or performance. This agent centralizes the monitoring activities and In a scenario where business relationships are supported by a serviceclient/server pattern of communication presents some limitations. This communication does not meet the real needs of business interactions, since a company does not use the other company, but creates a collaborative relation aiming at agent system can provide useful theories and abstractions to web services choreography. Also, the ability of agents to dynamically interact among themselves allows the eography. All the activities that control the conversation flow should automatically be handled by the agent in order for it to adapt itself and participate in unforeseen choreography conversations dynamically. An extended WS-CDL is presented agent system. This model requires a clear separation among the semantics of the web services, the interaction protocols, and the service The framework presented in this paper is the PRACTIONIST (piratical reasoning system), Intention agents. Each PRACTIONIST agent has to specify their own goals and the relationships among them; the means to pursue such goals; the vironment; the actions the agent can perform the

The choreography support in the PRACTIONIST framework relies on the idea that the hanged: all the activities that control the conversation flow should automatically be handled by the agent, in order to let it dynamically adapt and participate to unforeseen conversations. The developer should be focused only on defining the agent behavior according to the business logic beyond the conversation.

In this framework, each agent is provided with a choreography engine, which handles an extended WS-CDL. The framework also supports the definition of plans that implement the choreography operations, allowing an agent to participate in conversations and to play the assigned role actively, performing the required operations. We were not able to recognize any influencing factors in this strategy

Process calculus and FSM based choreography adaptation

Process calculus is a diverse family of related approaches to formally modeling concurrent systems. Process calculi provide a tool for the high-level description of interactions, communications, and synchronizations among independent agents or processes [Baeten, 2004]. Process calculi also provide algebraic laws that allow process descriptions to be manipulated and analyzed, and enable formal reasoning about equivalences between processes (e.g., using bi-simulation).In theoretical computer science, a bi-simulation is a binary relation between state transition systems, associating systems that behave in the same way in the sense that one system simulates the other and viceversa 10 . Intuitively, two systems are bi-similar if they match each other's moves. In this sense, each of the systems cannot be distinguished from the other by an observer.

Leading examples of process calculi include CSP, CCS, ACP, and LOTOS. More recent additions to the family include the π-calculus (pi-calculus), the ambient calculus, PEPA, and the fusion calculus. Depending on the process calculus employed, it is also possible to derive finite state machines, finite state processes, or labeled transitions systems from the formal models. Although the variety of existing process calculi is very large (including variants that incorporate stochastic behavior, timing information, and specializations for studying molecular interactions), there are several features that all process calculi usually share [START_REF] Pierce | [END_REF]:

• Representation of interactions between independent processes as communication (messagepassing), instead of modification of shared variables.

• Description of processes and systems using a small collection of primitives, and operators for combining those primitives.

• Definition of algebraic laws for the process operators, which allow process expressions to be manipulated using equational reasoning. In this category, the proposed choreography adaptation strategies are centered on the notions of process calculus and/or finite state models (FSM). Adaptations strategies are usually implemented by means of a formalization of a choreography specification in a process calculus.

There are four studies in this category [Brogi et al., 2004], [START_REF] Salaün | Nima On realizability and dynamic reconfiguration of choreographies[END_REF], [Rinderle et al., 2006a], [Rinderle et al., 2006b]. The study [Salaun and Roohi 2009] was classified in the runtime adaptation group, but all the others of the this strategy category were considered as performing a design-time adaptation, what may reveal that process calculus and FSM-based adaptation are also proper techniques to operate at design time.

The studies [Rinderle et al., 2006a] and [Rinderle et al., 2006b] will be presented together, since they are complementing papers of the same authors.

[Brogi et al., 2004]

Paper question/issue: The authors address the following questions: What kind of properties can be inferred from the WSCI descriptions 11 ? How such properties can be proved? In case two web services are not compatible to interoperate, is there a way to remedy such situation by adapting them?

Replaceability and compatibility are the two flip sides of the interoperability coin. In particular, replaceability refers to the ability of a software entity to substitute another one, in a way that the change is transparent to external clients [8]. This issue is not difficult to solve at the WSDL level, as it simply consists in checking that the interface of a new web service contains all the operations of the service to be replaced. However, the situation is different at the behavioral level:

i. First, we need to check whether the services required by the substitute when implementing the old service's methods are a subset of those required by the old one. Otherwise, it may be necessary to add some new services to the system when replacing the old service with the new one. ii. The behavior (i.e., relative order among incoming and outgoing messages) of the new-version service should be consistent with that of the old one.

The first issue (i) can be easily managed, since required operations are explicitly declared in the WSDL interface of the services. For the second issue (ii), the authors propose a specific mechanism for behavioral sub typing of processes (less restrictive than bi-similarity). Such mechanism, which relies on CCS process algebra, allows one to decide whether a given web service with behavioral description WS1 can be replaced by another one with behavioral description WS2, while keeping clients unaware of the change. More details about this mechanism are given in the paper.

A formal notion of web service compatibility (in the context of WSCI) is also given in the paper. We will not present the compatibility analysis and adaptor generation algorithm proposed by the authors since they are oriented towards service composition synthesis (see Appendix D).

The translation into CCS presented in the paper should be extended to support full WSCI, including constructs such as correlations, transactions, properties, and others that have not been considered within the study. No influence factors are explicitly given by the authors and we were not able to identify any candidates. The replaceability analysis presented is applicable in the context of WSCI choreographies. Furthermore, one should be able to translate WSCI interfaces into CCS process algebra in order to use the proposed replaceability analysis.

In a nutshell, the authors showed how WSCI Web service choreographies can be formalized using a process algebra approach (CCS) and the benefits that can be obtained from such formalization. These benefits include the definition of compatibility and replaceability tests between Web services and the automatic generation of adaptors that can bridge the differences between a priori incompatible Web services. Also, the authors showed how existing formal methods can be successfully applied in the context of Web services, providing useful and practical advantages.

[Salaün and Roohi, 2009]

Paper question/issue: Since choreography specification, correctness, realizability and implementation are crucial issues in SOC (Service-Oriented Computing), this study proposes a dynamic reconfiguration strategy that relies on choreography realizability check techniques.

In this study, a choreography is implemented as a set of independent peer processes and Chor calculus is used to describe such peers from a global view (Chor is a simple process language, and a simplified model of WS-CDL). The study proposes an encoding of Chor into process algebra, enabling the use of existing tools to compare peer behaviors and check choreography realizability. Each peer is described as a Labeled Transition System (LTS).

This paper also proposes some techniques to check if a reconfiguration is possible: a new choreography is defined in Chor language and the realizability of this reconfiguration is checked. A choreography specification is realizable if the reconfiguration maintains the behavior of composed peers, also keeping them free from deadlocks. Such reconfiguration corresponds to the addition or removal of service interactions at run-time (with respect to the original choreography).

The reconfiguration check process receives as input two choreographies (the initial one and the reconfigured one). A trace which contains the history of interactions of a current execution is obtained from the initial choreography. If the trace can be executed in generated peers from the new choreography, then the new choreography is accepted and the actual peers matching an abstract description are taken from databases of peers, instantiated and executed (using the history stored in trace). Nevertheless, this check only verifies if the actions before reconfiguration can be reproduced in the new choreography. In order to preserve the expected behavior of the former choreography, the test checks if all traces that can be executed from the former choreography state can also be executed from the new choreography state. A third possible reconfiguration test checks for each new peer if all interactions are reachable from its current state, even after all the modifications (added and removed interactions). We were not able to recognize any influencing factors in this strategy. Paper question/issue: Enterprises define choreographies across different organizations. However, the issue raised when one of the partners makes changes in this cross-organizational process is not adequately dealt. In general, it is not possible to assume that changes in own private process have no impact on partner's public or private process.

[ Rinderle et al., 2006a] and [Rinderle et al., 2006b] present an approach that allows a controlled evolution of choreographies. The authors discuss how a change in a private process may affect the public processes of the own enterprise and how they can be propagated to others partners' process. In order to be able to determine if a change must be propagated, the papers introduce a formal model based on annotated Finite State Automata.

In the tool implemented and described in these papers, message sequences that can handled by public processes are represented using annotated Finite State Automata (aFSA) in order to be able to reason about the correctness of choreography definitions and changes. A specification of a public process can be obtained from the specification of a private one automatically.

When a process is modified, two steps are necessary: to check if the changes add message sequences to the public process automaton or remove message sequences from it, and to calculate if inconsistencies are raised. If there are inconsistencies, the changes in the public process are propagated to the partner's public process. Due to the autonomy of the partners and to the privacy of business decisions, an automatic adaptation on partner's private process is not desired, but the proposed framework assists the user in correctly accomplishing this task by suggesting adaptations.

In order to check if two public processes are consistent, the two aFSAs of the two processes are intersected. If the intersection is empty (this check is based on automaton emptiness text, or it is checked if the automaton contains a path to final stage), then these two processes are inconsistent. However, if the processes are consistent no change propagation is needed for both additive and subtractive modifications. We were not able to recognize any influencing factors in this strategy.

Miscellaneous

This category encompasses studies that did not fit into any of the previous categories. There are two studies in this category [START_REF] Nabuco | Model-Based QoS-Enabled Self-Healing Web Services Database and Expert Systems Application[END_REF] and [START_REF] Decker | Scenarios and techniques for choreography design[END_REF]. In particular, the study from Decker and Riegen discusses which existing techniques from other domains (such as object oriented programming) can be extended in order to deal with choreography adaptation issues. Therefore, since it does not exactly propose an adaptation strategy, no limitations and no influencing factors were identified.

2. based on the runtime behavior of the processes. However, techniques for generating choreographies out of interconnected interface processes are missing in several languages.

-

Choreography context expansion

This approach aims to broaden the reach of choreography, i.e. makes it applicable to a broader context, enabling new kinds of participants to join the choreography.

We have to consider the processes interfaces and the choreography model in order to get a new expanded choreography.

The presented strategy is about to identify what parts of interface processes apply to which context and to include, then, corresponding interactions into the expanded new choreography. We therefore need process model synthesis techniques, which can be found in the space of objectoriented computing [START_REF] Koskimies | [END_REF] or in the field of message sequence charts [Uchitelet al., 2003].

The current limitations to this approach are: extensions for choreography languages are missing the notion of explicit variability points, where different variants of the choreography can be defined for different business contexts; process model synthesis techniques have to be conceived for integrating potential interactions into choreographies; and the topic of conformance, between the original choreography and the new one, has to be revisited since bi-simulation-based techniques are too restrictive.

-

Collaboration unification

The goal is to enable the collaboration between participants from different and disjoint choreographies through a unified new choreography for all participants. Each disjoint group of collaborating services is called "islands of collaboration".

Collaboration unification consists of two steps: 1.

Choreography models for each island are built based on the minimal interaction constraints identified among participants.

2.

The different choreographies have to be merged

The authors have seen that techniques for extracting minimal constraints in choreography and for merging conflicting process model structures into a unified choreography are missing.

Study evaluation criteria analysis

We evaluated each selected primary study according to seven pre-defined evaluation criteria (Section 3.5) in order to perform a meta-analysis. Table 10 shows the results of such assessment. Since the study from [START_REF] Decker | Scenarios and techniques for choreography design[END_REF] does not explicitly propose an adaptation strategy, it was discarded from the analysis.

In order to make the results of Table 10 more readable, we summarize the criteria questions (from Q1 to Q7) here: Q1 -clear description of the strategy objectives; Q2 -description of the strategy applicability context and pre-conditions; Q3 -description of the strategy limitations and drawbacks; Q4 -strategy evaluation; Q5 -discussion on the strategy scalability; Q6 -dynamic service reconfiguration support; Q7 -implementation in a tool. papers having an informal discussion of the applicability context and pre-conditions. However, the standard deviation value is high (0.38), meaning that there is a significant amount of papers whose Q2 value is either 0.0 or 1.0. Question Q3 refers to the existence of an explicit description of the strategy's limitations and drawbacks. Only 7 out of 17 studies explicitly described the limitations and drawbacks of the proposed strategy. This lack of information poses difficulties to choose an adaptation strategy to be employed in a real scenario. The high standard deviation value (0.48) was somehow expected, since this question could only be answered with either 0.0 or 1.0. Question Q4 regards the kind of evaluation method that was used to assess the strategy. The average value is close to 0.5, which corresponds to papers providing an example of usage or a proof of concept of the proposed strategy. Although the standard deviation value is lower than the previous criteria deviation, it still shows some dispersion of the values around the central tendency (Table 11). Question Q5 concerns the existence of a discussion about the strategy's scalability. Interestingly, around 70% of the studies scored 0.0 in this criterion (Table 12), which corresponds to papers having no discussion about scalability. Since choreographies were designed to support a large number of interacting services acting in a peer-to-peer fashion, this lack of information raises doubts on whether the proposed strategies adequately support large scale choreographies12 . Question Q6 relates to the strategy's support for dynamic service reconfiguration (including and removing services at runtime for the sake of adaptability). The average value is approximately 0.5, which corresponds to papers having a partial support for dynamic service reconfiguration. As only three studies scored 0.5, the standard deviation value went high (0.45). Finally, in question Q7, regards the implementation of the strategy in a tool. Only 8 out of 17 studies provided an implementing tool (the most part are prototypes). The high standard deviation value (0.50) was expected, since this question could only be answered with either 0.0 or 1.0.

Discussion and Lessons Learned

In this section we discuss our findings and lessons learned about choreography adaptation approaches and about the systematic review process itself.

Choreography adaptation strategies

The following are the lessons we learned with regard to choreography adaptation strategies:

Model-Driven Strategies. Although the distribution of the studies by adaptation category is nearly uniform, model-based approaches accounted for more than a quarter of the results (28%). This may show a tendency to model-driven development approaches, given that it leads to development processes in which systems can be designed and understood by business teams in addition to technical teams.

Dynamism.

Most of the studies were classified as presenting runtime adaptation strategy dynamism (72%). We also found out relationships between adaptation groups and dynamism categories: monitor and multi-agent based adaptation strategies are always related to runtime dynamism, sometimes presenting hybrid mechanisms. On the other hand, model-based and process calculus and FSM-based adaptations techniques seem to be more tailored to design-time adaptations, although they can also be used in the runtime context.

Influencing Factors and/or Lack Thereof. The main influencing factors we have identified were related to algorithm robustness and availability of system components, such as monitors or agents. However, in many cases it was not possible to clearly recognize the influencing factors, since most part of the studies only present a high-level description of the strategy. In particular, several fundamental aspects are commonly ignored or poorly discussed ("Study evaluation criteria analysis" section), such as scalability, limitations, drawbacks, and implementation. This lack of information occurs because most strategies are still immature and few concrete empirical examinations have been undertaken.

The systematic review process

The following are the lessons we learned along the five months spent conducting this review:

Process. Practice showed that we should have spent less time elaborating the review protocol and more time conducting iterative pilots. We have also learned that there is no way to proceed with a systematic review when inclusion/exclusion criteria are not clearly stated or not fully understood by every researcher participating in the review. Finally, we have noticed that conducting systematic reviews on emergent research topics is definitely hard, since a common terminology is not wellestablished. This poses difficulties to the elaboration of the search query and in the precise definition of the inclusion/exclusion criteria.

Sources.

Regarding the sources, ACM Digital Library and IEEE Xplore were more accurate than Web of Science, since they returned fewer results in the first place and ended up with the same number of selected results in the last selection stage. In particular, these two sources presented almost the same number of papers in every stage of the selection process. Together, ACM and IEEE accounted for 12 of the 17 selected studies. Although Web of Science returned as much results as ACM and IEEE in the last stage, two of the identified studies were not identified by them. CiteSeerX, which headed the rank of world's top repositories in July 2010, identified only 4 studies in the last selection stage and none of them were exclusive to this source. SciVerse Scopus, which claims to be the largest database of abstracts and citations of scientific studies, was indeed the source that returned the greatest number of results in the first stage (more than twice than Web of Science). Although many results were eliminated of stage 4 to 5 due to the large number of indexed areas, all final selected studies were returned by this source. Therefore, we recommend using both IEEE and ACM for a reasonable research on service choreography adaptation. For a more thorough research in the area, we recommend using Scopus along with a good citation management tool (e.g., Mendeley Desktop and Zotero).

We have also noticed that most of publication channels had exactly one paper published, what shows that studies on service choreography adaptation are spread among many different conferences and journals, which makes it harder to gather literature material about the topic.

Automation. We noticed that sources such as ACM and CiteSeerX present limited features for the export of results. We used the "Mendeley Web Importer" tool to overcome this kind of issue in an automated manner. In fact, automating data-intensive steps of the review process (such as datacollection and meta-analysis) is especially hard due to a lack of appropriate supporting tools.

Threats to Validity

In this section we present the search, selection and extraction biases, which describe decisions and actions that may have interfered in the systematic review results. After that, we present an informal sensitivity analysis. This kind of analysis supports result robustness reasoning, i.e. it helps investigating the uncertainties concerning the inclusion/exclusion of certain studies. Finally, we discuss the limitations of this systematic review.

Search, Selection, and Extraction Biases

We tried to avoid any bias related to the search string by employing as many synonyms as we could identify for the keywords. The query was also reviewed by more experienced researchers. The only search bias is related to the source selection step in the planning phase. The query was only executed in sources accessible from the Computer Science Department of University of São Paulo.

Although the well-defined inclusive approach for the selection process helped to avoiding partiality, some bias may have been introduced since only two reviewers participated throughout the whole process. More reviewers would allow the improvement of the inclusion/exclusion criteria and reduce bias. Regarding extraction bias, most part of the papers does not explicitly present the applicability context, pre-conditions, limitations, and drawbacks. Therefore, reviewers had to deduce and rationalize about these topics in some occasions. Besides that, all influencing factors were deduced by the reviewers based on previous knowledge of the area. Contacting authors and experts in the area could be an option to avoid this kind of bias. Finally, each reviewer was responsible to read and summarize (in structured abstracts) a certain portion of the selected studies. If all studies had been analyzed by both reviewers, some bias could have been avoided.

Publication bias, which refers to the problem that positive results are more likely to be published than negative results, was not addressed in this systematic review.

Sensitivity Analysis

Sensitivity analysis deals with result robustness, i.e. it consists in an investigation on whether there were uncertainties about including or excluding certain studies. We conducted an informal sensitivity analysis by computing the Cohen Kappa coefficient of agreement [START_REF] Cohen | A coefficient of agreement for nominal scales[END_REF] and the agreement percentage for stages 3, 4 and 5 of the selection process (Table 13). Both agreement percentage and Kappa coefficient value in stage 3 are high, indicating a great level of agreement between the reviewers. Although the Kappa values for stages 4 and 5 reveal the occurrence of a "fair agreement", the agreement percentages for these same stages are high (84%) and moderate (68%) respectively. A deeper investigation is needed to fully understand the discrepancy between Kappa results and agreement percentage.

Variables

The values for the agreement percentages presented in Table 13 were somehow expected, since the selection protocol had defined a more inclusive approach, i.e. controversial papers tended to persist along the selection process. The conflicts on stage 5 were resolved through oral-discussion meetings with the reviewers. Reviewers exposed the reason(s) why they decided upon the inclusion/exclusion of a particular study and then a discussion was carried out in order to reach a consensus.

Limitations of this review

It is possible that the coverage of this systematic review might be hindered due to the exclusion of rich databases such as SpringerLink, International Journal of Web Service Practices and International Journal of Web Service Research. SpringerLink was discarded because the Department of Computer Science from University of São Paulo has limited access to it (not all papers are available to download). The other two International Journals will be incorporated in a future version of this systematic review. Although we have tried several versions of the search query, it is possible that the employed one is not the most complete due to potential missing synonyms.

In this work, we applied restrictive inclusion/exclusion criteria (Section 3.2). This helped us to separate choreography-focused studies from others that dealt with web service incompatibility or dynamic replacement in more general or non-specified contexts. Nevertheless, the systematic review scope could definitely be expanded by considering less restrictive inclusion/exclusion criteria. For instance, Tosic et al. propose two different perspectives on dynamic service composition adaptation, namely (i) the renegotiation of custom-made Service Level Agreements (SLAs) and (ii) the manipulation of service offerings (classes of service) [START_REF] Tosic | Analytical comparisons of switching of web services and switching of service offerings[END_REF].

Conclusion and Future Work

Research in service choreography is still in its initial steps. In particular, the adaptation of service choreographies has not been widely explored. By the means of a systematic review, this study provided an exhaustive summary of literature relevant to this topic.

Applying our systematic review protocol, we were able to pinpoint 18 relevant studies to our research topic, which were then classified according to their adaptation strategies and dynamicity. We have noticed that fundamental aspects are commonly ignored or poorly discussed, such as scalability, limitations, drawbacks, and implementation. The deficiency in the treatment of these aspects points opportunities for improvement of existing adaptation strategies, as well as for future research in the area. The main influence factors we have identified were related to algorithm robustness and availability of system components, although in many cases, it was not possible to identify the influence factors. We have also found out that most of the works employs runtime adaptation (72%), although the leading adaptation category (model-based adaptation) is more frequently associated with designtime adaptation.

Results of this systematic review can be applied in distinct ways, such as for aiding the design and implementation of an adaptation strategy. Moreover, the identified influencing factors expose the essential aspects that can interfere in the studied strategies' behavior.

Future work encompasses incorporating additional search sources and search string keywords synonyms. Occasionally, the review scope could be broadened by applying less restrictive inclusion criteria and considering alterative perspectives on the topic, such as adaptation strategies that result from a renegotiation of custom-made Service Level Agreements [Tosic2006]. Furthermore, rejected studies could be grouped in rejection categories.

-Refinement: An activity X is said to be refined into sub-activities Y 1 to Y n if the fulfillment of all the sub-activities leads to the fulfillment of X. That is: R(X,Y i ): Fi(X) ↔ Fi(Y 1 ) ^ … ^ Fi(Y i ) ^ … ^ Fi (Y n ). Also, by definition, X comes to existence before any Y i . That is, the creation event of each Y i can only occur after that of X. Hence, Cr(Y i ) → Cr(X). We use R(X,Y i ) to denote refinement, for all Y i that is a sub-activity of X. The next step involves inferring message constraints from the activities and their relations. Let E denote the set of all events occurring in the interaction. Each element of E can be one of: Cr(X), Fi(Y), M s or N r , where X and Y are activities while M and N are messages. We define a partial ordering relation P over events in E. Each pair of P is in the form P(e 1 ,e 2 ), where each of e 1 and e 2 belong to E. P(e 1 ,e 2 ) denotes that "event e 1 has to precede e 2 ". By populating P with the Tropos models, constraints on the choreographed messaging are captured. We now present some of the rules stated by the authors for inferring what pairs belong to P.

-Receiving after sending: By definition, a pair P(M s ,M r ) is added to P for every message M to specify that sending of M must precede receiving of M.

-Precedence: For any pair Pr(X,Y), since activity X has to be fulfilled before Y comes to existence, then P(Fi(X),Cr(Y)) belongs to P.

-Refinement: For any pair R(X,Y) the fulfillment of Y is required for the fulfillment of X, which means that the pair P(Fi(Y), Fi(X)) is in P. Also, since X comes to existence before Y the pair P(Cr(X),Cr(Y)) is in P.

The followingstep involves deriving the choreography description from P. Ordering constraints are aggregated into an event precedence Directed Acyclic Graph (DAG) G and the ACDL description is then generated from G. Constructing G comprises (i) performing a transitive reduction on P to remove redundant pairs and (ii) choosing activities to choreograph, since activities fulfilled by means other than service interaction should be discarded in ACDL. The authors propose an algorithm for transforming G into an ACDL description that takes advantage from the potential parallelism while it is enforcing all ordering constraints in G (seeFigure 15). A detailed explanation of the algorithm steps is presented in the paper. Also, advices are given for simplifying the generated choreography, such as merging two consecutive messages (with no intervening physical activity) that are both sent by participant P1 to participant P2 in a single message that aggregates the information held in both messages.

  5) -Applicability context and pre-conditions are explicitly described (score 1.0)Q3 Is there a description of the limitations and drawbacks of the employed strategy? -Limitations and drawbacks are not explicitly described (score 0.0) -Limitations are drawbacks are explicitly described (score 1

Figure 3 :

 3 Figure 3:Quantity of paper versus selection stages

Figure 4 :

 4 Figure 4:Number of papers found in stages 2 and 5.

[

  [START_REF] Nabuco | Model-Based QoS-Enabled Self-Healing Web Services Database and Expert Systems Application[END_REF] Model-based QoS-enabled self-healing web 2008

Figure 5 :

 5 Number of studies per year

Figure 6 :

 6 Figure 6:Choreography adaptation categories distribution

Figure 7 :

 7 Figure 7:Overview of the choreography

Figure 8 :

 8 Figure 8: The four views of the choreography

Figure 9 :

 9 Figure 9:The architecture of the

Figure 10

 10 Figure 10

Figure

  Figure

Figure 12 :

 12 Figure 12:Proposed model system[START_REF] Zhao | A multi-agent collaborative model for Web Services composition[END_REF]

  10 http://en.wikipedia.org/wiki/Bisimulation 11 Notes about WSCI choreography are given in Appendix C.

Figure

  Figure 15:

Table 1 :

 1 Search String (* stands for truncation)

Table 3 :

 3 Number of papers in each source for each selection stage

Table 4 :

 4 Overview of selected primary studies

Table 5 :

 5 Paper type distribution

	Paper Type	Quantity	Percent
	Short Conference Paper	4	22%
	Conference Paper	12	67%
	Journal Article	1	6%
	Technical Report	1	6%
	PhD Thesis	0	0%
	Total	18	100%

Table 6 :

 6

	Publication	Quantity	Percent
	Year
	2004	1	6%
	2005	2	11%
	2006	2	11%
	2007	4	22%
	2008	2	11%
	2009	5	28%
	2010	2	11%
	Total	18	100%

Distribution of studies per year

Table 7 :Publication channels distribution

 7

Table 8 :

 8 Dynamism distributionThe strategies found were separated into four distinct and meaningful categories: Model-level based, Monitors based, Multi-agent based (MAS), and Process Calculus& Finite State Models based (PC & FSM).Table9and Figure6show the distribution of papers in each category.

			Dynamism	Quantity Percent
			Design-time	5	28%
			Runtime	11	61%
			Hybrid	2	11%
	Choreography	Quantity	Percent
	Adaptation
	Category
	Multi-agent	3	17%
	Model	5	28%
	Monitor	4	22%
	PC & FSM	4	22%
	Miscellaneous	2	11%
	Total	18	100%

Table 9 :

 9 Choreography adaptation categories distribution

  ,[Moo- Mena and Drira, 2007], [Moo-Mena was classified in the runtime adaptation group, but all the other model considered as performing design proper technique to operate at design time.Studies[Mahfouz et al., 2009[Mahfouz et al., are complementing papers from the same auth et al., 2007] ] will also be presented together.

	4.3.1.1	[Mahfouz et al., 2009
	Paper Question/Issue: Ever-
	Conventional choreography description languages (CDLs) are not well
	embody little domain knowledge required to reason about participants' needs. Specially, the business
	goals of participants and strategic dependencies motivating the interaction are not explicitly
	represented. Therefore, it is not clear h choreography (global view) on the process of each participant (local view). 4
		2
		0

Table 11 :

 11 Strategies Evaluation Method

Table 12 :Strategies scalability

 12

Table 13 :Sensitivity Analysis 13

 13

		Stage 3	Stage 4	Stage 5
	Cohen's Kappa coef.	Near complete agreement (0.8060)	Fair agreement (0.2426)	Fair agreement (0.2865)
	Standard Error	0.0987	0.0990	0.1089
	Agreement	94.06%	84.71%	68.29%

The complete version of the protocol is available on http://ccsl.ime.usp.br/baile

http://jabref.sourceforge.net/

http://www.mendeley.com/

http://www.intermedia.uio.no/display/madam/Home

CHOReOS is a project that has promoted research on large scale choreographies for the future internet http://www.choreos.eu/bin/view/Main/

The interpretation of Cohen Kappa values was based on information provided in: http://www.stattools.net/CohenKappa_Exp.php

Acknowledgements .......................................................................................................................................... Appendix A -Studies included in the review .....................................................................................................

Acknowledgements

The research leading to these results has received funding from HP Brasil under the Baile Project and from the European Community's Seventh Framework Programme FP7/2007-2013 under grant agreement number 257178 (project CHOReOS -Large Scale Choreographies for the Future Internet).

Marco Gerosa has receive individual grant from CNPq.

We would also like to thank both Victoriano A. P. Diaz and Fernando Hattori for working with us in the early versions of this document and Giovanna Avalone for the text review.

The research leading to these results has received funding from HP Brasil under the Baile Project and from the European Community's Seventh Framework Programme FP7/2007-2013 under grant agreement number 257178 (project CHOReOS -Large Scale Choreographies for the Future Internet).

Appendix B - [Mahfouz et al., 2008a] The limitations of this study are given by the following assumptions: (a) the speed of processing the request is constant; (b) the price of requesting for a service is constant; (c) the execution engine is never failed; (d) the failures by different servic separate and do not interfere with each other; and (e) during the data transmission process, data transmission speed does not change. Although not explicit in the paper, we believe that influencing factors include the availability of the QoS monitor and the availability of the pre replacement service. Finally, the authors make clear that the re "simple" choreographies, as not all choreography constructs are supported.

In summary, the authors propose an adaptive approach for web service composition to adapt to dynamic property of services. The contributions of the paper include: (1) approach for web service composition; (2) optimization in decentralized service composition introduction of a method of performance prediction replacement) complete as early before the invocation of the failed service as possible.

Multi-agent based choreography adaptation

Multi-agent systems (MAS) other, achieving a set of goals or accomplishment of tasks [START_REF] Lesser | Multi-Agent Systems[END_REF]. The use of agents offers modularity, which enables the handling of autonomy to use the most appropriate paradigm to sol necessary only when interdependency arises [Sycara, 1998].

The use of agents allows run removal, or replacement of services according to changes requirements. In the multi-agent factors when adapting web services choreographies. deeply explored.

Three studies explicitly use a multi choreographies: [Xu et al., 2007] clearly work with runtime adaptation) to self-update knowledge, learn, self environment. In other words, agents are autonomous a enables the self-adaptation feature of 21 strategy for adaptive service compositions [Yang et al The limitations of this study are given by the following assumptions: (a) the speed of processing the request is constant; (b) the price of requesting for a service is constant; (c) the execution engine is never failed; (d) the failures by different service and communication links are separate and do not interfere with each other; and (e) during the data transmission process, data transmission speed does not change. Although not explicit in the paper, we believe that the availability of the QoS monitor and the availability of the pre replacement service. Finally, the authors make clear that the re-selection process is suitable "simple" choreographies, as not all choreography constructs are supported.

the authors propose an adaptive approach for web service composition to adapt . The contributions of the paper include: (1) a proposal of an approach for web service composition; (2) presentation of an EX-QoS model for achieving global optimization in decentralized service composition (and corresponding heuristic algorithm a method of performance prediction to make the re-selection before the invocation of the failed service as possible.

agent based choreography adaptation

(MAS) are systems where programs called "agents" interact other, achieving a set of goals or accomplishment of tasks [START_REF] Lesser | Multi-Agent Systems[END_REF]. The use of agents offers the handling of complex, large or unpredictable problems. Each agent has autonomy to use the most appropriate paradigm to solve its particular problem and the coordin interdependency arises [Sycara, 1998]. allows run-time changes on web services composit services according to changes with the environment or users agent adaptation approach, the agents themselves when adapting web services choreographies. In these papers, the agents' behavior is not dies explicitly use a multi-agent strategy to dynamically adapt web services

, 2007], [START_REF] Zhao | A multi-agent collaborative model for Web Services composition[END_REF] and [Morreale et al., 2007] ly work with runtime adaptation). The strategies employed are supported by , learn, self-analyze, and adjust their own behavior environment. In other words, agents are autonomous and have self-adaptation ability, which in turn adaptation feature of a multi-agent system [Xu et al., 2007].

et al., 2009].

The limitations of this study are given by the following assumptions: (a) the speed of processing the request is constant; (b) the price of requesting for a service is constant; (c) the e and communication links are separate and do not interfere with each other; and (e) during the data transmission process, data transmission speed does not change. Although not explicit in the paper, we believe that the strategy the availability of the QoS monitor and the availability of the pre-backup selection process is suitable only for the authors propose an adaptive approach for web service composition to adapt a proposal of an adaptive QoS model for achieving global and corresponding heuristic algorithm); (3) the selection (for updating the before the invocation of the failed service as possible. are systems where programs called "agents" interact with each other, achieving a set of goals or accomplishment of tasks [START_REF] Lesser | Multi-Agent Systems[END_REF]. The use of agents offers or unpredictable problems. Each agent has ve its particular problem and the coordination is n web services compositions, such as addition, the environment or users' themselves are the main influencing In these papers, the agents' behavior is not to dynamically adapt web services

, 2007] (all of these studies ed by agents that are able and adjust their own behavior according to the adaptation ability, which in turn 4.3.3.1 [Xu et al., 2007] Paper question/issue: Web services are increasingly being used in a wide range of applications. However, existing web services standards do not handle dynamic compositions. In general, web services compositions address users' request that cannot be accomplished by single services and includes discovering, adding, executing and monitoring a set of services. Thus, because of the complexity of these operations, a human controller handles composition process unsatisfactorily.

This paper proposes a framework using Spi Calculus MAS-based that includes mechanisms such as service selection and dynamic service binding in order to increase the adaptability of web service composition and agile the customers' requirements adaptation. The proposed framework solves the web service dynamic autonomous flexibility problems in two aspects: the agent's structure and the conversations among agents. An agent has self-adaptation ability because he can update, continually learn, he can self-analyze and adjust his own behavior. Further, an agent can learn from other agents their roles or teach him to another one. Therefore, if an agent has some faults, another agent can play the faulty agent's role actively, improving the system robustness.

The CSMWC (collaborative structure of MAS for the web services composition) framework is formally described using Spi Calculus and aims for security-aware dynamic web service composition. The framework structure has four types of agents: user-service-agent, web-service-agent, compositeservice-agent, and database-agent. The user-service-agent (or USA), is responsible for interact with the user, providing application domain and achieving users requests. The USA seeks for a compositeservice-agent and checks the web-service-agents that can provide web services in order to accomplish USA goals. The web-service-agent (or WSA) offers web services to others. The composite-service-agent (or CSA) is a connector responsible for the management and monitoring, and for guaranteeing that an appropriate WSA is involved, checking the context through a Spi Calculus formal procedure. The database-agent (or DA) facilitates access to the user database, handling registration and removal of negotiator agents from the global agent directory. Using this directory, agents can find available agents to connect.

Regarding influencing factors, we believe that the availability of these four types of agents may influence the effectiveness of the strategy. If some of these agents are unavailable or overloaded, the framework would have some issues that are not addressed in this paper explicitly.

The authors claim to have verified the features of the designed framework through the SPRITE tool. However no description about the validation procedure was explicitly presented.

[Zhao et al., 2009]

Paper question/issue: In face to open and dynamic environments, orchestrations or web services' compositions with a centralized control are not flexible enough. This paper proposes a self-adaptive web services' composition model based on a choreography model and multi-agent system techniques.

The paper proposes the creation of three layers: (i) requirements layer, (ii) agent layer, and (iii) web services layer. The roles and their dependencies, in requirements layer, are abstracted from system designers' requirements. In the next layer (agent layer), there are two different Agents: Role Agents and Manage Agent.

The Role Agents are responsible for playing suitable roles, which can be designed with the following contractual responsibilities regarding defined actions: permission, obligation, and prohibition; such responsibilities are expressed in a first-order logic fashion. The Manage Agent is responsible for monitoring system behavior and Role Agents; it also deals with the systems evolution. Web services with similar functions in the web services layer register themselves in the same Role Agent.

[Nabuco et al., 2008]

Paper question/issue: The effectiveness use of SOA requires service guarantees; in particular the services must be available, reliable, secure, and stable, in accordance to QoS requisites. However, some integration issues are still opened, such as dynamic handling of failure and recovery. Selfhealability is a property that enables a system to make adjustments to restore itself automatically. This property is not only related to services absence, but also to inability of services to fulfill the QoS requirements

This paper argues that an ontology-based approach has a shared vocabulary, defining a formal language to describe classes' relationships with axioms and rules. Thus, in order to address the selfhealing issues, the paper defines an ontology. The self-healing ontology presented has the objective to describe a self-healing model, creating a shared "healing" vocabulary to project developers. This ontology is divided in some levels: each level is responsible for describing one of the characteristics of the healing intervention.

The concepts used to construct this ontology were gathered from the WS-Diamond project (Web Service Diagnosability, Monitoring and Diagnosis). In WS-Diamond, self-healing is addressed in two levels: process and interaction.

The process level acts on the BPEL flows using SH-BPEL (Self-Healing BPEL) mechanisms. The mechanism works when the diagnoser component receives a symptom from BPEL or from its internal monitoring routines. Thus, it sends a failure notification to Recovery Selector, which is responsible for determining an appropriate action. The execution engine executes these self-healing actions on web services of a process.

On the other hand, the interaction level acts on communication protocols. It intercepts messages, extending headers with QoS parameters values or processing information from SOAP envelope content. The monitoring-level connectors manage QoS by monitoring, stamping, measuring, and logging requests and responses. Some connectors can be generated and deployed automatically, in order to enable the substitution of a faulty or deficient web service by an equivalent one that does not exhibits the same interface.

The WS-Diamond project proposed a self-healing platform for monitoring web services compositions, executing the diagnosis of functional faults and QoS degradation, and for executing repair actions. We were not able to recognize any influencing factors in this strategy.

[Decker and Riegen, 2007]

Paper question/issue: The main motivation for introducing choreographies was to enable a modeldriven approach for service design and implementation. However, many application scenarios cannot be covered using such top-down design approaches. Existing services and processes are the starting point for identifying existing choreographies or for creating to-be choreographies.

The authors discuss three different choreography-design approaches: choreography identification, choreography context expansion, and collaboration unification. Missing techniques for their implementation are highlighted.

-

Choreography identification

It is an approach to produce a choreography model of an already executing and not-specified choreography, which has several participants that only know about the interactions in which they are directly involved.

The main goal behind choreography identification is to optimize the overall collaboration. Only by having the global picture at hand, partners can see what interactions and dependencies exist globally and which of these might be removed or organized differently.

This process can be done either: 1. based on the process implementations and the processes interfaces or [Xu et al., 2007] 1.0 0.0 0.0 1.0 0.5 1.0 1.0 [START_REF] Zhao | A multi-agent collaborative model for Web Services composition[END_REF] 1.0 0.0 0.0 0.5 0.0 1.0 0.0 [Paspallis and Papadopoulos, 2005] 1.0 0.5 0.0 0.0 0.5 1.0 1.0 [Morreale et al., 2007] 1.0 0.0 0.0 0.5 0.0 1.0 1.0 [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] 1.0 0.5 0.0 0.0 0.0 1.0 0.0 [Fabra et al., 2008] 1.0 0.0 0.0 0.5 0.5 0.5 1.0 [START_REF] Rinderle | On the Controlled Evolution of Process ChoreographiesData Engineering[END_REF] 1.0 0.5 0.0 0.5 0.0 0.5 1.0 [Brogi et al., 2004] 1.0 1.0 1.0 0.5 0.0 0.0 0.0 [Mahfouz et al., 2009] 1.0 0.5 1.0 0.5 0.0 0.0 1.0 [START_REF] Nabuco | Model-Based QoS-Enabled Self-Healing Web Services Database and Expert Systems Application[END_REF] 1.0 0.5 0.0 0.0 0.5 1.0 0.0 [START_REF] Moo-Mena | Reconfiguration of Web Services Architectures: A model-basedapproachComputers and Communications[END_REF] 1.0 1.0 1.0 0.5 0.0 0.0 0.0 [START_REF] Ezenwoye | Monitoring Decentralized Interacting Services with a Global State Choreography Model Web Services (ICWS)[END_REF] 1.0 1.0 0.0 0.0 0.0 1.0 0.0 [START_REF] Salaün | Nima On realizability and dynamic reconfiguration of choreographies[END_REF] 1.0 0.5 1.0 0.5 0.0 0.0 0.0 [START_REF] Rinderle | On the Controlled Evolution of Process ChoreographiesData Engineering[END_REF] 1.0 0.5 0.0 0.5 0.0 0.5 1.0 [START_REF] Yang | Performance Prediction Based EX-QoS Driven Approach for Adaptive Service Composition[END_REF] 1.0 1.0 1.0 1.0 1.0 1.0 0.0 [START_REF] Moo-Mena | Reconfiguration of Web Services Architectures: A model-basedapproachComputers and Communications[END_REF] 1.0 1.0 1.0 0.5 0.0 0.0 0.0 [Mahfouz et al., 2009] 1.0 0. Although the scores of a single study have little meaning, a vertical analysis corresponding to the average score and standard deviation value of each evaluation criterion provides meaningful information. Figure 13 shows the average score and standard deviation value for all evaluation criteria. Every paper fully addressed the question Q1, i.e. they presented a clear description of the adaptation strategy goals. Question Q2 refers to the existence of a description of the strategy's applicability context and pre-conditions. The average value is approximately 0.5, which corresponds to Appendix A -Studies included in the review [Xu et al., 2007]

Appendix B -[Mahfouz

The authors developed a choreography customization framework that can be summarized by the following steps (Figure 14). An overview of (1) and the details of ( 3) and ( 4) are presented in the paper, whereas (2) and more validation are given in [Mahfouz 2007]. Ordering constraints on choreographed and GA models. More precisely, such constraints are obtained from three kinds of relations between activities. We now present some of the terminology used by the authors • Terminology: Cr(X): creation event of activity X, i.e. Fi(X): fulfillment event of activity X, i.e. whenever an activity is completed M s , M r : event of sending and receiving a message M respectively • Relations between activities that embed ordering constraints:

-Dependency: An activity X is said to depend on another activity Y if X requires for its fulfillment information produced when Y is fulfilled, where X and Y Fi(X) → Fi(Y) ^ X.actor≠Y.actor

We denote the dependency as D(X,Y) -Precedence: An activity X is said to precede Y if i.e. Cr(Y) → Fi(X). We denote prece 36

[Mahfouz et al., 2008a]: Choreography derivation algorithm

The authors developed a choreography customization framework that can be summarized by

). An overview of (1) and the details of ( 3) and ( 4) are presented in the paper, whereas (2) and more validation are given in [Mahfouz et al., 2008b] and

Overview of the choreography customization framework [Mahfouz

Representing choreographed interactions at the level of organizational dependencies Performing required customizations in models of organizational requirements, to benefit from domain knowledge Inferring constraints on messaging from requirements models. Deriving the resulting choreography description in an automated manner from the messaging ring constraints on choreographed-messaging are inferred from relations embedded in AD and GA models. More precisely, such constraints are obtained from three kinds of relations between present some of the terminology used by the authors and these activities relations:

Cr(X): creation event of activity X, i.e. when the actor has to start performing the activity Fi(X): fulfillment event of activity X, i.e. whenever an activity is completed receiving a message M respectively Relations between activities that embed ordering constraints:

Dependency: An activity X is said to depend on another activity Y if X requires for its fulfillment information produced when Y is fulfilled, where X and Y are performed by different actors. That is:

We denote the dependency as D(X,Y) Precedence: An activity X is said to precede Y if the fulfillment of X has to precede the creation of X, Fi(X). We denote precedence, which is a transitive relation, as Pr(X,Y)

Choreography derivation algorithm

The authors developed a choreography customization framework that can be summarized by

). An overview of ( 1) and the details of ( 3) and ( 4) are presented in the ] and [Decker and Riegen, [Mahfouz et al., 2009a].

Representing choreographed interactions at the level of organizational dependencies models of organizational requirements, to benefit from Deriving the resulting choreography description in an automated manner from the messaging inferred from relations embedded in AD and GA models. More precisely, such constraints are obtained from three kinds of relations between and these activities relations:

the actor has to start performing the activity Dependency: An activity X is said to depend on another activity Y if X requires for its fulfillment are performed by different actors. That is:

fulfillment of X has to precede the creation of X, dence, which is a transitive relation, as Pr(X,Y)

Appendix C -Notes on WSCI

The WSCIchoreography language can raise the level of expressiveness currently provided by web service descriptions. WSCI captures not only static information about the signature and direction of the operations supported by a given web service, but also the dynamic information (i.e. the behavior or protocol of the service [9]). This dynamic information describes the partial order in which messages are expected to be exchanged during the collaborations in which the web service may engage in.

On the top of WSDL, WSCI is a proposal of an XML-based language used to describe the flow of messages exchanged by a web service. It allows the description of the observable behavior of a web service in a message exchange. WSCI describes a one-sided interface for a single web service, i.e., the message exchange is described from the point of view of each web service. In a sense, a WSCI choreography specification is given by a group of WSCI interfaces. In the most common scenario, a web Service has only one WSDL interface and multiple WSCI interfaces for multiple contexts.

A WSCI global model permits a global view of the overall message exchange among the set of web services involved in a conversation. It imports all the WSCI descriptions of all communicating participants, and links the names of individual operations on each service. More precisely, it provides a set of connections (or mappings) between pairs of individual operations from communicating participants.

Appendix D -[Brogi et al., 2004]: Web service compatibility analysis

We will consider that a software system, formed by the composition of several entities specified in process algebra, is compatible when it terminates without requiring any interaction with its environment, i.e. when it always performs a finite number of silent actions τ leading to the inaction 0. However, the majority of client/server systems is not terminating, since servers usually provide their services running on an infinite loop. Therefore, we must extend this definition in order to accommodate also infinite sequences of silent actions. Thus, we give a negative definition, saying that a system (isolated from its environment) fails whenit may perform a finite sequence of silent actions leading to a process which is structurally different from the inaction, and that cannot perform any further action by itself. Now we can say that a system is compatible(or succeeds) when it does not fail. Then, for analyzing compatibility, we proceed recursively by matching the input and output actions that the different system components may perform at a given point, until we arrive either to inaction, or to a repeated state in the analysis.

In the following example, it is evident that both choreography interfaces are not compatible: the local choice in the service between actions bookingConfirmation and bookingRefusal is not supported by the client, who just assumes the former as the only possible answer of the service. More details about this compatibility analysis are given in the paper. By formalizing the WSCI interface of each participant in terms of CCS algebra, the authors' approach aims at providing a notation for specifying the required adaptation between two services in a general and abstract way. The adaptor specification consists of a set of correspondences between actions and parameters of the two services. For instance, the adaptor specification expressing the intended adaptation for the BookTrip process and the following Client process can be simply given by: ( ("Abstract":choreography OR "Abstract":"decentralized composition" OR "Abstract":"decentralized service composition" OR "Abstract":"distributed composition" OR "Abstract":"distributed service composition" OR "Abstract":"decentralized interacting services") AND ( ("Abstract":customizable OR "Abstract":customizing OR "Abstract":customization) OR ("Abstract":"self-configurable" OR "Abstract":"self-configuring" OR "Abstract":"self-configuration" OR "Abstract":"auto-configurable" OR "Abstract":"auto-configuring" OR "Abstract":"auto-configuration" OR "Abstract":"self-healing") OR ("Abstract":adapt* OR "Abstract":reconfig*) ) )

Search Result URL:

http://ieeexplore.ieee.org/search/searchresult.jsp?action=search&sortType=&rowsPerP age=37&matchBoolean=true&searchField=Search%20All&queryText=%28%20%28.QT.Abstract.Q T.:choreography%20OR%20%0A%20%20.QT.Abstract.QT.:.QT.decentralized%20composition.QT .%20OR%20.QT.Abstract.QT.:.QT.decentralized%20service%20composition.QT.%20OR%20%0A% 20%20.QT.Abstract.QT.:.QT.distributed%20composition.QT.%20OR%20.QT.Abstract.QT.:.QT .distributed%20service%20composition.QT.%20OR%20%0A%20%20.QT.Abstract.QT.:.QT.decen tralized%20interacting%20services.QT.%29%20%0A%20AND%20%0A%20%28%0A%20%20%28.QT.Abs tract.QT.:customizable%20OR%20.QT.Abstract.QT.:customizing%20OR%20.QT.Abstract.QT.: customization%29%20%0A%20%20OR%20%0A%20%20%28.QT.Abstract.QT.:.QT.selfconfigurable.QT.%20OR%20.QT.Abstract.QT.:.QT.selfconfiguring.QT.%20OR%20.QT.Abstract.QT.:.QT.selfconfiguration.QT.%20OR%20%0A%20%20%20.QT.Abstract.QT.:.QT.autoconfigurable.QT.%20OR%20.QT.Abstract.QT.:.QT.autoconfiguring.QT.%20OR%20.QT.Abstract.QT.:.QT.autoconfiguration.QT.%20OR%20%0A%20%20%20.QT.Abstract.QT.:.QT.selfhealing.QT.%29%20%0A%20%20OR%20%0A%20%20%28.QT.Abstract.QT.:adapt*%20OR%20.QT.Abstr act.QT.:reconfig*%29%0A%20%29%20%0A%29 ( (choreography OR "decentralized composition" OR "decentralized service composition" OR "distributed composition" OR "distributed service composition" OR "decentralized interacting services") AND ( (custom*) OR ("self-configurable" OR "self-configuring" OR "self-configuration" OR "auto-configurable" OR "auto-configuring" OR "auto-configuration" OR "self-healing") OR (adapt* OR reconfig*) ) )

Search Result URL:

http://citeseerx.ist.psu.edu/search?q=abstract:((++(choreography+OR++++%22decentral ized+composition%22+OR+%22decentralized+service+composition%22+OR++++%22distributed +composition%22+OR+%22distributed+service+composition%22+OR++++%22decentralized+int eracting+services%22)+++AND+++(+++(custom*)++++OR++++(%22self-configurable%22+OR+%22self-configuring%22+OR+%22self-configuration%22+OR+++++%22auto-configurable%22+OR+%22auto-configuring%22+OR+%22auto-configuration%22+OR+++++%22self-healing%22)++++OR++++(adapt*+OR+reconfig*)++)++))&submit=Search&sort=cite&ic=1

Applied Filters: None