COCOA : Conversation-Based Service Composition for Pervasive Computing Environments Sonia Ben Mokhtar Nikolaos Georgantas Valerie Issarny ´ INRIA Rocquencourt, BP 105, 78153 Le Chesnay Cedex, France {Sonia.Ben Mokhtar,Nikolaos.Georgantas,Valerie.Issarny}@inria.fr http://www-rocq.inria.fr/arles/

ABSTRACT

nar. At the train station, Jerry has the advantage of waiting in the V.I.P. room. In this room, besides the wonderful French buffet, a number of digital services are available, among which a streaming service used to stream digital resources on users portable devices, and a large flat screen that continuously disseminates news. Today, exceptionally, Jerry arrives early at the train station. When he enters the V.I.P. room, nobody is there. He decides to visualize a movie that he started to watch the day before, but that he did not finish because he was very tired. Jerry uses the e-movie application that he has on his PDA to which he gives the title of the movie that he wants to watch. This e-movie application has the ability to discover the display devices available in the reach of the user and to select the most appropriate device. More precisely, if a larger screen than the user’s PDA screen is found in the user’s reach, and if the user’s context allows it (e.g., nobody is in the same room), this application displays the movie on that screen. Furthermore, if the user’s context changes (e.g., the user leaves the room or a person enters in the room), the application has the ability to transfer the video stream to the user’s PDA. When the train arrives at the station, Jerry takes hold in the train and continues to watch his movie on his PDA up till the train departure...”.

Due to the large success of wireless networks and handheld devices, the pervasive computing paradigm is becoming a reality. One of the most challenging objectives to be achieved in pervasive computing environments is to assist users in realizing tasks anytime, anywhere, on the fly, by composing functionalities provided by the networked services of the pervasive computing environment. Towards this goal, we present COCOA, a COnversation-based service COmposition middlewAre support for the dynamic composition of networked services in pervasive computing environments. Both networked services of the pervasive computing environment and user tasks are modeled as conversations using OWL-S. The distinctive feature of COCOA is then, the ability of integrating on the fly the conversations of networked services to realize the conversation of the user task. Thereby, COCOA allows the dynamic realization of user tasks according to the specifics of the pervasive computing environment in terms of available services and by enforcing valid service consumption.

1.

INTRODUCTION

Pervasive computing environments are populated with networked services, i.e., autonomous software entities, providing a number of functionalities. One of the most challenging objectives to be achieved within these environments is to assist users in realizing tasks that integrate functionalities of the networked services [18], so that tasks may be requested anytime, anywhere, and realized on the fly according to the specifics of the pervasive computing environment.

The Service Oriented Architecture (SOA), and in particular Web services, allow an homogeneous use of heterogeneous networked services that populate the pervasive computing environment. Each networked service is abstracted as a Web service, which is described in a declarative manner using the Web Services Description Language (WSDL) and communicates using standard protocols such as the Simple Object Access Protocol (SOAP) on top of Internet protocols (HTTP, SMTP). Furthermore, Web services have already been used in pervasive environments and have proved to be efficient when deployed on mobile, resource-constrained devices [8]. Thereby, the dynamic realization of user tasks in pervasive computing environments may conveniently translate into the dynamic composition of Web services, which raises a number of issues among which: the dynamics of the environment due to the mobility of users, and the syntactic heterogeneity of service descriptions.

To illustrate the kind of situations that we expect to make commonplace through our research, we present the following scenario: “...Today, Jerry is going to travel by train from Paris to Lyon, where he is going to give a talk in a working semi-

A number of research efforts addressed the dynamic composition of services in pervasive computing environments. However, most solutions commonly assume that networked services have been developed to integrate in terms of service

1

COCOA-SD, and to conversation integration, i.e., COCOACI in Section 3, followed by an assessment of our approach in Section 4. Finally, we conclude with a summary of our contribution and future work in Section 5.

interfaces and perform syntactic matching of these interfaces [18, 15], which restricts the ability to fully exploit the diversity of pervasive computing environments. Nonetheless, using the semantic Web technologies and in particular semantic Web services allows supporting semantic descriptions for services and tasks and to perform a more thorough matching [12].

2.

BACKGROUND

Dynamic realization of user tasks is one of the major challenges in mobile environments. A user task is a software application available on the user’s device, which is abstractly described in terms of functionalities to be integrated. These functionalities have then to be dynamically provided by the environment. A number of research efforts have been conducted in the area of dynamic realization of user tasks in pervasive computing environments.

Building upon semantic Web services, we present COCOA, a COnversation-based service COmposition middlewAre support for the dynamic realization of user tasks from networked services available in the pervasive computing environment. COCOA is part of a larger effort on the development of an interoperable middleware for pervasive computing environments investigated in the IST Amigo project1 . For the semantic-based composition of services in pervasive computing environments COCOA is based on the Ontology Web Language for Services (OWL-S)2 , which is one of the most prominent efforts for describing semantic Web services. In addition to semantically describing service functionalities, OWL-S allows the description of service conversations, i.e., workflows describing client/service interactions required for a valid consumption of services.

2.1

Service Composition for Pervasive Computing Environments

