Manuele Salma Najar

Kirsch Pinheiro

Carine Souveyet

Service discovery and prediction on Pervasive Information System

Keywords: Pervasive Information System, context-awareness, service discovery, service prediction, clustering, classification

Recent evolution of technology and its usages, such as BYOD (Bring Your Own Device) and IoT (Internet of Things), transformed the way we interact with Information Systems (IS), leading to a new generation of IS, called the Pervasive Information Systems (PIS). These systems have to face heterogeneous pervasive environments and hide the complexity of such environment end-user. In order to reach transparency and proactivity necessary for successful PIS, new discovery and prediction mechanisms are necessary. In this paper, we present a new user-centric approach for PIS and propose new service discovery and prediction based on both user's context and intentions. Intentions allow focusing on goals user wants to satisfy when requesting a service. Those intentions rise in a given context, which influence the service implementation. We propose a service discovery mechanism that observes user's context and intention in order to offer him/her the most appropriate service satisfying her/his intention on the current context. We also propose a prediction mechanism that tries to anticipate user's intentions considering the user's history and the observed context. We evaluate both mechanisms and discuss advanced features future PIS will have to deal with.

Introduction

New technologies transform the way we interact with Information Systems (IS) and the services they offer, expanding the frontiers of IS outside the companies' environment. The BYOD (Bring Your Own Device) illustrates this tendency: employees bring their own devices to the office and keep using them to access the IS even when they are on the move. BYOD lets employees use their personal device to work seamlessly across their personal user space and enterprise workspace instead of using multiple devices depending on business need, location, and circumstances [START_REF] Chang | Securing BYOD[END_REF]). This tendency does not concern only laptops. Employees are increasingly using tablets, smartphones and other "thin clients" to access network (LAN, WAN and VPN), and hosted applications, as well as applications that run locally on (some of) the devices. There is also a growing opportunity for businesses to exploit the capabilities of wearable devices, such as Microsoft HoloLens, Apple iWatch or Bluetooth headsets, among countless other devices that are changing the way we search, navigate, transact, and live [START_REF] Andriole | Optimizing Operational and Strategic IT[END_REF].

These new usages are changing the panorama of IS (Information Systems) and IT departments. Several challenges raise from these, such as the management of heterogeneous hardware and software, or the enforcement of security policies on this heterogeneous environment [START_REF] Chang | Securing BYOD[END_REF][START_REF] Earley | From BYOD to BYOA, Phishing, and Botnets[END_REF]). Nevertheless, this new panorama also offers advantages and opportunities for business companies, such as reducing technology costs and increasing employees' productivity [START_REF] Andriole | Optimizing Operational and Strategic IT[END_REF].

According to [START_REF] Earley | From BYOD to BYOA, Phishing, and Botnets[END_REF], this blending of personal and business technology is having a significant impact on corporate IT departments, which traditionally have governed, deployed, and controlled the technology that employees use to do their jobs. Nowadays, IT is about the integration of emerging business models and technologies; it is now a permanent partnership with the business [START_REF] Andriole | Optimizing Operational and Strategic IT[END_REF]. The consequence of this new panorama is a necessary evolution of IS that have to cope with a pervasive environment and may integrate services from very different natures. A new generation of IS is rising, the Pervasive Information Systems (PIS). PIS should be adapted to this new extended view of the enterprise and of its IS. Indeed, according to [START_REF] Castro-Leon | Consumerization in the IT Service Ecosystem[END_REF], the notions of what is inside or outside the enterprise become blurry, with corporate processes using resources beyond the traditional enterprise perimeter. In this environment, the user community is not concerned about distinguishing between internal and external resources; users expect to use the devices, data, and tools in the same way they always have.

Pervasive Information Systems (PIS) intend to increase user's productivity by making IS services available anytime and anywhere. These systems changed the interaction paradigm from desktop computing to new technologies. They evolved from a fully controlled environment (the office) to a dynamic pervasive one [START_REF] Kourouthanassis | A Design Theory for Pervasive Information Systems[END_REF]. Contrary to traditional IS, PIS have to support a multitude of heterogeneous devices and service types, challenging its design. We argue that PIS should be designed for helping user to better satisfy her/his needs according to her/his environment. PIS must not only consider the goals they must reach as an IS, but they must also handle heterogeneity of pervasive environment. They should hide this heterogeneity from the user, allowing her/him to concentrate on her/his needs, instead of on the technology itself.

By extending its influence outside traditional enterprise perimeter, PIS are able to integrate services that are made available by pervasive environments frequented by users, wherever they are. Available services, as well as their nature, may vary according to the environment they integrate. This complexity is not necessarily understood by users, who are not interested in knowing service alternatives, but only on having an appropriate service. Discovering best-suited service becomes then a challenging task since it is necessary to observe not only user's goals, but also the circumstances under which such goals appear. Besides, a more proactive behavior should also be considered. Indeed, user expects a PIS that is able to anticipate her/his needs, in a transparent way, for more productivity. Thus, transparency and proactivity become key aspects on PIS, which require offering user appropriate services considering her/his goals and the context in which such goals appear, as well as the capability of anticipating future goals in this context. New service discovery and prediction mechanisms that cope with such requirements are then necessary.

We propose a new user-centric approach for service discovery and prediction considering PIS. This approach is based on both user's intentions, representing the goals she/he wants to achieve without saying how to perform it [START_REF] Kaabi | Capturing intentional services with business process maps[END_REF], and on the context in which these intentions have been formulated. The notion of context can be seen as any information that can be used to characterize the situation of an entity [START_REF] Dey | Understanding and using context[END_REF]. We consider that context information can influence service execution and, consequently, what service can be chosen to satisfy a given intention. In our opinion, both concepts should be considered during service discovery, since the main purpose is providing user with a service that can fulfill her/his goals in a fairly understandable and non-intrusive way. Thus, we propose a new service discovery mechanism that intends discovering the available service that can satisfy the immediate user's intention in the current context. Based on the discovery results, we propose a new prediction mechanism that identifies common situations representing usage patterns, i.e., recurrent context and intentions observed during the PIS usage. By analyzing these patterns, the prediction mechanism learns user's behavior when using a PIS, and therefore anticipates future intentions and the most appropriate services that may satisfy it. This paper is organized as follows: Section 2 presents related works on service discovery and prediction. Section 3 introduces the user-centric approach we propose for PIS. Based on this approach, Section 4 presents the proposed service discovery mechanism, while Section 5 introduces the service prediction mechanism. Section 6 presents an evaluation of both mechanisms. Finally, Section 7 discusses future directions, before concluding in Section 8.

Related works

Applications and services are no longer limited to the strict boundaries set by the desktop computer. Users are interested in having access to those services independently of whether these services are provided via a desktop computer, a mobile phone, or an information kiosk located in a public place [START_REF] Kourouthanassis | A Design Theory for Pervasive Information Systems[END_REF].

