Nawal Guermouche:http://www.loria.fr/~guermona/index.html

I am a PhD student at LORIA/INRIA Lorraine. I am a member of the ECOO research team

发表论文:

Nawal Guermouche and Claude Godart. Timed Properties-Aware Asynchronous Web Service Composition. In Proceedings of the 16th International Conference on Cooperative Information Systems (CoopIS'08). Monterrey, Mexico, November 12 - 14, 2008. (Service Composition Using FSA)

Nawal Guermouche, Boualem Benatallah, and Claude Godart. Data Messaging Based Approach For Web Service Composition. In Proceedings of the IEEE International Conference on e-Business Engineering (ICEBE'08). Xi'an, China, October 22-24, 2008.

Nawal Guermouche and Claude Godart. Toward Data Flow Oriented Services Composition. In Proceedings of the 12th International IEEE Enterprise Distributed Object Computing Conference (EDOC'08). Munich, Germany, September 15-19, 2008.(Service Composition Using FSA)

Nawal Guermouche, Olivier Perrin, and Christophe Ringeissen. A Mediator Based Approach For Services Composition. In Proceedings of the 6th International Conference on Software Engineering Research, Management and Applications (SERA'08). Prague, Czech Republic, August 20-22, 2008.(Service Composition Using FSA)

Nawal Guermouche, Olivier Perrin, and Christophe Ringeissen. Timed Specification For Web Services Compatibility Analysis. in Electr. Notes Theor. Comput. Sci., vol. 200, no 3, 2008, p. 155-170. (Service Composition Using FSA)

Nawal Guermouche, Salima Benbernou, Emmanuel Coquery, and Mohand-Said Hacid. Privacy-Aware Web Service Protocol Replaceability. In Proceedings of the IEEE International Conference on Web Services (ICWS'07). Salt Lake City, Utah, USA. July 9-13, 2007.

Toward Data Flow Oriented Services Composition

 服务组合的两种类型:    

      Service composition involves two different issues [1]:

       (1)the synthesis (how to coordinate the component services to fulfill a given goal)(given a set of existing services in order to satisfy a client request.),

       (2)the orchestration (how to execute the previous obtained specification by supervising and monitoring both the control flow and the data flow among the involved services).

以前服务组合所存在的问题:

   the proposed frameworks that address the synthesis problem assume that the abstract description of the awaited composition must be precisely articulated [3, 2, 10, 6], i.e., the operations sequences must be specified.

  Then the composition approach tries to find a precise matching of the abstract application with available,more elementary services.

问题:1、precisely defining the abstract application according to the operations and messages of the available services seems to be restrictive.

         2、a simple client does not have any preliminary knowledge about the services’ operations (resp. messages), hence he/she cannot define his need on top of services’ operations.

解决方案:A possible solution for fulfilling the composition when the above mismatches arise is to build a third party service, called mediator.

认识OWL-S:

     OWL-S is a high level ontology-based language for describing web service properties. In this language, each web service is specified in three XML-based parts: service profile,which describes what the service does?; service model,which describes how does the service work (behave); and service grounding, which provides details on how to invoke a service via messages [8]. From the three types of informationprovided by OWL-S, we concentrate on the last two because they describe the behavior and the correspondence of the inputs/outputs of Web services to WSDL messages. OWL-S describes the behavior of a Web service by means of the atomic processes the service can perform. An atomic process corresponds to a WSDL operation and each input (resp. output) of an atomic process corresponds to an input (resp. output) WSDL message. So, as seen in Figure 1, an atomic process having inputs and/or outputs can be represented as a sequence of input and/or output messages.

    OWL-S allows the description of the external behavior of a Web service by using a semantic model, in which each involved atomic process is described semantically in terms of inputs, preconditions, outputs, and effects (IPOEs). An atomic process corresponds to a WSDL operation the service can perform. An atomic process with inputs but no outputs corresponds to a WSDL one-way operation. Whilst, an OWL-S atomic process with both inputs and outputs corresponds to a WSDL request-response operation. A composite process with both outputs and inputs, and with the sending of outputs specified as coming before the reception of inputs, corresponds to WSDL’s solicit-response operation. Finally, an atomic process with outputs but no inputs corresponds to a WSDL notification operation.

   To describe the control flow relation between atomic processes, OWL-S defines the following structures: (1) Sequence: all components are performed sequentially, (2) If-then-else: the selection based on some clearly defined conditions,(3) Choice: the selection depends on some informastion, (4) Repeat-while: the component is performed repeatedly while certain conditions are satisfied, (5) Repeat-until: the component is performed repeatedly until some conditions hold, (6) Anyorder: the components are performed in an order decided at runtime, (7) Split: specifies that the components are activated and performed in parallel, and (8) Split+Join: specifies that a component is not activated until the parallel execution of the preceding components terminates. Figure 2 illustrates the correspondence between OWL-S operators and automaton specification counterpart.

 

 

 

 

 

 

 

 

 

 

 

 

 

认识Services conversation:

    By performing the mapping step we described above, we obtain the conversational protocol of services that specifies the message choreography constraints. We model a conversational protocol of a Web service as a conversational automata. In these automata, the alphabet consists of exchanges of messages. A message is either sent or received. An output message is denoted by !m, whilst an input one is denoted by ?m. A message involving a list of data is denoted by m(d1; : : : ; dn), or m( d) for short. Transitions are labeled by constraints over data. Constraints we consider are defined as conjunction of atomic formulas d*val, where val is a possible value for the parameter d, and * is binary relation to compare the value of d and val. These constraints correspond to the OWL-S preconditions.

     Definition 1   A conversational protocol Q is a tuple (S; s0; F;M;C; T) where S is a set of states, s0 is the initial state, F is a set of final states (F subsumed S), M is a set of messages, C is a set of constraints over data, and T is a set of transitions such that T  S*M*C*S with an element of the alphabet (exchanged message) and a constraint over data.

Solving the composition problem:

    The basis idea of our composition framework is to try to fulfill the requester service by building P2P connections between the available services (i.e., the discovered services [9]).(服务请求者和所提供的服务进行点对点连接,在此处所提供的服务是通过服务发现得到的Efficient semantic service discovery)

    When the P2P connections fail (due to broken messages flow), we try to generate a mediator that tries to step in to succeed the connection.

    In the context of our work, we define two steps: (1) creating P2P connections, and (2) generating the mediator. In the following we will explain each step.

Building P2P connections:

    In order to satisfy the client service, we first try to combine the client service with the available services, by defining channels. A channel allows to create P2P connections. Intuitively, a channel defines the sender service, the receiver service, and the exchanged message that goes through the channel. The ordered finite set of channels constitutes the composition schema.

By having the set of conversational protocols of the available services and the client service, our aim is to build a global automaton that characterizes the composition schema (the global automaton is called Composition Schema Automaton CSA).

To build this CSA, we introduce the concept of configuration that represents the states of the CSA at a given time. A configuration defines the evolution of the services states when they are interacting together (i.e., connected via channels). In the initial configuration, all the services are in their initial states.

 Definition 2 (A composition schema Automaton)()

 Given a client service and a set of available services, the steps we are using to build a CSA are as follows:

    (1) For each transition of each trace of the client service,The current transition tc to check is the current transition of the client service,

    (2)We check if there is a service that can be connected with the current transition of the client service.

          That means, if the current transition of the client service enables an input (resp. output) message ?in(d) (resp. !out(d)), we check if there is a service that enables the output (resp. input) counterpart.

         This step is ensured by the function P2PConnection that has as input the current configuration of the services and a transition that we would like ton connect.

    (3) If the P2P connection succeeds, we update the current state of the client service.

    (4) Else, we check if the mediator can be generated to either produce the input or to consume the output counterpart.

    (5) If it succeeds, we update the current state of the client service.

    (6) If the mediator fails, we choose one service of the available ones.

    (7) Via the function P2PConnection(), we check if the chosen transition can be connected with one of the available services.

    The function P2PConnection() allows to create a connection (i.e., a channel) between two services. To do so, this function has two inputs: the configuration of the services and a transition to connect. When the given transition enables an output (resp. input) message, P2PConnection() tries to find the service that enables the input (resp. output) counterpart. The corresponding algorithm is depicted in Figure 6

Generation of the mediator:

 

posted on 2009-05-04 21:02  服务学习  阅读(277)  评论(0编辑  收藏  举报