The Aura project [18] defines an architecture that realizes user tasks in a transparent way. The user tasks defined in Aura are composed of abstract services to be found in the environment. Gaia [15] is a distributed middleware infrastructure that enables the dynamic deployment and execution of software applications. In this middleware an application is mapped to available resources of a specific active space. This mapping can be either assisted by the user or automatic. Gaia supports the dynamic reconfiguration of applications. For instance, it allows changing the composition of an application dynamically upon a user’s request (e.g., the user may specify a new device providing a component that should replace a component currently used). Furthermore Gaia supports the mobility of applications between active spaces by saving the state of the application.

For the dynamic composition of services in pervasive computing environments, COCOA is composed of two main algorithms, a Service Discovery algorithm (COCOA-SD) and a Conversation Integration algorithm (COCOA-CI). COCOASD realizes the discovery and selection of networked services candidate to the composition. Thanks to the semantic reasoning enabled by the use of ontologies, COCOA-SD enables a more thorough matching of service functionalities. Then, COCOA-CI performs the dynamic composition of the selected services towards the realization of the target user task. The distinctive feature of COCOA-CI is the integration of services modeled as conversations, to realize a user task also modeled as a conversation. This provides a mean to deal with the diversity of services in pervasive computing environments. Indeed, integrating service conversations for the realization of a user task enables the same user task to be performed in different environments under several composition schemes (e.g., using a different number of services with different conversations). Thus, the realization of the task’s conversation is adaptive according to the specifics of the environment in terms of available networked services and their provided conversations. Moreover, COCOA enforces a valid consumption of the composed services as their conversations are fulfilled. Finally, we have implemented a prototype of COCOA and experimental results allow us to validate the relevance of the employed paradigms in pervasive computing environments.

Both Aura and Gaia provide solutions to the dynamic realization of user tasks in pervasive computing environments. However, both approaches assume framework-dependent XMLbased descriptions for services and tasks. In other words, both approaches assume that services and tasks of the pervasive computing environment are aware of the semantics underlying the employed XML descriptions. In our approach, both services to be composed and user tasks are frameworkindependent as their descriptions are based on OWL-S, a standard ontology for semantic Web services. Using OWLS, the semantics underlying service and tasks descriptions is well defined and shared, which allows composing a wide range of services and tasks coming from various environments that do not need to be COCOA-aware, as long as they are specified in OWL-S.

The remainder of this paper is structured as follows. First, we present the related research efforts in the area of dynamic composition of user tasks in pervasive computing environments and we discuss semantic-based modeling of networked services and user tasks using OWL-S in Section 2. Then, we present our approach to semantic service discovery, i.e.,

Another relevant effort for enabling ontology-based applications in pervasive computing environments has been proposed in [12]. In this approach called Task Computing, services of the pervasive computing environment are described as semantic Web services using OWL-S. Each user of the pervasive computing environment carries a composition tool that discovers on the fly available services in the user’s vicinity and suggests to the user all the possible compositions of these services based on their semantic inputs/outputs. While this approach validates the relevance of semantic Web technologies in pervasive computing environments, as fur-

1 Amigo: ambient intelligence for the networked home environment. http://www.extra.research.philips.com/euprojects/amigo/ 2 OWL-S: Semantic Markup for Web Service. http://www.daml.org/services/owl-s

2

understanding of service behavior, which is necessary to leverage the openness of pervasive computing environments.

ther discussed below, it presents some drawbacks. For instance, suggesting to the user all the possible compositions of networked services requires that the user selects the right composition among the suggested ones, which can be inconvenient for mobile users of the pervasive computing environment. Indeed, the pervasive computing environment should minimize the users’ distractions by enabling the automatic and transparent deployment and execution of user tasks.

2.2

OWL-S based service and task model We introduce an OWL-S based model for describing services and tasks of the pervasive computing environment. In this model a central concept is the notion of capability. A capability is a functionality provided by a service or requested by a task and is described as a set of IOPEs. A capability is realized by either an OWL-S atomic or composite process4 . We model both networked services and user tasks as a set of capabilities coordinated in the form of a workflow. This workflow is described using the OWL-S process model. Within the task description, the capabilities are abstract, i.e., they do not refer to any specific networked service, as these capabilities have to be dynamically provided by the pervasive computing environment and may be realized by either atomic or composite processes of networked services. Indeed, this depends on the service implementation. The same capability can be developed as a single client/service interaction or as a sequence of client/service interactions (e.g., the Amazon Web service5 has been described in the form of both a single atomic process and a complex conversation). Finally, some capabilities of the user task conversation can be specified as correlated. A set of correlated capabilities of the task must be performed by a single networked service because of the presence of internal/hidden dependencies between these capabilities (e.g., the reservation and the payment of a hotel room for which it would be inconvenient to book a room in a hotel and to pay another hotel for this room). All the other parts of the user task are considered as independent from each other, yet with external/explicit dataflow. For the realization of these independent parts of the user task, COCOA allows the interleaving of multiple services’ conversations.

OWL-S Based Service and Task Model

OWL-S is a Web service ontology specified in OWL3 , which is used to describe semantic Web services. A service description in OWL-S is composed of three parts : the service profile, the process model and the service grounding.