In order to make this ubiquitous access possible, Pervasive Information Systems (PIS) have to conciliate two different worlds: the dynamic and heterogeneous pervasive environments with the predictable and expected behavior necessary to an Information System. From this analysis, a set of requirements applying to PIS can be delineated, including heterogeneity (being able to handle heterogeneity of devices and services), predictability (being able to satisfy user's goals in a predictable and expected manner) and context awareness [START_REF] Najar | A user-centric vision of service-oriented Pervasive Information Systems[END_REF]). Context-awareness can be seen as the capability pervasive artifacts have to collect, to process, and to manage environmental or user-related information on a real-time basis [START_REF] Kourouthanassis | A Design Theory for Pervasive Information Systems[END_REF]. It has be defined by [START_REF] Baldauf | A survey on context-aware systems[END_REF] as the ability of a system to adapt its operations to the current context, aiming at increasing its usability and its effectiveness by taking environmental context into account. In contrast to desktop computing, where user's action precedes system response, PIS promote system pro-action based on environmental stimuli [START_REF] Kourouthanassis | A Design Theory for Pervasive Information Systems[END_REF]. Thus, PIS should be able to observe changes in the execution environment and to adapt consequently their behavior [START_REF] Najar | A user-centric vision of service-oriented Pervasive Information Systems[END_REF].

During the last decade, a lot of research has been conducted concerning pervasive systems, and notably several works concerning context-aware services [START_REF] Chaari | Adaptation in context-aware pervasive information systems: the SECAS project[END_REF][START_REF] Toninelli | Semantic-based discovery to support mobile contextaware service access[END_REF][START_REF] Vanrompay | Service Selection with Uncertain Context Information[END_REF]). On the one hand, context-awareness becomes a necessary feature for providing adaptable services, for instance, when selecting the best-suited service according to the relevant context information or when adapting the service during its execution according to context changes [START_REF] Eikerling | Services and mobility: the PLASTIC answer to the Beyond 3G challenge[END_REF]). On the other hand, loose coupling offered by services fits the requirements of high dynamic pervasive environments, in which entities are often mobile, entering and leaving the environment at any moment [START_REF] Kirsch-Pinheiro | Context-aware service selection using graph matching[END_REF]).

Different service discovery mechanisms have been proposed in the literature [START_REF] Toninelli | Semantic-based discovery to support mobile contextaware service access[END_REF][START_REF] Vanrompay | Service Selection with Uncertain Context Information[END_REF][START_REF] Mokhtar | Efficient Semantic Service Discovery in Pervasive Computing Environments[END_REF][START_REF] Mokhtar | EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support[END_REF]. Main goal of such works is to propose services that are better adapted to the user's requirements by observing real conditions under which such services are invoked. According to [START_REF] Suraci | Context-aware Semantic Service Discovery[END_REF], context-aware service discovery can be defined as the ability to make use of context information in order to discover the most relevant service for the user. Most of the proposed context-aware service discovery mechanisms consider context information as a non-functional aspect of a service [START_REF] Toninelli | Semantic-based discovery to support mobile contextaware service access[END_REF][START_REF] Mokhtar | Efficient Semantic Service Discovery in Pervasive Computing Environments[END_REF], or as a condition for service selection and execution [START_REF] Vanrompay | Service Selection with Uncertain Context Information[END_REF]). On both cases, a matchmaking, using semantic matching [START_REF] Mokhtar | Efficient Semantic Service Discovery in Pervasive Computing Environments[END_REF] or similarity measures [START_REF] Vanrompay | Service Selection with Uncertain Context Information[END_REF], is performed between context information related to the service and the one related to the user or to the execution environment.

Often on those works [START_REF] Toninelli | Semantic-based discovery to support mobile contextaware service access[END_REF][START_REF] Mokhtar | Efficient Semantic Service Discovery in Pervasive Computing Environments[END_REF][START_REF] Mokhtar | EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support[END_REF][START_REF] Cubo | On the Service Discovery using Context-Awareness, Semantic Matching and Behavioural Compatibility[END_REF], context information is considered as required capabilities imposed by the user's request. Context information and the service capabilities are semantically described thanks to multiple ontologies. Such ontologies allow describing service functional properties (mainly input and output information) and describing context elements and values. Based on these ontologies, different semantic matching mechanisms have been proposed [START_REF] Toninelli | Semantic-based discovery to support mobile contextaware service access[END_REF][START_REF] Mokhtar | Efficient Semantic Service Discovery in Pervasive Computing Environments[END_REF][START_REF] Cubo | On the Service Discovery using Context-Awareness, Semantic Matching and Behavioural Compatibility[END_REF]. Most of them are based on simple relations of subsumes and plugins between concepts on an ontology. Toninelli et al. (2006), for example, consider exact, subsumes and plugin relations between capabilities offered by the services and those required by the user, both represented as ontology concepts. Similarly, [START_REF] Mokhtar | EASY: Efficient semAntic Service discoverY in pervasive computing environments with QoS and context support[END_REF] adopts the same relations in order to discover services that propose exactly the required capabilities (ExactCapabilityMatch), or services that offer more general capabilities than those required by the user (InclusiveCapabilityMatch) or more specific ones (WeakCapabilityMach). Additionally, [START_REF] Mokhtar | Efficient Semantic Service Discovery in Pervasive Computing Environments[END_REF] also consider to calculating a semantic distance, still based on ontologies, between concepts used to describe offered and required capabilities.

In addition to user's request, other authors, such as [START_REF] Suraci | Context-aware Semantic Service Discovery[END_REF] and [START_REF] Vanrompay | Service Selection with Uncertain Context Information[END_REF], also consider that services have their own requirements on the context information they need from user or from the environment in order to work properly. For [START_REF] Suraci | Context-aware Semantic Service Discovery[END_REF], a service can require the user to provide specific context information, like her/his location or some terminal capabilities. These authors propose to enrich OWL-S service description with a "context" element representing such requirements. A similar approach is adopted by [START_REF] Vanrompay | Service Selection with Uncertain Context Information[END_REF], which consider that a service should expose both its current execution context (representing context under which it executes) and its context requirements (context under which the service is expected to be invoked by the user). Both are represented as graphs and compared with user's context and requirements using different kinds of similarity measures: local measures comparing context elements (nodes), and global measures comparing graphs overall structure.

Nevertheless, only a few research works [START_REF] Fensel | Semantic Web Services[END_REF][START_REF] Olsson | Goal Refinement for Automated Service Discovery[END_REF][START_REF] Silva | Towards a Goal-Based Service Framework for Dynamic Service Discovery and Composition[END_REF] consider the notion of intention on service description. Intentions represent a high level description of user's goals, delineating her/his requirements about the service (why she/he needs the service), without specifying how these requirements could be achieved. Intentions can be associated with service descriptions as a set of capabilities, with their pre-and post-conditions [START_REF] Fensel | Semantic Web Services[END_REF]. By considering the notion of intention as part of service definition, works such as [START_REF] Fensel | Semantic Web Services[END_REF][START_REF] Kaabi | Capturing intentional services with business process maps[END_REF][START_REF] Silva | Towards a Goal-Based Service Framework for Dynamic Service Discovery and Composition[END_REF][START_REF] Olsson | Goal Refinement for Automated Service Discovery[END_REF]) allow users to focus on their own goals instead of considering the technology itself, which represent an important issue for achieving transparency necessary to PIS. Those works consider often intentions as a guide for service discovery. For instance [START_REF] Olsson | Goal Refinement for Automated Service Discovery[END_REF] proposes a service discovery mechanism based on a refining process in which intentions are decomposed on low-level intentions. Similarly, Santos et al. (2009) propose to associate user's intentions with possible tasks that a service is able to perform for the users, allowing then a service discovery based on such intentions.

Unfortunately, the influence of context on the intention satisfaction is merely considered on the literature, context being often seen as a simple input on intention-based mechanisms [START_REF] Silva | Towards a Goal-Based Service Framework for Dynamic Service Discovery and Composition[END_REF].

A similar situation can be observed when considering service prediction. Anticipating user's needs represents an important step towards transparent PIS. A proactive behavior can offer new possibilities to enhance available informational services or construct new currently unavailable ones [START_REF] Mayrhofer | Context prediction based on context histories: Expected benefits, issues and current state-of-the-art[END_REF]. Indeed, when interacting with Information Systems, users develop often work habitudes that can be understood as work patterns. Discovering and anticipating user's actions based on such patterns may lead to a more proactive behavior, necessary to obtain transparent PIS.

Until now, several works have considered context prediction [START_REF] Mayrhofer | Context prediction based on context histories: Expected benefits, issues and current state-of-the-art[END_REF]Mayhofer 2004;[START_REF] Ali | Combined Fuzzy State Q-learning Algorithm to Predict Context Aware User Activity under Uncertainty in Assistive Environment[END_REF][START_REF] Sigg | An Alignment Approach for Context Prediction Tasks in UbiComp Environments[END_REF][START_REF] König | Enhancing Alignment Based Context Prediction by Using Multiple Context Sources: Experiment and Analysis[END_REF] or service recommendation based on context information [START_REF] Adomavicius | Context-aware recommender systems[END_REF][START_REF] Xiao | An Approach for Context-Aware Service Discovery and Recommendation[END_REF]).

On the one hand, several works propose anticipating context information based on historical data (Mayhofer 2004;[START_REF] Vanrompay | A Methodological Approach to Quality of Future Context for Proactive Smart Systems[END_REF] or on pattern matching [START_REF] Sigg | An Alignment Approach for Context Prediction Tasks in UbiComp Environments[END_REF]. For instance, [START_REF] Mayrhofer | An Architecture for Context Prediction[END_REF] uses recommendation techniques for anticipating context information and for predicting the next likely situation of the user. This author proposes a non-supervised classification method for clustering observed context information. Identified clusters are considered as states, allowing interpreting new context information as a possible state changes for prediction purposes. [START_REF] Vanrompay | A Methodological Approach to Quality of Future Context for Proactive Smart Systems[END_REF] also propose to anticipate context information, but contrarily to previous work, these authors consider analyzing the quality of context information during the prediction process. According to [START_REF] Vanrompay | A Methodological Approach to Quality of Future Context for Proactive Smart Systems[END_REF], low quality context information can lead to a wrong prediction, which can be costly and reduce user satisfaction. They propose multiple learning operators that are able to consider uncertainty of context information when classifying it, identifying representative patterns on it. Different from previous authors, [START_REF] Sigg | An Alignment Approach for Context Prediction Tasks in UbiComp Environments[END_REF] suggest to recommend context information in order to fulfill context description with missing elements based on similar previously observed contexts. These authors use temporal series in order to identify context patterns. Such patterns are used during an alignment method, which looks for most probable series that matches current observed sequence. Similarly, [START_REF] König | Enhancing Alignment Based Context Prediction by Using Multiple Context Sources: Experiment and Analysis[END_REF] also proposes an align method, but, different from [START_REF] Sigg | An Alignment Approach for Context Prediction Tasks in UbiComp Environments[END_REF], these authors propose a multi-dimensional algorithm, allowing authors to better consider correctness and accuracy. Finally, works such as [START_REF] Ramakrishnan | A Modular and Distributed Bayesian Framework for Activity Recognition in Dynamic Smart Environments[END_REF]2014) consider combining different recommendation approaches, such as Bayesian networks and A-Priori algorithm, in order to recognize possible correlation among different context elements. Similarly, [START_REF] Nazerfard | CRAFFT: an activity prediction model based on Bayesian networks[END_REF] also propose a prediction mechanism based on Bayesian networks. These authors consider Bayesian networks on a model, named CRAFT, used for activity prediction, and more precisely, for predicting the start time of the next activity, in the context of smart homes.

On the other hand, service prediction works proactively propose services based on user's historical context information. Similar to traditional recommender systems, such as [START_REF] Javari | Recommender systems based on collaborative filtering and resource allocation[END_REF], that consider the correlation among user and items, service prediction works, such as [START_REF] Adomavicius | Context-aware recommender systems[END_REF], [START_REF] Xiao | An Approach for Context-Aware Service Discovery and Recommendation[END_REF] and [START_REF] Baltrunas | Experimental evaluation of context-dependent collaborative filtering using item splitting[END_REF], consider the correlation between context information and an item (e.g. a service) using different filtering techniques [START_REF] Baltrunas | Experimental evaluation of context-dependent collaborative filtering using item splitting[END_REF], which can be correlated with ontology-based matching [START_REF] Xiao | An Approach for Context-Aware Service Discovery and Recommendation[END_REF]. According [START_REF] Adomavicius | Context-aware recommender systems[END_REF], it is possible to organize such recommender systems on to three categories: 1) pre-filtering, in which context information is used to filter out irrelevant ratings before they are used for computing recommendations; (2) post-filtering, in which context information is used after non-contextual recommendation methods; and (3) contextual modeling, in which context information is used inside the recommendation algorithms with the user and item data. [START_REF] Cremonesi | Top-N recommendations on Unpopular Items with Contextual Knowledge[END_REF] propose a post-filtering recommendation approach that uses association rules to identify the most significant correlations between a given context information and an item. These rules are then used to filter the predictions performed by traditional recommender systems. Similarly, [START_REF] Baltrunas | Experimental evaluation of context-dependent collaborative filtering using item splitting[END_REF] propose an approach named "Item Splitting", in which items experienced in two alternative contextual conditions are "split" into two items that are then used in a rating algorithm. Finally, [START_REF] Xiao | An Approach for Context-Aware Service Discovery and Recommendation[END_REF] propose using ontology for improving semantic associated to context values on recommendation approaches. Instead of using "if-then" rules, these authors propose discovering emerging relationships between observed context values using knowledge available on the ontologies.

Besides context prediction and service recommendation, other works [START_REF] Foresti | Situational awareness in smart environments: socio-mobile and sensor data fusion for emergency response to disasters[END_REF][START_REF] Paridel | Analyzing the efficiency of context-based grouping on collaboration in VANETs with large-scale simulation[END_REF][START_REF] Basiri | Providing relevant information in an ambient services using service requester's "logical area[END_REF] have considered classification techniques for anticipating user's situation. For instance, [START_REF] Foresti | Situational awareness in smart environments: socio-mobile and sensor data fusion for emergency response to disasters[END_REF] have proposed an architecture for situation awareness on emergency scenarios that aggregates data acquired by a smart environment and user generated. [START_REF] Paridel | Analyzing the efficiency of context-based grouping on collaboration in VANETs with large-scale simulation[END_REF] propose a context grouping mechanism that allows clustering vehicles on VANETs according their location and direction. Finally, [START_REF] Basiri | Providing relevant information in an ambient services using service requester's "logical area[END_REF] suggest a fuzzy analysis of the location information, proposing a better interpretation of the proximity (the "here") concept.