OWL-S service profile The service profile gives a description of a service and its provider. It is generally used for service publication and discovery. The service profile is composed of three parts: (i) an informal description of the service, oriented to a human user; (ii) a description of the service goal, in terms of Inputs, Outputs, Pre-conditions and Effects (hereafter IOPEs); and (iii) a set of attributes describing complementary information about the service (e.g., QoS attributes).

OWL-S process model The process model is a representation of the service conversation, i.e., the client/service interaction protocol that is described as a process. This description contains the specification of a set of sub-processes that are combined by some control constructs (e.g., Sequence, Parallel, Choice constructs). Sub-processes are either atomic or composite. An atomic process is the description of a functionality that receives one (possibly complex) message and returns one (possibly complex) message in response. It corresponds to a WSDL operation. A composite process is composed of a set of atomic and/or composite processes combined by a control construct. Among the set of sub-processes of the process model one is considered as the root process, i.e., the process from which the conversation starts to be executed. Both atomic and composite processes are described as a set of IOPEs.

Figure 1 provides a graphical representation of the conversation of the e-movie application involved in our scenario introduced in Section 1. This conversation is described as an OWL-S process that involves a set of required capabilities such as the Browse capability that allows browsing a video database looking for a movie, and the Stream capability that allows streaming the selected movie. These capabilities are coordinated in a workflow that describes the user task’s conversation. Nevertheless, each capability has to be matched with capabilities of the networked services and may correspond to either atomic or composite processes. Finally, the capabilities Browse and Stream are defined as correlated.

OWL-S service grounding The service grounding specifies the information that is necessary for the service invocation, such as the communication protocol, message formats, serialization, transport and addressing information. It is a mapping between the abstract description of the service and the concrete information that is necessary to interact with the service. The OWL-S service grounding is based on WSDL.

3. COCOA COCOA introduces a middleware support for service composition in pervasive computing environments. It allows a user that carries a task description on his/her handheld device, to execute this task on the fly without any previous knowledge about the networked services. Using COCOA a user task is performed in two steps. The first step is to match each capability involved in the task’s description against capabilities of the networked services. This is achieved by the

Describing networked services of the pervasive computing environment using OWL-S presents a number of advantages. First, OWL-S describes what a service does (in the service profile) and how to interact with the service (in the process model), which in turns provide the basis of Web services composition. Furthermore, these descriptions are based on ontologies enabling common and non-ambiguous 3 OWL: Web Ontology http://www.w3.org/TR/owl-ref/

4 By default, if no capability is specified in the service description, atomic processes are considered as the provided capabilities 5 http://www.daml.org/services/owl-s/examples

Language.

3

sations as finite state automata. Other approaches to formalizing Web services conversations and composition have been proposed in the literature based on Petri nets [19], process algebras [9] or finite state machines [7]. Figure 2 describes the mapping rules that we have defined for translating an OWL-S Process Model to a finite state automaton. In this model, automata symbols correspond to capabilities described as a set of IOPEs. The initial state corresponds to the root OWL-S process, and final states correspond to the end of a client/service interaction. Each control construct involved in a conversation is mapped to an automaton using the rules depicted in Figure 2. Then, these automata are linked together in order to build a global automaton. Further details about modeling OWL-S processes as automata can be found in [2].

Figure 1: Conversation of the e-movie application

Figure 3: Automaton of the e-movie application

COCOA Service Discovery algorithm (COCOA-SD), which allows the selection of a set of services candidate to the composition. The second step is to compose the task’s conversation using conversations of the selected services. This is achieved by the COCOA Conversation Integration algorithm (COCOA-CI). We use finite state automata in order to translate the problem of integrating conversations to an automata analysis problem that enables efficient service composition. P2

P1

An example of modeling an OWL-S process model as a finite state automaton is given in Figure 3. In this example, the process model of the e-movie application involved in our scenario is mapped to an automaton using the Sequence and the If-Then-Else mapping rules.

Pn

3.1

ap

ε

...

...

ε

...

ε

...

Atomic Process ap Sequence(P1,P2,...,Pn) P1

P1

ε

P1

...P2

Matching software components described semantically as a set of IOPEs has been an active field of research in the last decade (e.g., [21]). Similar algorithms have been proposed for matching semantic Web services capabilities [14, 6, 17]. Building on these efforts we present COCOA-SD an algorithm for semantic-aware matching and selection of networked services towards the realization of a target user task.

ε ...

...

.

ε

ε

ε

Repeat-Until(P1)

Repeat-While(P1)

.

... Pn

... Choice(P1,P2,...,Pn)

P1

ε

...

P2

ε

COCOA-SD is first used to match a requested service capability with a set of advertised ones. The requested capability (Req) has a set of provided inputs inReq and preconditions preReq , and a set of expected outputs outReq and effects ef fReq , whereas each advertised capability (Adv) has a set of expected inputs inAdv and preconditions preAdv and a set of provided outputs outAdv and effects ef fAdv . COCOA-SD defines two levels of matching between an advertised and a requested capability.

Start state

... Final state P1

P2

ε

...

ε

COCOA Service Discovery

Service discovery is an important function of service composition. It allows the selection of services providing capabilities that are semantically equivalent to the capabilities requested in the target user task. In our case, both the capabilities requested by the task, and those provided by networked services are described as a set of IOPEs.

Former start state

... Former final state

Split(P1,P2), Split+Join(P1,P2), Unordered(P1,P2)