Unfortunately, at the best of our knowledge, none of these works has proposed combining intention aspect with context information in a proactive or anticipatory behavior. In general, the notion of intention, representing concrete user's goals, remains totally unexplored by these works. This may represent an important drawback, since prediction is performed based only on technical solutions, ignoring user's intentions behind (and guiding) user's actions. Indeed, by ignoring user's goals, these approaches may improve the risk of recommending irrelevant services for users.

Meeting Service Context and Service Intention

Pervasive Information Systems (PIS) have to face complex pervasive environments, in which heterogeneous technologies cohabit and interact with each other and with the system itself. Besides, a PIS is supposed to behave as an Information System (IS), allowing its users to accomplish their business goals through the services it proposes. A PIS can thus be characterized by this dual nature: it must be considered in terms of IS and as a pervasive system. As a pervasive system, a PIS must handle dynamicity and heterogeneity of pervasive environments. According [START_REF] Capilla | Context Variability for Context-Aware Systems[END_REF], context information determines the environment in which a system operates. According to these authors, because different contextual conditions can provoke different system responses, suitable runtime adaptation mechanisms and intelligent decision making may enable systems to successfully handle the demands and the complexity of dynamic variability and adaptation. The context-aware nature of PIS is then ineluctable.

As an Information System, a PIS must consider goals users want to achieve by executing services it offers. Indeed, an IS is designed to support precise business goals, proposed as part of the overall organization strategy. These goals are independent from the technology used to implement them. Users should focus on these goals and not on the technology itself.

We believe that in order to handle such dual nature, a PIS must reduce the user's understanding effort, augmenting its transparency, allowing users to totally focus on the goals they want to achieve. A PIS must hide the complexity of the multiple available services it offers. This transparency will be only possible thanks to a user-centered vision. In this paper, we adopt a user-centric vision of PIS that is based on a close relationship between the notions of Intention, Context and Service. This vision allows, on the one hand, to consider the user's real needs through an intentional approach, and on the other hand, to manage the heterogeneity and dynamics of the pervasive environment through a contextual approach.

We consider that a service offered by a PIS is proposed in order to satisfy a given user's goal, corresponding to the user's needs. In other words, we consider that services should be associated with the intentions they allow users to satisfy. Such intentions emerge in a given context, which should be observed in order to fully satisfy such an intention. Indeed, we consider that a user does not require a service just because she/he is located in a given place or under a given context. For us, the user does require a service because she/he has an intention that a service can satisfy in this context. The context in which an intention emerges has an important impact on its satisfaction. A given intention may be satisfied by different means according to the context in which it emerges, since different services can be proposed according to the available environment, representing an important source of variability for a PIS. This vision, illustrated by Fig. 1 and detailed on [START_REF] Najar | A user-centric vision of service-oriented Pervasive Information Systems[END_REF], consider that a service is proposed in order to satisfy a given intention I under a given context CxR. This later represents the context in which the service is supposed to be invoked in order to work properly. In other terms, the required context CxR represents a set of contextual conditions under which the service is more likely to reach its goals. Therefore, the better the matching between the observed user's context and the required context CxR is, the higher the chances of adapting it to the current situation and of satisfying the user. Moreover, we also consider that a service is performed under a context Cx, which indicates the execution conditions of the service in the provider side. We present, in this paper, two mechanisms that explore this user-centric vision. First, we propose a discovery mechanism (cf. Section 4) that is able to discover most appropriate service capable of satisfying current user's intention under a given context. Secondly, we propose a prediction mechanism (Section 5) that will try to anticipate user's future intention, based on current user's intention and context, in order to proactively offer her/him the next service according her/his habits in the current context.

Service Discovery Mechanism

Based on our user-centric approach (cf. Section 3), we propose a service discovery mechanism guided by user's intention and context. Its objective is to hide implementation complexity, and consequently to achieve the transparency promised by PIS. This service discovery mechanism selects the most appropriate service for a given user, i.e., the service that satisfies her/his immediate intention in a given context. It is based on a semantic service description and on a semantic matching algorithm. This service description, which we detail in Najar et al. (2012a), extends service description on OWL-S in order to include the intention the service is able to satisfy, called Isvi , and the description of the required context associated with the service, called CxRsv. The goal of this algorithm is to rank the available services based on their contextual and intentional information. It semantically compares the user's intention with the intention that the service satisfies, and the user's current context with the service required context. The service having the highest matching score is selected. It represents the most appropriate service that satisfies the user's immediate intention in her/his current context.

Fig. 2 Schematic view of the Services Discovery mechanism

The semantic matching algorithm, as illustrated in Fig. 2, is a two-step process: intention matching and context matching. The first step, intention matching, compares the user's intention with the service one. It is based on a set of ontologies and on a semantic matching. An intention is represented as a nuplet I = <V, T > composed of a verb (V ) and a target (T ) representing user's goals [START_REF] Kaabi | Capturing intentional services with business process maps[END_REF]Najar et al. 2012b). In this step, we propose to compare the user's required intention Iu = <Vu, Tu > and the intention Isvi = <Vsvi, Tsvi >1 associated with a service svi in two separated matching process. For the verb matching, we use a verb ontology (named OntoV), which contains a domainspecific set of verbs, representing significant actions authorized by the PIS, with their different meanings and relations. A degree of similarity between the verb Vu, present in the user's intention Iu = <Vu, Tu >, and the verb Vsvi, offered by a given service intention Isvi = <Vsvi, Tsvi > is calculated based on the distance between these verbs in the verb ontology: score = (1/ L + 1), where L represents the number of links between two concepts in the ontology. We define five levels of similarity, inspired from [START_REF] Paolucci | Semantic Matching of Web Services Capabilities[END_REF], as explained in Table 1. For instant, Fig. 3 illustrates a fragment of a verb ontology related to tourism application domain. In this ontology, the verb "book" is related to the verb "reserve" by a "synonym" relation and related to the verb "ticket" by a "hypernym" relation (indicated by the "is-a" link). This means that if the user demands an intention containing the verb "book", services containing the verb "reserve" will obtain a score 0.9 on the verb matching, while those containing the verb "ticket" will obtain a score of 0.5 (1/2). No relation between the two verbs -1 0