Figure 2: Modeling OWL-S processes as finite state automata

• Exact-COCOA-SD(Adv, Req): – ∀in ∈ inAdv , ∃in0 ∈ inReq : in0 = in and

Towards this goal we introduce formal modeling of conver4

Figure 4: Semantic-aware Service Discovery

– ∀out0 ∈ outReq , ∃out ∈ outAdv : out = out0 and 0

matched inputs and outputs. Furthermore, the weak matching is recognized between the two capabilities, if preconditions of the provided capability can be inferred from preconditions of the requested one, and effects of the requested capability can be inferred from effects of the provided one.

0

– ∀pre ∈ preAdv , ∃pre ∈ preReq : pre ⇔ pre and – ∀ef f 0 ∈ ef fReq , ∃ef f ∈ ef fAdv : ef f ⇔ ef f 0 • Weak-COCOA-SD(Adv, Req): – ∀in ∈ inAdv , ∃in0 ∈ inReq : in0 is subsumed by in and

Compared to existing approaches to semantic matching of Web services capabilities, e.g., [14], COCOA-SD adapts the work in [21] for defining the matching of Preconditions and Effects of service capabilities. Furthermore, we notice that the subsumed level of matching defined in [14] cannot guarantee that the required functionality will be provided by the advertised service[11]. Thus, other services may be needed to satisfy the rest of expected data. Furthermore, as we match capabilities we do not want to split them between two or more services.

– ∀out0 ∈ outReq , ∃out ∈ outAdv : out is subsumed by out0 and – ∀pre ∈ preAdv , ∃pre0 ∈ preReq : pre0 ⇒ pre and – ∀ef f 0 ∈ ef fReq , ∃ef f ∈ ef fAdv : ef f ⇒ ef f 0 Where, two inputs (resp. outputs) i1 , i2 , are equal (i.e., i1 = i2 ) if they are instances of the same class in the same ontology. Moreover, an input (resp. output) i1 , which is an instance of the class C1 is subsumed by another input (resp. output) i2 , which is an instance of the class C2 , if C1 is a subclass of C2 in the same ontology.

An example of matching a provided capability against a requested one using COCOA-SD is depicted in Figure 4. The SendDigitalStream capability (right higher corner) provided by the streaming server of the V.I.P. room, is going to be matched against the capability GetVideoStream (left higher corner) required in the user task. Both capabilities define their set of IOPEs using Web ontologies, among which the ontology fragment shown in the bottom of the figure. Using COCOA-SD, a weak matching is recognized between these two capabilities. Indeed, the input VideoStream provided by the GetVideoStream capability is a subclass of the input DigitalStream required by the SendDigitalStream one. This means that the streaming server available in the environment expects to receive as input any kind of digital resources. Thus it will obviously accept the video resource that the user will send to it. Furthermore, the output of both capabilities refer to the same concept, i.e., the Stream con-

There is an exact matching between a requested and a provided capability if all the inputs of the provided capability are matched against inputs of the requested one, and all the outputs of the requested capability are matched against outputs of the provided one. Specifically, matched inputs and outputs must be equal. Furthermore, preconditions and effects of both capabilities should be equivalent. A weak matching is recognized between two capabilities, if all the inputs of the provided capability are matched against inputs of the requested one, and all the outputs of the requested capability are matched against outputs of the provided one. Nevertheless, subsumption is supported between 5

simulate it, i.e., a task’s automaton state is simulated by a global automaton state when for each incoming symbol6 of the former there is at least one semantically equivalent7 incoming symbol of the latter. For example, in Figure 5, the state t1 of the task’s automaton can be simulated by the state v1 of the global automaton because the set of incoming symbols of t1 , is a subset of the set of incoming symbols of v1 .

cept, and the precondition required by SendDigitalStream, i.e., Distance< 10m, is checked and validated as the user is only two meters away from the server. After matching the capabilities of the target user task with those of the networked services, COCOA-SD uses the conversation descriptions of the pre-selected services to filter out those ones that will not be useful for the composition. For instance, if a service provides a capability that is semantically equivalent to a capability of the user task but that follows or is prior to a mandatory capability that is not required in the user task, then this service will not be a useful candidate to the composition.

COCOA-CI allows finding service compositions with possible interleaving of conversations of the involved services. Indeed, this is done by managing service sessions. A service session characterizes the execution state of a service conversation. A session is opened when a service conversation starts and ends when this conversation finishes. Several sessions with several networked services can be opened at the same time. This allows interleaving the interactions with distinct networked services. Indeed, a session opened with a service A can remain opened (temporary inactive) during the interaction of the client with another service B. An example of managing sessions is given in Step (1) of the composition. In this step, the capability Browse of the task’s automaton has been matched against the capability Browse of the global automaton. The next step is to find the capability Search of the task’s automaton (Step (2)). However, this capability is not available in the Video Streaming Service. This leads to open another session with the Search Service as this service provides the sought capability. In Step (3) after matching the capability Search, the capability Get Stream is sought. A semantically equivalent capability, i.e., the Send Stream capability, is accessible in the Video Streaming Service from the previously opened session.