The second step, context matching, is based on the context ontology (named OntoCX) and on a set of similarity measures. These measures match individually the different context elements constituting the user's context description, identified as Cxu, and the service required context description, identified as CxRsvi for a given service svi. Indeed, context information is often semantically represented using ontologies in which context information is structured (e.g. [START_REF] Toninelli | Semantic-based discovery to support mobile contextaware service access[END_REF][START_REF] Mokhtar | Efficient Semantic Service Discovery in Pervasive Computing Environments[END_REF][START_REF] Vanrompay | A Methodological Approach to Quality of Future Context for Proactive Smart Systems[END_REF]. In our case, context information is represented as context elements (location, available memory, user's expertise, etc.) that are observed from a given subject (a user, a device, etc.). Both context elements and subjects are semantically described using ontologies. The context description for a given user (Cxu) represents a set of context observations (cxj) associated with this user Cxu ={cxj } | j>0, in which each cxj indicates the value observed for a given context element.

The required context for a service (CxRsvi) describes a set of context conditions CxRsvi ={cxi } | i>0 expressed over context elements. The former corresponds to the current observed user's context, while the latter represents contextual conditions for which service was designed (i.e. context under which service is able to better satisfy its intention).

Each context condition cxi is compared to the context observations cxj, resulting in a context matching score Cxscore. This score is calculated as the sum of the scores of each context condition, as follows:

𝑪𝒙 𝒔𝒄𝒐𝒓𝒆 = (𝒘 * 𝑪𝒐𝒏𝒕𝒆𝒙𝒕𝑪𝒐𝒏𝒅𝒊𝒕𝒊𝒐𝒏𝑴𝒂𝒕𝒄𝒉𝒊𝒏𝒈 (𝒄𝒙 𝒊 , 𝒄𝒙 𝒋 )) 𝒏 𝒊!𝟏
As indicated above, we consider the relation ContextConditionMatching that individually matches the observations cxj, obtained from the user's context description Cxu, and the context conditions cxi, indicated in the service required context CxRsvi. The observable context elements can be divided into several types. Their values can be distinguished between numerical or non-numerical types. In order to take into account this diversity, the relation ContextConditionMatching identifies the nature of the context element and accordingly triggers the suitable measure to compare them. These measures evaluate if the user's context element satisfies the service context condition, based on a specific operator (equal, not-equal, between, higher-than, etc.). For example, a service context condition can be having the device bandwidth higher than 12500. From the user's current context, if the observed value of the user's device bandwidth is really higher than 12500, then evaluating measure will return an exact match.

The overall context matching process proceeds as follows: for each condition cxi and an observation cxj, we first match the corresponding subjects, using the context ontology. This match is calculated, like the verb and target matching, based on the distance between both concepts in the context ontology. If this matching score is higher than a given threshold, then we match the context elements associated with this subject. This last matching takes also into account a weight assigned to the context elements. If the matching score between them is higher than a given threshold, only at this moment we evaluate the satisfaction of the context condition regarding to the user's context observations value one by one.

Besides, the weight (w) corresponds to a weight assigned by the user to each context element and whose value is between 0 and 1, represents the importance of an attribute to a given entity. The purpose here is to highlight the real importance of a context attribute according to user's preferences, and the importance of the attribute is proportional to its weight. More details about the context matching are presented in Najar et al. (2012b).

The proposed service discovery mechanism allows determining the most appropriate service considering immediate user's intention and her/his current context. Nevertheless, this mechanism corresponds to a reactive behavior, since discovery process is launch by an active service request made by the user. User actively demands to the service discovery mechanism to satisfy a given intention. This reactive behavior has to be completed by a more proactive one, in which the system anticipates the user's next intention. Such a proactive behavior is offered by the prediction mechanism, that we explain in the next section.

Service Prediction Mechanism

In addition to the service discovery mechanism presented in the previous section, we also propose in our user-centric approach to predict the user's future intention. This approach recommends proactively a service that can fulfill user's future needs. It is based on the assumption that common situations can be detected, even in a dynamic PIS. We define a situation Si as the n-uplet Si = < Iu , Cxu , Svi > composed by a given intention Iu expressed by the user in a given context Cxu and satisfied by a specific service (Svi) resulting from a previous discovery process. These situations are time-stamped and stored in a database after each service discovery process, forming a history. The user's history H is defined as a set of all the observed situations Si ordered according to their time of occurrence. Thus, by analyzing the history H , the prediction mechanism can learn the user's behavior model, called Mc, in a dynamic environment, and thus deduce its coming immediately intention.

Fig. 4 Schematic view of the Services Prediction mechanism

Two main processes compose the service prediction mechanism, as illustrated in Fig. 4: the learning process and the prediction process. Indeed, to realize anticipatory and proactive behavior of PIS, we need first to dynamically learn about the user and her/his behavior in a frequently changing environment. This represents the learning process, in which similar situations are grouped into clusters, during the phase of clustering. In the next step, these clusters are interpreted as states of a state machine. This phase is called classification. It aims at representing, from the recognized clusters, the user's behavior model (Mc) based on her/his situations (Si). By interpreting situation changes as a trajectory of states, we can anticipate her/his future needs. Therefore, the prediction process will try to anticipate the user's next situation based on the user's behavior model (Mc), resulting from the learning process, on the current user's intention (Iu), as well as on the current user's context (Cxu).

It is worth noting that, in order to represent a situation, we attach a particular service to the couple <Intention, Context>, forming the tuple Si = < Iu , Cxu , Svi >. We are aware that this represents a strong constraint, since the concept of situation is necessarily coupled to a particular service, but it opens a significant performance advantage, since it is not required to launch the service discovery mechanism during the prediction process. Indeed, the prediction mechanism will determine the next probable situation of the user, including her/his coming intention and context, as well as the service that has been used to satisfy this intention in this precise context. Thanks to the presence of the service in the concept of situation, a new discovery process is not necessary, since we have already an appropriate service for this couple <Intention, Context>. As a consequence of such a definition, it is important to regularly update the clusters in order to have the service that best matches the couple intention and context associated with the situation. Learning process is thus an off-line process that should be regularly executed, independently of the prediction process.

The main role of clustering is to detect recurrent situations among those previously observed and grouped in a cluster. A cluster consists of a centroid and a set of situations, both defined by a n-uplet < Iu, Cxu, Svi >. The centroid represents the identifier of the cluster, which symbolizes the situation the most similar to all the situations grouped in this cluster. The main task of the clustering phase, as illustrated in Fig. 5, is then to detect, for a given situation, the closest set of situations corresponding to highly similar intentions in a quite similar context. This provides us a powerful mechanism to evaluate the user's intention. Indeed, a user can express the same intention in a slightly different way by using verbs and targets that are semantically similar enough. Based on verb and target ontologies, we perform a semantic matching between two intentions in order to determine their degree of similarity.

The same applies to context information, since an intention may rise on similar contexts.

More precisely, the input of the clustering phase consists of a set of vectors representing user's situations stored in the history. For each new observed situation in the user's history, the clustering phase determines closest cluster by comparing intention and context from this situation with those coming from the centroid of the identified clusters. In order to compare them, we use the same intention matching and context matching used for the discovery phase. If this matching is below a given threshold, the situation is included in the closest identified cluster. If no existent cluster is enough similar to the situation, a new cluster is created. Thus, after a clustering phase, the corresponding cluster identifier is attached to each new situations stored in the history.

Fig. 5 Schematic view of the clustering phase

From these recognized clusters and the user's history, the classification phase determines and maintains a user's behavior model, as illustrated in Fig. 6. This model represents the user's behavior as a set of states with a transition probability. Each state is represented by the centroid of the recognized cluster. Each probability is calculated based on the history and determines the probability of moving from one state to another.

Several classification techniques exist. Among these techniques, the Markov chains [START_REF] Feller | An Introduction to Probability Theory and its Applications[END_REF]) represents one of the well-known classification algorithms that can be used in a PIS.

𝑝 !" ! !" ! = 𝑃 𝑋 !!! = 𝑆𝑡 ! 𝑋 ! = 𝑆𝑡 ! = 𝑁 !" ! !" ! 𝑁 !" ! !" !
For each new situations stored in the history, we proceed by selecting for each situation Sti (identified by its cluster), its successor Stj. The successor Stj represents the situation that is directly stored after the situation Sti. Indeed, by observing timestamp associated with each observed situation individually, it is possible to determine the situation that follows this one, indicating a possible transition between the clusters containing these situations. Then, we calculate the number of the existing transitions from Sti to Stj (NStiStj). Next, for each situation Sti, we determine the entire possible next situation Stk (NStiStk). We note that, in the history database, the former number of transitions from Sti to Stj (NStiStj) and the number of all the possible transitions from Sti (NStiStk) are already stored. This information is updated, and all the states and transition probability are represented and calculated accordingly. The Markov chains model resulting from this process represents the user's behavior model (Mc) that is used during the prediction process.

The prediction process is thus mainly based on the results of the classification phase in order to predict the next user's intention and service. This prediction process, represented by the algorithm in Table 3, is based on the semantic matching between the user's immediate intention and context and those of the states represented in the user's behavior model. Similar to the discovery mechanism, the semantic matching is based on ontologies in order to calculate the intentional and contextual matching scores. The final matching score represents the sum of the intention matching score and the context matching score. This information is stored with the state identifier. And going through all the states of the model, we can determine the state the most similar to the current user's situation. Subsequently, if a state is identified, then the next state is selected based on the transition probabilities. This transition probability must exceed a certain threshold. If several successor states are retrieved, then the one having the highest transition probability is chosen. By this choice, we can anticipate the user's future needs by offering her/him the most appropriate service that can interest her/him.

Evaluation

The service discovery and prediction mechanisms presented in this paper were implemented using Java language, Jena232 and the reasoner Pellet3 . In order to evaluate the proposed mechanisms, we use the test collection OWLS-TC4 , a very popular set of OWL-S service descriptions available in different domains. We focus, for evaluation purposes, on the traditional travel domain, selecting the services descriptions concerning this domain. We extend these service descriptions proposed by OWLS-TC, using our API OWL-SIC (OWL-S Intentional & Contextual) (Najar et al. 2012a), which includes, on each service description, intentional and contextual information. Besides, we create a database containing user's traces, recognized clusters and the user's behavior model. We mixed a set of arbitrary traces with others following a scenario representing a well-defined user behavior. Thereafter, we launch the clustering algorithm on the set of traces in order to determine all the recognized clusters. Then, we execute the classification algorithm on all traces and clusters in order to update the user's behavior model stored in the database.

As part of our experiments, we deployed the proposed mechanism on a machine Intel Core i5 1.3 GHz with 4 GB memory. The purpose of these experiments is to evaluate the validity of our algorithms and their feasibility. Two criteria retained our attention: the algorithms scalability and the quality of their results. By the scalability, we intend to evaluate if the execution time is reasonable and if it scales up in a reasonable way. By evaluating the quality of the proposed, we intend to evaluate whether the proposed algorithms can effectively reach their goals. In order to perform such an evaluation, we formulate a set of user's requests relatives to the travel domain. These requests represent the user's intention and her/his current context. These requests are formalized according to three different distributions. The first distribution considers requests that are very similar to one or more available services (for the service discovery mechanism) or to a clusters centroid (for the service prediction mechanism). Then, the second distribution illustrates situations in which the elements describing the intention and/or the context are not described in the ontologies, while there are services or clusters that could be considered as similar to this request. Finally, the third distribution shows the influence of the threshold by presenting in this distribution requests that are within the limits of the threshold and others that are beyond the threshold.

Our first experiment concerns the evaluation of the proposed service discovery mechanism. We measure the performance of the discovery algorithm by varying the number of services between 100 and 400. As illustrated in Fig. 7, the execution time follows a polynomial trend of degree three varying from 2.79 s for 10 services to 11.82 s for 400 services. Indeed, this trend correspond to a complexity O(N 3 ), where N represents the set of available services. We consider that this set will be greater than the set of contextual conditions that is supposed to be match by a service, and than the set of context observations available on the user's context. This means that, in its worst case, discovery algorithm executes respecting such a polynomial complexity. Such polynomial complexity explains the observed execution time. Even if this time seems still high, we can observe that despite the fact that we have increased the number of services over forty times, the response time has only increased by four times. Besides, in order to measure the quality of the result, we cover the two most useful quality metrics: precision and recall [START_REF] Xiao | An Approach for Context-Aware Service Discovery and Recommendation[END_REF]. As indicated in Table 4, precision represents the capacity of a system to return only relevant items, while recall indicates the capacity of a system to discover all relevant items. Through the experiments, we observe that the precision and recall are interesting factors when considering the intention and the context in service discovery. The result presented in Fig. 8 shows that we obtained a higher precision percentage, about 80%. This indicates that our service discovery algorithm has a greater chance to retrieve the most appropriate service according to user's intention and context. However, the good results of precision are accompanied by less interesting results concerning the recall, as illustrated in Fig. 8. We can observe that the average recall approximates the 67%. These results can be explained by the different request distribution we prepared for these experiments. Indeed, in our second distribution, we have described some user's requests in which the elements of the intention are not described in ontologies, while it exists a set of services able to satisfy this intention in the current user's context. The evaluation of the requests belonging to this second distribution leads to the evaluation of situations that can potentially harm the results quality. Our second experiments concern the evaluation of our service prediction mechanism. We measure the performance of our algorithms with respect to the number of clusters, situations and states, by measuring the average processing time. Concerning the clustering algorithm, we measure the time this algorithm takes to determine the belonging cluster of a new observation. Results, presented in Fig. 9, demonstrate that the execution time observes a polynomial trend, varying from 2.56s for 7 clusters up to 5.1s for 186 clusters. In other words, by increasing about 6x the number of clusters, execution time has augmented only about 2x.

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑖𝑡𝑒𝑚𝑠 ∩ { 𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑖𝑡𝑒𝑚𝑠 } {𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑖𝑡𝑒𝑚𝑠 } 𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑖𝑡𝑒𝑚𝑠 ∩ { 𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 𝑖𝑡𝑒𝑚𝑠 } {𝑟𝑒𝑙𝑒𝑣𝑎𝑛𝑡 𝑖𝑡𝑒𝑚𝑠 }
A similar trend could be observed for the classification algorithm (see Fig. 10), in which we evaluate the time the algorithm takes to update the user's behavior model. We vary the number of available observations from 10 to 200 observations, which represents a variation of 20x in the number of observations, and we obtained an execution time varying from 39ms up to 398ms, representing a variation of only 10x in the execution time.