To perform the filtering of services we use regular expressions. Specifically, we extract from the task automaton the regular expression that represents the language generated by this automaton. For each term of this regular expression, which corresponds to a capability from the task description, we introduce the quantifier ? that indicates that there is 0 or 1 occurrence of this term. For example, the regular expression extracted for the automaton of the e-movie application presented in Figure 3 is given by : (Browse)? (Search)? (GetStream)? (GetLocationContext)∗ (GetStream)?. Let’s note by L the language generated by the extracted regular expression and by L1 , L2 , ..., Ln the languages generated by the automata of the pre-selected services S1 , S2 , ..., Sn respectively. COCOA-SD selects all the services Si such that L0 ∩ Li 6= ∅. For example, a service that provides a sequence of capabilities that match semantically the capabilities Browse and GetStream of the user task, is selected.

3.2

An important condition that has to be observed when managing sessions is that each opened session must be closed, i.e., it must arrive to a final state of the service automaton. During the composition process, various paths in the global automaton, which represent intermediate compositions, are investigated. Some of these paths will be rejected during the composition while some others will be kept (e.g., if a path involves a service in which a session has been opened but never closed, this path will be rejected).

COCOA Conversation Integration

Once semantic-aware service discovery is achieved, the next step towards dynamic composition of user tasks, is the integration of the conversations of the selected services. COCOACI integrates the conversations of services selected using COCOA-SD, to realize the conversation of the target user task. Moreover, COCOA-CI supports interleaving of these conversations. COCOA-CI integrates the conversations of discovered services to realize the user task, based on associated state automata.

COCOA-CI gives a set of sub-automata from the global automaton that conforms to the task’s automaton structure (one sub-automaton is depicted in the left lower corner of Figure 5). Each of these automata is a composition of networked services that conforms to the conversation of the target user task, further enforcing valid service consumption. The last step is to select arbitrarily one among the resulting service compositions as they all conform to the target user task. We are further working on the definition of a benefit function adapted to the requirements of the pervasive computing environment (e.g., by taking into account an estimation of the availability of the composed services, as introduced in [10]), which will allow the selection of the most effective composition among the eligible ones.

COCOA-CI first integrates all the automata of selected services in one global automaton. The global automaton contains a new start state and empty transitions that connect this state with the start states of all selected automata. The automaton also contains other empty transitions that connect the final states of each selected automaton with the new start state. Consider the automaton representing the conversation of the target user task depicted in Figure 5, left higher corner, and the automata representing the conversations of the selected services, Figure 5, right lower corner. In this figure, all the automata of the selected services are connected in a global automaton, in which all the added transitions are represented with dashed lines. The next step of COCOA-CI is to parse each state of the task’s automaton starting with its start state, and following its transitions. Simultaneously, a parsing of the global automaton is carried out in order to find for each state of the task’s automaton a state of the global automaton that can

6 Incoming symbols of a state correspond to the labels of the next transitions of this state. 7 We recall that equivalence relationship between capabilities is a semantic equivalence that have already been checked by COCOA-SD.

6

Figure 5: Conversation Integration

Using the service composition that has been selected, the OWL-S process model description of the user task is complemented with information coming from the composed services. Specifically, each capability of the user task is replaced with the corresponding capability of the networked services. This capability may correspond to either atomic or composite processes of the networked services. In the former case, the capability is performed in a single client/service interaction, while in the later it will be performed in a sequence of client/service interactions. Furthermore, an OWL-S grounding description for the user task, which contains the binding information of the composed services is generated.

In the last few years a number of research efforts have been conducted in the area of conversation-based service composition [4, 20, 11, 1, 5]. For instance, Klein et al. in [4] propose to describe services as processes, and define a request language named PQL (Process Query Language). This language allows finding in a process database those processes that contain a fragment that corresponds to the request. While this approach proposes a process query language to search for a process, it does not handle process integration. Thus, the authors implicitly assume that the user’s request is quite simple and can be performed by a single process. On the contrary, in our approach a composition effort is made to reconstruct a task conversation by integrating services conversations.

The complemented process model description and the generated grounding are sent to an execution engine that performs the user task by invoking the appropriate networked services.

We provide both a theoretical and a practical assessment of our approach. The theoretical assessment identifies the main contribution of our composition algorithm compared to related work in the field of conversation-based service composition, while the practical assessment validates the use of the employed paradigms in pervasive computing environments.

Aggarwal et al. propose to describe a task conversation as a BPEL4WS8 workflow [20]. This description may contain both references to known services (static links) and abstract descriptions of services to be integrated (service templates). At execution time, services that match the service templates are discovered, and the task’s workflow is carried out by invoking the selected services. This approach proposes a composition scheme, in which a set of services are integrated to reconstruct a task’s conversation. However, the services being integrated are rather simple. Indeed, each service is described at the interface level without describing the ser-

4.1

8 http://www-128.ibm.com/developerworks/library/wsbpel/

4.

ASSESSMENT

Theoretical assessment 7

vice conversation. On the contrary, we consider services as entities that can behave in a complex manner, and we try to compose these services to realize the user task’s conversation.

600 XML Parsing Matching Algorithm (Fixed task depth = 1) 500

Another conversation-based matching algorithm is proposed by Majithia et al. in [11]. In this approach, the user’s request is specified at the interface level and is mapped to a workflow. Then, service instances that match the ones described in the workflow, in terms of inputs, outputs, preconditions and effects, are discovered in the network, and a concrete workflow description is constituted. As for the previous approaches, the service composition scheme that is proposed does not involve any conversation integration, as the Web services are only described at the interface-level.