Finally, the execution time of the prediction algorithm is measured by varying the number of states in the user's behavior model, between 8 and 168 states. As illustrated in Fig. 11, the execution time also follows a polynomial trend of degree three, like the service discovery algorithm, varying from 1.63s for 8 states up to 4.16s for 168 states. In other words, we increased the number of states over 25x, while the execution time has only increased by 2.5x. All these results allow us to validate the feasibility of our proposed algorithms. In order to measure the result quality of the prediction process, we use a quality metric inspired from the precision used to evaluate the service discovery. This metric is used to check whether the predicted service is the one that is expected or not. We determined previously the service that the prediction algorithm should predict for a given user's request, based on the user's behavior model. Then, we compared this service with the service returned by the algorithm.

We illustrate in Fig. 12 the quality percentage achieved by the algorithm by varying the number of states. This percentage represents the average quality obtained for all the user's requests. The results presented in Fig. 12 indicate that the prediction algorithm has a good quality around 60%. Similar to the discovery mechanism, these results can be explained by the evaluation of certain situations described by our requests, which can significantly degrade the results quality obtained. For example, in some requests using intentions in which the verb and/or the target are fairly generic or specific, we obtain a poor quality that is, in some cases, below 45%. Besides, these results also demonstrate the impact of the threshold on the prediction mechanism. Indeed, when considering high threshold settings in the prediction algorithm, some clusters or states that could meet the immediate user's intention in her/his current context will not be selected, and this contributes to degradation of the results quality.

The analysis of these results shows the importance of the service discovery and prediction mechanisms. We believe that the proposed mechanisms allow the selection of the service that fulfills the user's immediate needs and the anticipation of her/his future need. This is thanks to both our intentional approach, which is more transparent to the user, and our contextual approach that restricts services to those that are valid. However, it is important to note that such good results cannot be obtained if the system designer does not establish, from the beginning, a rich description of the available services and of the different ontologies, as well as an appropriate threshold setting. However, several other questions raise from these mechanisms and from future directions on PIS. The first of these questions consider the complexity of intentions related to the PIS services. The prediction mechanism we propose allows identifying only simple sequences of 1+1 services, representing the current intention and the following one, without considering whenever such sequences of intentions correspond to a bigger strategy. In fact, according to [START_REF] Kaabi | Capturing intentional services with business process maps[END_REF], high-level intentions can be decomposed on lower level ones. This means that, in order to satisfy a complex high-level intention, user may have to first satisfy several low level intentions, simplest and consequently easiest to operationalize. Currently, our prediction mechanism allows the dynamic composition of sequences of two intentions, but different other forms of composition are possible. Indeed, [START_REF] Kaabi | Capturing intentional services with business process maps[END_REF] have identified several different operators, including parallel intentions, i.e. intentions related by a AND construct, in which the satisfaction of a bigger intention demands the satisfaction of other smaller intentions simultaneously, and variability, in which multiple alternative intentions can be used in order to satisfy a high-level intention (like an OR construct). Today, such composition of intentions is only available at design time: services encapsulating such compositions should be predefined and described as such (see Najar et al. 2012a for details); no other dynamic composition of intentions is possible.

We advocate that, by analyzing user's traces, it will be possible to dynamically identify such compositions. We believe that these compositions of intentions can be seen as a user's behavioral Predic2on"Quality"

patterns describing complex strategies users apply in order to reach bigger goals. However, identifying such complex behavioral patterns is a harder task than identifying only simple sequences, which may demand more complex learning techniques, such as Bayesian networks for instance. Besides, dynamically identifying such behavior patterns may contribute to improve transparency of PIS, since these patterns allow composing fine-grained intentions (and services) on coarse-grained ones, easiest to understand by the users.

Dynamically composing coarse-grained services will become a priority for PIS in a near future thanks to the integration of IoT technologies on future PIS. With the development of new IoT technologies, PIS will have at their disposal in the future new multiple devices (sensors, actuators, etc.), offering multiple services and data. Indeed, the cost of bandwidth and processing power have declined as well as the cost of sensors, that become so cheap they can be used in many devices [START_REF] Jones | Internet Of Things: Shifting From Proprietary To Standard[END_REF].

According Broy and Schimidt (2014), "within the next 25 years the world around us will consist mainly of input and output components to networked computers; most of the things and devices we interact with will be linked to a global computing infrastructure". The IoT vision considers a full new world of physical and virtual 'things' that are seamlessly integrated into the network and fully communicating. These 'things' are supposed to interact and to communicate among themselves and with the environment by exchanging data and information 'sensed' about the environment while reacting to physical world events [START_REF] Sundmaeker | Vision and Challenges for Realising the Internet of Things[END_REF]. A full new panel of collected data and services will be then possible thanks to the integration of such 'things' into PIS, opening on those systems new perspectives of advanced features and services.

According to [START_REF] Sundmaeker | Vision and Challenges for Realising the Internet of Things[END_REF], things on the IoT are expected to become active, participating in business, information and social process. PIS will then be at the center of adoption of IoT in business companies. PIS will have to integrate these technologies, which will offer large volumes of data and an increasing number of services integrated to the environment. Nevertheless, the nature of the services offered by PIS will evolve and we may reasonably expect that their granularity will also change, varying from fine grained services offered by small actuators integrated into the physical environment, till coarse grained services, involving complex business process. More then never, a user-centric approach based on the user's intention will be necessary, in order to make this complex environment understandable for the user. Discovery and prediction mechanisms we propose represent a first step in this direction. The evaluation results discussed earlier in this paper (cf. section 6) demonstrated not only the interest of this approach, but also interesting performance results, with a good scalability, making then possible to consider the application of the proposed mechanisms on such dynamic and dense environment.

Besides, the possibility of dynamically composing services thanks to observed user's behavior patterns represents thus a necessary step towards transparent PIS on a IoT environment. Different from current composition mechanisms, which consider often only service input and output information in addition to context information, such new composing mechanisms should consider user's intention associated with these services in addition to the context itself. It is then necessary to go beyond our current prediction mechanism, towards advanced learning algorithms, combining both intention and context information on more complex patterns.

Moreover, we believe that the development of IoT will bring an important swift on the way context awareness is conceived. Until now, context information is established on design time: system designers have to anticipate what context information they need (or want) to observe at design time and integrate on their systems design the corresponding sensing mechanisms. However, thanks to IoT technologies, PIS will have available in their environment several new context information that was not necessarily predefined or known at design time. Sensing context information is not the challenge anymore. The challenge will be how to opportunistically explore context information collected and discovered from the environment at execution time, instead of using only predefined context elements.

The question of relevance of context information becomes central for service discovery and prediction, since the volume and the nature of available context information will exponentially grow. We strongly believe that it is necessary to go further on today's clustering and classification techniques in order to efficiently identify context elements that have a real impact on service discovery and prediction, and more generally, on the overall use of PIS.

We advocate that new successful PIS will have to integrate competitive BI (Business Intelligence) techniques, adapted to the Big Data reality in order to deal with the explosion of context data brought by IoT. Indeed, according to [START_REF] Andriole | Optimizing Operational and Strategic IT[END_REF], to remain competitive, all companies will invest heavily in analytics and business intelligence (BI). However, volume of data affected by such analytics techniques will exponentially grow with IoT, particularly with we consider all context information that can be observed, requiring the use of Big Data techniques in order to store and handle huge volume of data. For Jones (2014), Big Data analytics makes IoT possible. This means that it is necessary to go beyond today data warehouses for data analytics. Since the nature of the context information granted by IoT is quite different from what we are currently analyzing with BI techniques today, other challenges are rising. Dynamic and heterogeneous nature of context information collected by smartphones, sensors and other IoT devices, represents an interesting challenge for data analytics techniques. These techniques are not necessarily prepared for such heterogeneity and volume of data, as demonstrated by [START_REF] Jaffal | Unified and Conceptual Context Analysis in Ubiquitous Environments[END_REF] and [START_REF] Ramakrishnan | Enabling self-learning in dynamic and open IoT environments[END_REF]. New improvement on these techniques will then be necessary for fully explore context information as Big Data on such IoT environment.

To sum up, we advocate that future PIS will have to integrate techniques from multiple domains, such as Big Data and Data analytics, in order to be successful. And inversely, new PIS offer interesting challenges for these domains, by confronting Information System needs to a new environment offered by IoT and pervasive technologies.

Conclusions

In this paper, we have proposed a user-centric approach for service discovery and prediction considering PIS. This approach is needed in order to hide the complexity of these systems and to achieve the transparency required by their users. Indeed, new technologies are transforming the way users interact with Information Systems (IS). New trends, such as BYOD and IoT transform IS environment on a pervasive environment, full of complex and heterogeneous technologies. New Pervasive Information Systems have to integrate this environment, without penalizing the user, who should focus on her/his own activities and not on the environment. A new approach for conceiving PIS is then necessary in order to reach context-awareness and transparency needed for these systems. We have introduced in this paper a user-centric approach that focus on both user's intention and execution context. We advocate that PIS transparency and proactivity can be enhanced throw the proposed service discovery and prediction mechanisms, defined considering the user's point of view. These allow us not only offering user the most suitable services given her/his current intention and context, but also to anticipate the future user's needs in a fairly understandable way. By this approach, we believe contributing to the improvement of PIS transparency and proactivity through a user-centric perspective focusing on the intentions that services satisfy in a given context.

Moreover, evaluation results we have presented in this paper are promising and encourage us to go further on our approach. Proposed algorithms have demonstrated to scale up and have presented interesting quality results. These encourage us to improve current implementation of these algorithms, by considering different optimization techniques, such as parallelizing segments of code. Besides, an improved evaluation of the algorithms is also needed. Indeed, evaluating the user acceptation of the proposal requires applying it in a real case study. Such evaluation should consider the final user's point of view. It should consider the user acceptance, mainly considering the prediction mechanism, as well as the level of transparency perceived by these users. As a future work, we expect to evaluate our approach in a large-scale in order to validate its usefulness and compare it with the existing techniques.

Besides, other improvements on the proposed algorithms might be considered. For instance, the influence of people on their peers, as demonstrated by [START_REF] Baras | The effect of social affinity and predictive horizon on churn prediction using diffusion modeling[END_REF], could be considered on the discovery mechanism. Similarly, other algorithms, such as those proposed by [START_REF] Kas | An incremental algorithm for updating betweenness centrality and k-betweenness centrality and its performance on realistic dynamic social network data[END_REF], could be considered for calculating the centroid of a cluster on the prediction algorithms. Such improvements should be considered and evaluated in the future.

Finally, as discussed previously in this paper, PIS open new research perspectives for IS. The development of IoT and the potential integration of a large volume of data, and notably, context data, and services will durably impact PIS. Successful PIS in the future will be those capable of not only handle big volumes of data, but also to explore these data, with appropriate mining and data analytics techniques. Service discovery and prediction mechanism are only a few examples of the numerous mechanisms and services offered by PIS that can beneficiate from these new developments.

Fig. 1

 1 Fig. 1 Relationship among context information, service and user's intention (Najar et al. 2014)

Fig. 3

 3 Fig. 3 Example of a verb ontology (fragment)

Fig. 6

 6 Fig. 6 Schematic view of the classification phase

  user's intention Cxu : current user's context Mc : user's behavior model Output Result : tuple < Inext , Cxnext , Svnext > corresponding to the user's next situation Ranked = Ø Result = Ø States = getStates (Mc ) FOR EACH id ∈ States DO Iid = getIntention (id) Cxid = getContext (id) Score = ( IntentionalMatch (Iid ) + ContextMatch (Cxid) ) / 2 Ranked = Ranked ∪ { < id , Score > } END FOR IF Score NOT EMPTY THEN Observed = MaxScore (Ranked) ScoreMax = getScore (Observed) IF ScoreMax > α THEN Success = FindNextState ( getState (Observed), Mc) Inext = getIntention (Sucess) Cxnext = getContext (Sucess) Svnext = getService (Sucess) Result = { < Inext , Cxnext , Svnext >

Fig. 7 .

 7 Fig. 7. Performance evaluation of the Service Discovery algorithm

Fig. 8 .

 8 Fig. 8. Quality evaluation of the service discovery algorithm

Fig. 9 .Fig. 11 .

 911 Fig. 9. Performance evaluation of the clustering algorithm

Table 1 . Verb matching relations

 1

	Matching	Explanation
	Relation

Table 2 . Target matching relations

 2

	Matching	Explanation
	Relation

Table 4 . Definition of precision and recall metrics

 4

Quality evaluation of the prediction process 7. Discussion and Future Directions

		8"	Predic9on%algorithm%performance%%
		7"				Predic1on" Poly."(Predic1on)"
		6"
	Time%(s)%	4" 5"
		3"
		2"
		1"
		0"
		8"	17"	33"	68"	116"	168"
			Number%of%states%in%the%user's%behavior%model%
	Fig. 12. Evaluation results presented earlier in this paper (cf. section 6) demonstrate that, by observing the
	user's intention and combining it with the notion of context, it is possible to propose users better
	suited services, which are able to satisfy this intention considering current user's context conditions.
	Results considering the proposed prediction mechanism demonstrate that by analyzing user's traces, it
	is possible to achieve a proactive behavior, anticipating future user's needs. Besides these quality
	considerations, evaluation results also demonstrate the feasibility of the proposed mechanisms, which
	show good performance behaviors.

Number'of'states'in'the'user's'behavior'model' Predic<on'Process'Result'Quality'

		100"
		90"
		80"
	Results'Quality'(%)'	40" 50" 60" 70"
		30"
		20"
		10"
		0"
		8"	17"	33"	61"	116"	168"

In this paper, we use the indices u and svi in order to distinguish information related to the user (index u) from the information obtained from the description of a given service (index svi).

http://jena.sourceforge.net/

http://www.mindswap.org/2003/pellet/index.shtml

http://www.semwebcentral.org/projects/owls-tc/