Time (ms)

400

300

200

100

0 0

The work proposed by Bensal and Vidal in [1] uses the OWLS process model to match services. In their approach, the authors consider a user request in the form of required inputs/outputs, and assume a repository of OWL-S Web services. Then, they propose a matching algorithm that checks whether there is a process model in the repository that meets the desired inputs/outputs. Brogi et al. in [5] have proposed an enhancement of this last algorithm by performing a composition of services’ process models to respond to inputs/outputs of the user’s request. This last effort is close to our work, as an effort of integrating conversations is investigated. However, some differences remain. The main difference is that the authors consider that the user request can be expressed in the form of a list of inputs/outputs. While this is an interesting assumption, this implicitly prevents the user from performing complex conversations. Indeed, the algorithm composes in a pipe and filter like-way, atomic processes that are compatible in terms of provided outputs and requested inputs (signatures). While this strongly guarantees that the composed services will be able to exchange information, it weakly guarantees that the resulting composition will provide the user with the expected semantics. On the contrary, we consider that the user’s request is expressed as a conversation, which guarantees that the resulting composition will indeed meet the user task’s expected behavior.

4.2

20

40 60 80 Services’ Number of Operations

100

120

Figure 6: Performance of COCOA-CI (increasing the number of semantically equivalent capabilities provided by services)

Matching Algorithm XML Parsing 1000

Time (ms)

800

600

400

200

0 0

5

10 15 User Task’s Depth

20

Figure 7: Performance of COCOA-CI (increasing the number of capabilities requested in the task’s conversation)

Practical assessment

In developing a prototype implementation of COCOA, we have been primarily interested in evaluating the performance of COCOA-CI. Indeed, COCOA-SD presents similarities with the algorithm presented in [14], from the standpoint of algorithm complexity. The implementation and evaluation of this algorithm are given in [13]. The results shows that adding the OWL-S matching of service capabilities to UDDI9 does not hinder the performance and scalability of this service registry.

of the algorithm. There are two main factors contributing to the increase of the intermediate composition paths: (1) the number of semantically equivalent capabilities provided by networked services; (2) the number of capabilities requested in the task’s conversation. We have carried out two experiments, each evaluating the impact of each factor on the performance of COCOA-CI. Figure 6 considers the first factor. In this figure, the number of capabilities provided by networked services is increasing from 10 to 100 capabilities that are semantically equivalent. We compare the performance of COCOA-CI with the XML parsing of the services and task descriptions, which is inherent to the use of Web services and semantic Web technologies. The resulting curves show that the cost of our algorithm is negligible compared to the XML parsing time. Figure 7 considers the second factor. In this figure, the number of capabilities pro-

We have implemented COCOA-CI in Java, on a Linux platform running on a laptop with an Intel Pentium 4, 2.80 GHz CPU and 512 MB of memory. The performance of COCOACI is proportional to the complexity of the task and services’ conversations. Specifically, the response time of the algorithm is proportional to the number of possible (intermediate) composition paths investigated during the execution 9 UDDI: Universal Description, Discovery, and Integration of Business for the Web, http://www.uddi.org

8

25

vided by the networked services is fixed to the worst case coming from the previous experiment, i.e., 100 semantically equivalent capabilities, while the number of capabilities requested in the task’s conversation is increasing from 1 to 20. The experiment that is depicted in this figure corresponds to the comparison of the performance of COCOA-CI with the XML parsing of the services and the task conversation descriptions. The figure shows an extreme scenario for our algorithm, as each capability requested in the task’s conversation is matched against 100 capabilities, and the resulting number of possible compositions is equal to: 100nb in each case, where nb is the number of capabilities requested in the task’s conversation. We can see that for a number of possible compositions less than 10010 , our algorithm takes less time than the XML parsing time. In realistic cases, both the user task and networked services will contain various capabilities organized using various workflow constructs, thus leading to the decrease of possible resulting compositions. Consequently, the response time will be reasonable for the pervasive computing environment. Indeed, we have applied our algorithm in a real case example in which the task’s conversation contains twenty requested capabilities and the selected services provide thirty capabilities, including various control constructs (e.g. sequence, choice, loop). In spite of the large number of capabilities requested in the task’s conversation, the algorithm spent only 32 milliseconds to find the two resulting compositions among 36 intermediate compositions, against 152 milliseconds for the XML parsing time.

5.

us to translate the difficult issue of conversation integration to an automata analysis problem. A preliminary design of our conversation-based composition algorithm has been described in [2]. Nevertheless, COCOA provides much greater flexibility by considering services and tasks as conversations of high level capabilities that can realize processes composed of several client/service interactions. Furthermore, COCOA allows interleaving integrated conversations, which was not enabled in [2]. Moreover, a prototype implementation and evaluation has been presented. We have compared the response time of COCOA-CI against the time spent for the XML parsing of services and task descriptions, which is inherent to the use of Web services and semantic Web technologies. Results show that in more realistic cases, COCOA overhead is negligible compared to XML parsing. Finally, COCOA can be extended with QoS-awareness following the approach described in [3]. Our ongoing research effort includes the integration of COCOA-SD into a scalable service discovery protocol for pervasive computing environments [16].

6.

REFERENCES

[1] S. Bansal and J. M. Vidal. Matchmaking of Web services based on the daml-s service model. In Proceedings of the second international joint conference on Autonomous agents and multiagent systems, pages 926–927. ACM Press, 2003. [2] S. Ben Mokhtar, N. Georgantas, and V. Issarny. Ad hoc composition of user tasks in pervasive computing environments. In Proceedings of the 4th Workshop on Software Composition (SC’05), 2005.

CONCLUSION

The pervasive computing vision involves that everywhere around us the environment is populated with networked, both computing and input/output, devices, which provide functionalities. Our objective is to allow a user entering into a pervasive computing environment to perform tasks, abstractly described on his/her device, by integrating on the fly available networked services. A key feature of networked services of the pervasive computing environment is their heterogeneity. Most existing solutions to dynamic composition of networked services in pervasive computing environments poorly deal with heterogeneity, since they assume that components being integrated have been developed to conform syntactically in terms of interfaces.

[3] S. Ben Mokhtar, J. Liu, N. Georgantas, and V. Issarny. Qos-aware dynamic service composition in ambient intelligence environments. In Proceedings of the 14th IEEE/ACM Automated Software Engineering Conference (ASE’05). Short Paper, 2005. [4] A. Bernstein and M. Klein. Towards high-precision service retrieval. In Proceedings of The First International Semantic Web Conference(ISWC), 2002. LNCS-2342, 2002. [5] A. Brogi, S. Corfini, and R. Popescu. Composition-oriented service discovery. In Proceedings of the 4th Workshop on Software Composition (SC’05), 2005.

Building on semantic Web services, our solution to the dynamic composition of networked services, i.e., COCOA, offers great flexibility by enabling semantic matching of capabilities, through COCOA-SD, and dynamic integration of services’ conversations, through COCOA-CI, to perform the target user task. The distinctive feature of COCOA is the ability to compose Web services that expose complex behaviors to realize a user task that itself has a complex behavior, based on matching and integration of conversations. Existing approaches to conversation-based matching generally consider that either the services or the task have a simple behavior, thus leading to simple integration solutions. In our case, we support complex behaviors for both services and tasks described as OWL-S processes, and we propose a composition algorithm, i.e., COCOA-CI, which integrates the services’ conversations to realize the user task. To perform such a composition, COCOA introduces an abstraction of OWL-S processes as finite state automata. This allows

[6] I. Constantinescu, W. Binder, and B. Faltings. Flexible and efficient matchmaking and ranking in service directories. In ICWS, pages 5–12, 2005. [7] H. Foster, S. Uchitel, J. Magee, and J. Kramer. Model-based verification of Web service compositions. In IEEE International Conference on Automated Software Engineering, 2003. [8] V. Issarny, D. Sacchetti, F. Tartanoglu, F. Sailhan, R. Chibout, N. Levy, and A. Talamona. Developing ambient intelligence systems: A solution based on web services. Journal of Automated Software Engineering, 2004. [9] M. Koshkina and F. van Breugel. Verification of business processes for Web services. Technical report, York University, 2003. 9

[10] J. Liu and V. Issarry. Signal strength-based service discovery (s3d) in mobile ad hoc networks. In Proceedings of the IEEE personal indoor mobile radio communication (PMRC’05)), 2005. [11] S. Majithia, D. W. Walker, and W. A. Gray. A framework for automated service composition in service-oriented architecture. In 1st European Semantic Web Symposium, 2004. [12] R. Masuoka, B. Parsia, and Y. Labrou. Task computing - the semantic web meets pervasive computing. In 2nd International Semantic Web Conference (ISWC2003), 2003. [13] K. S. N. Srinivasan, M. Paolucci. An efficient algorithm for owl-s based semantic search in UDDI. In First International Workshop, SWSWPC, 2004. [14] M. Paolucci, T. Kawamura, T. R. Payne, and K. Sycara. Semantic matching of Web services capabilities. LNCS, 2342, 2002. [15] M. Román, C. Hess, R. Cerqueira, A. Ranganathan, R. H. Campbell, and K. Nahrstedt. Gaia: a middleware platform for active spaces. SIGMOBILE Mob. Comput. Commun. Rev., 6(4):65–67, 2002. [16] F. Sailhan and V. Issarny. Scalable service discovery for manet. In Proceedings of the 3rd IEEE International Conference on Pervasive Computing and Communications (PerCom’05), 2005. [17] E. Sirin, B. Parsia, and J. Hendler. Template-based composition of semantic web services. In AAAI Fall Symposium on Agents and the Semantic Web, Virginia, USA, November 2005. [18] J. P. Sousa and D. Garlan. Aura: an architectural framework for user mobility in ubiquitous computing environments. In Proceedings of the IFIP 17th World Computer Congress - TC2 Stream / 3rd IEEE/IFIP Conference on Software Architecture, 2002. [19] W. van der Aalst and A. ter Hofstede. Yawl: Yet another workflow language. Accepted for publication in Information Systems, 2004. [20] R. A. K. Verma, J. Miller, and W. Milnor. Dynamic Web service composition in meteor-s. Technical report, LSDIS Lab, Computer Science Dept., UGA, 2004. [21] A. M. Zaremski and J. M. Wing. Specification matching of software components. In ACM Transactions on Software Engineering and Methodology (TOSEM), 1997.

10

Conversation-Based Service Composition for Pervasive ...

among which a streaming service used to stream digital re- sources on users ... video stream to the user's PDA. When the ..... to satisfy the rest of expected data.

462KB Sizes 0 Downloads 206 Views

Recommend Documents

User-Excentric Service Composition in Pervasive ...
we introduce a Servicebook, a new social network of services, where services create and join group of service profile providing to users better access to all the ...

User-Excentric Service Composition in Pervasive ...
Abstract—In pervasive environments, services are fastly developing and .... building online communities of people who share interests and/or activities, or .... The two values of of Exact and F ail are the best and worst case. ..... only redirect t

A Middleware Service for Pervasive Social Networking
Social Networks, Pervasive Computing, Middleware. 1. INTRODUCTION. Pervasive Social Networking (PSN) [1] (also called Mo- bile Social Networking) is a ...

iQueue: A Pervasive Data Composition Framework
framework provides system support for data composition, ... mobile subscriber's location data, his shopping-list file, .... Broken lines represent components of a.

Semantic Service Substitution in Pervasive ...
described by models, definitions and metrics semantic service substitution adapted ...... Dsem(accessprinting, accessprinter) = 1, MCpt( bluetooth , wifi ) = F ail.

COCOA : Conversation-Based Service Composition for ...
ABSTRACT. Due to the large success of wireless networks and handheld devices ... in terms of available services and by enforcing valid service consumption. 1.

Web service composition via TLV
Given the largest simulation R of T by C, we can build every composition through the controller generator (CG). CG = < A, [1,…,n], Sr, sr. 0, δ, ω> with.

Efficient Semantic Service Discovery in Pervasive ... - Semantic Scholar
computing environments that integrate heterogeneous wireless network technolo- ... Simple Object Access Protocol (SOAP) on top of Internet protocols (HTTP, SMTP). .... In this area, various languages have been proposed to describe.

Composition for contraception
Feb 15, 2000 - Plus 20 pg Ethinylestradiol, a Triphasic Combination. Levonorgestrel and ..... Strobel, E.,. Behandlung mit oralen KontraZeptiva [Treatment with Oral .... With normal ovarian function, groups of 30 test subjects each received the ...

Composition for contraception
Mar 24, 2006 - Tech. 152-60, 152, 1994. Spona et al., “Shorter pill-free interval in ...... It is certified that error appears in the above-identi?ed patent and that ...

Pervasive Computing and Communications for Sustainability - Elsevier
lighting, heating, cooling, displays, etc. by considering context and usage. ➢ Role of social networking and smart interaction for energy conservation, emissions ...

A Scheme for On-Site Service Provision in Pervasive ...
Jul 13, 2009 - assistance at home, mobile k-server problem. 1. INTRODUCTION. Lately there is a paradigm shift towards the provision of advanced health monitoring techniques. Several factors have contributed towards this direction. Among them, the adv

Pervasive Computing and Communications for Sustainability - Elsevier
lighting, heating, cooling, displays, etc. by considering context and usage. ➢ Role of social networking and smart interaction for energy conservation, emissions ...

ReComp: QoS-aware Recursive service Composition at ...
build over existing web sites as well and many web-sites today can be viewed as mashups. For example, the site zoomtra [20] provides the cheapest airfare ...

pdf-1399\web-service-composition-and-new-frameworks-in ...
... the apps below to open or edit this item. pdf-1399\web-service-composition-and-new-frameworks-in-designing-semantics-innovations-by-patrick-hung.pdf.

A survey on Web Service Composition Algorithm - IJRIT
IJRIT International Journal of Research in Information Technology, Volume 1, Issue 5, May ... Service Oriented Computing (SOC) is an emerging cross-disciplinary .... Here authors have proposed a cloud web service ... ICIW '08: Proceedings of the 2008

Context-Aware Service Composition in a Home Control ...
protocols, security policies, and such are dynamic and differ from one ... speech system if no display is available. If he comes at ... system is then given to using distinct service providers ..... Conference (CCNC'07), Las Vegas, January 2007.

A Survey on Service Composition Middleware in ...
context awareness, QoS management, security, spontaneous management, and ...... [35] UPnP Forum, "Understanding UPnP: A White Paper",. Technical Report ...

A survey on Web Service Composition Algorithm - IJRIT
The necessity for fast service composition systems is directly connected with the emergence ... require frequent changes in their business strategy. A SOA is an ...

Pervasive Biosensor Networks
In this study we briefly describe a biosensor network and some of the existing ... body for continuous monitoring of signals such as ECG, blood pressure, ...

A Pervasive Architectural Framework for Providing ...
Jul 19, 2008 - people who should have monitored their vital function parameters but do not need in .... phone number can be registered to the hospital's service and associated with ..... Towards a Virtual Assistant for Doctors Using Pervasive.

Practical MANETs for Pervasive Cattle Monitoring
Aug 13, 2006 - School of Computer Science and IT. University of ... Networks (WSN) approaches for monitoring cattle .... characteristics of a given hardware.