A Dynamic Service Description for Mobile Environments
With the increasing processing capability of mobile platforms and advancements in Internet of Things, modern mobile devices have shown a favorable prospect for on-the-go service provisioning. However, there is much to be done to realize this. A detailed, dynamic, and lightweight service description is an important requirement for automatic and efficient discovery, selection, and subsequent provisioning of services over mobile devices. Traditional approaches for service description are usually not directly adaptable to mobile environments owing to the latter’s dynamic and distinct nature. In this paper, we propose a dynamic, lightweight, extensible, and detailed service description especially designed for mobile environments, considering crucial aspects such as isolated data source, collaborator partners, and hardware aspects along with the functional, non-functional, business, and contextual aspects. The description has been partitioned along these lines and various parts of the description are distributed between service registries and the mobile service providers. An up-to-date and light weight description has been achieved by this, without compromising on the overall consistency of the description. A prototype of the proposed system has been implemented with the intent of validating the feasibility of the approach. Further, the proposed approach is suitable for a heterogeneous environment comprising both wired and wireless systems.
keywords:Mobile Web Services, Service Description, Service Publishing.
Over the past two decades, mobile technology has gained widespread popularity and has become a part of day-to-day life. In particular, smart phones and mobile devices strongly impact the way human beings communicate and deal with digital information. The modern era has witnessed rapid advancements in the field of mobile technology and wireless networking. As a response to this advancement and growth, a large number of services are emerging in the market that can provide digital information over hand held mobile devices. With such dramatic growth, smart phones and mobile devices have the potential to become ”service providers” from merely being ”service consumers”.
The materialization of the vision to host web services over mobile devices can bring a new level of usability to mobile users. The mobile web services will allow the mobile user agent to directly interact with other mobile user agents. This reduction of human intervention in service provisioning will speed up service execution, limit the chances of error, automate redundant tasks, and most importantly reduce the annoyance of human users. A few prospective applications of mobile web services are: 1) Credit cards, debit cards, visiting cards can be provided as web services from mobile devices without the need of having the user search for them or even carry them physically. 2) Localization of personal information can be done seamlessly through services over mobile devices. 3) Modern mobile devices are equipped with powerful sensors. Mobile devices laden with such sensors play the role of a “gateway” facilitating proper access to the capabilities of the sensors. 4) Mobile services are particularly useful in scenarios where there is little or no preexisting infrastructure by functioning through ad-hoc networks. Examples of these scenarios are war-front, post-disaster relief.
The realization of web services over mobile devices has gained attention in the community. Several works have been proposed to provide web services over modern mobile devices (Cheng et al., 2002)(Berger et al., 2003)(Adacal & Bener, 2006)(Hassan et al., 2010)(AlShahwan et al., 2011). However, a key challenge that is overlooked here is “service description”. Service description is crucial for the consumers of services to get a sense and better understanding of the offered services and operations. This is of further importance in mobile environments, where the service invocation requires a great deal of service understanding owing to the dynamic nature of transient services. Traditionally, WSDL (Web-Service Description Language) is used to describe and publish the technical description of web-services. Well written WSDL documents provide binding implementation information, detailed description of input-output messages, information on how messages are sent through the network, amongst others. Further, WSDL documents facilitate discovery of the intended web-services over standard service registries such as UDDI - Universal Description Discovery and Integration. On the flip side, however, WSDL documents only provide the functional information of a web-service. They do not provide information on the non-functional aspects, contextual aspects, and the business aspects of a web-service. This information is crucial and of utmost importance in selection and proper usage of available services especially in the context of providing such services over mobile devices.
In an earlier work of ours (Verma & Srivastava, 2015), we were able to incorporate functional, non-functional, contextual, and business aspects of services to service descriptions for mobile devices. In this work, we plan to build upon that work to incorporate several more important aspects to such descriptions of mobile services. These include descriptions of service collaborators, data source details, hardware aspects, and consumer base. Mobile devices may sometimes act as the “gateway” to information provided by data sources such as embedded sensors, third party applications, or other mobile services. In such scenarios, the mobile service provider and the data source can be viewed as two separate entities. Both the entities are operated autonomously, with their own unique characteristics and further both entities are prone to failure independently. In such scenarios, traditional service description solutions do not suffice as they consider data source and service provider as indistinguishable entities. An important perspective covered by the proposed mobile service description is: “data source” and “mobile service provider” are looked upon as two disjoint and independent entities. To the best of our knowledge, this paper is the first attempt at considering the service provider and data source as two separate and autonomous entities and proposes a service description solution accordingly.
We extend our earlier approach to incorporate descriptions on data source and decouple the descriptions of these two entities (service provider and data source). Further, we acknowledge the fact that mobile web services are usually light weight and provide limited functionality. Mobile services can be combined and aggregated among themselves to build and compose more complex and useful services. Hence, this collaboration can offer to provide services that can be readily useful in a real world scenario. In the proposed approach, we further incorporate details on the collaborative partners. The goal of this paper is to provide various service descriptions and information handy to the service consumer. Access to such information along with technical descriptions at the time of service discovery speeds up the service selection process considerably. Further, this can facilitate the service consumers to shortlist and select the most suitable and optimum service provider beforehand without the need to communicate with individual service providers. The trade-off though in making such additional information available is that it proportionately increases the size of the description document. The mobile service consumers need to perform heavier processing to handle such lengthy descriptions. Furthermore, such description information (which could include availability, location, response time, latency, price, service scope) is subject to frequent changes owing to the very nature of mobile environments. Management of such detailed service description documents at the service registry therefore could easily suffer from consistency issues, lack of up-to-date information, and increased network traffic. In this paper, we attempt to tackle such issues and provide a feasible solution for mobile service descriptions.
The aim is to provide a lightweight solution that is dynamically update-able and facilitates rich service descriptions in mobile environments. We emphasize, however, that the proposed solution is not a replacement for existing technologies but one that complements it. It acknowledges the heterogeneity of the environment that supports a co-existence of wired, wireless, and mobile devices. The idea is to extend the WSDL 2.0 (W3C Recommendation, 2007), to incorporate non-functional, contextual, business, data source, collaborator information. The extension takes into account the constraints and issues of mobile environments. To the best of our knowledge, this is the first attempt at providing a lightweight yet exhaustive service description solution that facilitates dynamic updates in mobile environments.
The rest of the paper is organized as follows: a summary of the concepts used for service description in mobile environments is presented in Section 2. A motivating scenario for mobile SOA and service description is presented in Section 3. A brief description of the problem forms Section 4. Detailed discussion on the extensible, dynamic service description is included in Section 5. Evaluation of the proposed approach is presented in Section 6. Finally the related work section and concluding remarks form parts of Section 7 and Section 8.
In this paper, we use the term mobile services to imply self-contained and reusable services that are provided by mobile devices or sometimes by human users via mobile devices. Such mobile services are application components that facilitate device to device communication over mobile environments. They provide means to communicate between various software applications of mobile devices. Such services may be utilized for commercial and non-commercial purposes. A few applications of mobile services are:
- Replacement of physical day-to-day things: Physical credit cards, debit cards, identification cards, access keys can be provisioned as mobile services hosted over mobile devices of users.
- Gateway to sensor provided information: Mobile devices can provision services that offer information provided by general purpose sensors (e.g. Location sensor) or special purpose sensors (e.g. Medical sensors (ECG sensors, Body glucose sensors)), Environmental sensors (Fire sensors, Barometer sensor).
- Personal information provider: Services that offer information of a person can act as a dynamic and digital visiting card. This can help him to socialize without the need of introducing himself again and again. Further, this can be used by applications that record attendees information in a particular meeting.
- Service in Infrastructure-less environment: Mobile services are particularly useful in the scenarios where there is little or no preexisting infrastructure by functioning through mobile ad-hoc networks. Examples of these scenarios are war-front, post-disaster relief.
Though such services are already provided over wired networks and are widely used, the concept of services hosted and provided over mobile devices is relatively new and is in an inception phase. Services offered over mobile devices of users has the potential to substantially reduce the total cost of ownership for hosting a service. Further such mobile services are able to provide personalized and contextual services/information in a more effective manner. One may also suggest running a web service on somewhere in the wired infrastructure and making the mobile device a proxy for the same rather than actually hosting it over the mobile device. Though running mobile services as a proxy can work in some situations, there are many applications and scenarios (as discussed above) that require services to be present on the mobile device. Further, firewalls sometimes block the access between mobile services and proxy. Also, provisioning, configuring, and maintaining a proxy is harder for a common user than maintaining a device itself. Hence, hosting web services over mobile devices is a better approach in most scenarios. Berger et al. (2003) provides an interesting discussion on the same.
An effective way to make the most of mobile services and easing service consumers interaction with mobile services is a well defined “Service Description”. This enables service consumers to effectively discover and use the offered mobile service. Figure 1 depicts the role of service description in service systems. In a service system, the usual stages are: Service Publishing, Service Discovery, Service Selection, Service Binding, and Service Invocation. Service description is an integral part in most of these stages and therefore the role of service descriptions can not be overemphasized. A service description is a means to express the characteristics of the offered service to unknown prospective consumers. Well expressed descriptions are important for service consumers to make sense of the offered services and operations. Service descriptions provide clear and structured instructions on how to invoke a service which is particularly important to first time service consumers. Moreover, an exhaustive service description eases device-to-device communication by automating various stages of service systems (as shown in Figure 1). Hence, in this paper our prime focus is a service description framework for mobile environments.
In the proposed work, we propose a solution to complement the existing technology particularly WSDL. We work towards extending the features of the WSDL document to accommodate the needs of the mobile environment. WSDL already provides a concrete fundamental technology that can be adapted for mobile environments to describe and publish functional and technical parts of the mobile services. In the current context where wired legacy systems and modern hand-held mobile devices coexist, a service description framework that works well in the heterogeneous mixture of diverse technologies and provides a platform for interoperability is required.
To the best of our knowledge WSDL 2.0 is best suited for such requirements. WSDL 2.0 is capable of describing both the major web service technologies: SOAP based and REST (Representational State Transfer) based; this is possible as WSDL 2.0 has good support for describing HTTP bindings. WSDL 2.0 further provides a generic mechanism to define service operations using Message Exchange Patterns (MEP) (W3C Recommendation, 2007). This feature encourages message-oriented operations and supports arbitrary message exchanges that are pertinent for heterogeneous mobile environments. Although several other description languages have been proposed since the inception of WS-* technology, most do not take into account the distinct nature of mobile environments. This, along with the wide acceptance of WSDL has made us rely on it for the functional description of services in mobile environments. Furthermore, continuing with WSDL would require least tinkering with existing protocols and technologies.
Being XML based, WSDL 2.0 has very convenient in-built extension capabilities that can sufficiently cater to our requirements. Our approach is to extend WSDL 2.0 to accommodate various other description aspects in addition to the functional description that it already takes care of. For this, we have utilized the “import” statement of WSDL 2.0 for linking physically separate description documents. These partitioned descriptions enable lightweight, dynamic, and consistent management of the overall service description.
3 Motivating Scenario
In this section, we present a brief scenario that demonstrates the importance of the non-functional, contextual, and business aspects of service description in addition to the usual functional description. Further the scenario discusses about the importance of the data source, collaborator, and hardware description in a mobile environment:
Alice is going on a solo budget trip to Paris for the first time. It was a last minute decision and therefore her trip is not well planed. As she lands at Paris Airport, her mobile device fetches for her the available accommodation options. It discovers a few lodging options from the function descriptions of the mobile web services exposed by the mobile devices of Bob (hostel owner), Carol (solo traveller), Dave (group traveller), and Eve (Tourist Agent). However, her mobile device is unable to shortlist the best option from these for her. This is because it is not aware of various other vital details such as service reliability, throughput, network capacity (Non-functional Description), current online status, location, battery status (Contextual Description), price to access, security, minimum version for client agent (Business Description). Nonetheless, upon Alice’s intervention the accommodation services offered by Bob are selected. As she moves towards Bob’s accommodation, her mobile device fetches for her the nearby food options. Apart from the café, restaurants, her mobile device also discovers a few innovative food buddie services offered by other travellers (Carol, Frank, and Ron) hosted over their mobile devices that seek a partner for an existing dinner reservation. Her mobile device, however, was unable to shortlist the food buddie services further as the details on the restaurants they are interested in, its menu, reservation policy, and other descriptions were not available (Collaborator Description). Therefore, her mobile provides Alice a vanilla list of offered services. Alice likes the food buddie service as she wants to socialize on her nomadic trip. Therefore, she decides to join Carol, but later Alice regrets her decision as she had to travel to the other part of the new city. On her way back, her mobile device discovers a few mobile services offering information on a shorter route with less traffic. However, the source of the routing information is unknown (Data Source Description). Therefore, the services were not used despite being genuine. Alice’s mobile device discovers a few mobile services offering discounted entry tickets for the Eiffel Tower and the Louvre Museum. However, her mobile device is not able to further shortlist these services because apart from the functional description no any other description was available. Hence, it requires some manual intervention that introduces human biases and chances of accessing multiple services for getting things done.
Now, if the updated non-functional, contextual, and business information were made available to Alice along with the functional service description, it would have saved Alice the hassle of communicating and negotiating with irrelevant service providers. These aspects of description are therefore worth considering in a mobile scenario: non-functional description would give Alice an idea about the overall performance of a mobile service; business related constraints or information (such as availability of service in her locality, usage price for service, service background i.e. human provided, in-house developed service, sensor provided service) would be provided to Alice through the business description; contextual description would brief her about the context of the service offered.
Furthermore, these mobile services may offer services on the basis of data provided by an external entity (e.g. in case of shortest route services GPS sensors and map services are used). In such scenarios, information of those data sources becomes crucial. Moreover, information about the service provider’s hardware is also important to assess the feasibility of the service and claimed service QoS from the provider’s hardware. This information (non-functional, contextual, business, data source, hardware, collaborator), however, cannot be archived in the service registry along with the functional description. This is because mobile devices are by nature inherently mobile and hence these descriptions continuously vary. There needs to be, therefore, a mechanism to support and ease the frequent updates of the service description.
In the following sections, we summarize the problem and demonstrate our solution that offers wider (covering functional, non-functional, contextual, business, data source, collaborator, and hardware aspect), light-weighted and update-able service descriptions to handle the challenges in mobile environments.
4 Problem Statement
Several heterogeneous mobile devices constitute the mobile environment. These devices could be of varying processing capabilities, power requirements, memory, transmission protocols. Further, these devices are prone to uncertain behavior and dynamic changes as they usually are in continuous motion and they can randomly join/leave the network. Therefore, a holistic service description mechanism is required for services hosted by such mobile devices that comprehensively covers the various unique aspects of the mobile environment. Merely a functional service description does not provide enough information to the service consumer for service selection in such environments. Service selection made on the basis of only functional service description may lead to the invocation of an obsolete service or an off-line service provider.
A novel approach is required that takes into account the distinct nature of mobile environments and that considers service aspects in addition to the functional description, such as the non-functional, contextual, data source description, hardware, and business descriptions of a mobile service. In the current scenario legacy wired systems and modern wireless mobile systems coexist. Therefore, a completely novel architecture that intends to replace the existing solutions is undesirable. A service description solution that complements the current solutions and also has added features catering to mobile environments is the need. As elaborated in the earlier sections, in mobile environments the service descriptions require frequent updates owing to regular context changes, non-functional and/or business related changes. Moreover, mobile environments are prone to failures reasons being frequent network outages, battery limitations and are usually constrained in terms of processing power. This leads to the added requirement of a ‘lightweight approach’ for such service descriptions. Further, keeping in mind the distinct nature of mobile environments, information about the data source, collaborator, and hardware becomes an important parameter during service selection. Hence, a service description approach that considers the issues associated with mobile environments and at the same time blends with the existing technological solutions is required.
We summarise the requirements of mobile service description as: detailed (including non-functional, contextual, business, collaborator, data source, hardware aspects in addition to functional); run-time update-able (i.e. dynamic); and lightweight.
5 Proposed Approach
As discussed, we intend to use and extend the existing technologies and tools for service description in mobile environments. We propose to extend WSDL for service description to accommodate the distinguished requirements and features of services in mobile environments. In the subsequent subsections, we provide a brief overview of the proposed approach:
5.1 Design Concept:
We propose to use the following service description documents for mobile services:
Functional Description Document.
Non-functional Description Document.
Contextual Description Document.
Business Description Document.
Data Source Description Document.
Collaborator Description Document.
Hardware Description Document.
WSDL documents are widely used for service descriptions. These documents provide detailed functional or technical description of services. Hence, we rely on WSDL documents for functional description of the services provided over mobile devices. In this work, we propose to link the WSDL document with other description documents mentioned above using the “import” statement defined in WSDL. The “import” mechanism allows referral to other WSDL documents defined elsewhere. We use this to connect descriptions that are split across multiple documents for the mobile service.
Figure 2 shows an abstract view of the proposed approach. There are three primitive entities: Service Provider (mobile device hosting a service), Service Consumer (mobile or non-mobile device), and Service Registry (mobile registry or traditional non-mobile registry). These entities have the Publish/Find/Bind relationship between them as shown in Figure 2. The service descriptions are split into multiple documents and placed at the Service Registry and the Service Provider (i.e. the mobile device in this case). The motive behind this splitting and placing of multiple parts of the description at different locations is:
to facilitate faster, independent, and dynamic updates related to service provider in the descriptions and keeping the description up-to-date.
to maintain the overall consistency of the description in case of simultaneous updates.
to provide a lightweight and detailed service description.
The descriptions of a mobile service may be dynamic and subject to updates regularly. This includes descriptions related to the current network (Wi-Fi or GSM), location, current availability status of the mobile service provider hosting the service. These updates are managed by various independent entities or authors and, therefore, the mutual independence of separate description documents saves the hassle of inconsistent updates. For instance, the non-functional description of a mobile service can be managed and updated by a third party auditor or a broker, whereas the contextual description can be managed by a simple mobile application residing on the same device. This demonstrates the efficacy of splitting and delocalising service description documents in the mobile environment.
Registration of services hosted over mobile devices with a service registry is assumed to follow the same process as in traditional systems. In case of UDDI, the service registration involves the bindingTemplate, businessEntity, businessService, publisherAssertion, tModels (Alonso et al., 2010). Our approach extends and makes use of WSDL that primarily affects the tModels. We are not proposing any change to the fundamental structure of the WSDL. Hence, the existing process for service registration and publishing is adapted. The proposed approach, therefore, blends well with wired systems and existing SOA standards. The main differences, however, lie in the service description retrieval process. Following are the steps used in description retrieval in the proposed approach (as shown in the Figure 2):
Search a service at the service registry.
Retrieve the functional service description from the service registry.
Retrieve the rest of the service descriptions from the mobile service provider.
5.2 Description Components:
As discussed in Subsection 5.1, we propose to use various service description documents that provide a holistic understanding of a mobile service and that describe the mobile provisioned services in a distributed manner. As shown in Figure 3, seven service descriptions are interlinked by the import statement and an information base about the service consumers. Each element of the descriptions has an attribute “isDynamic”, that indicates whether the element is dynamic or not i.e. if the element requires regular updates. This particularly helps in cases where a third party broker or application is responsible for updating the description. In this paper, we include several description metamodels for mobile services, however, defining all the elements associated with each description metamodel is out of the scope of this paper.
A brief overview of each service description is as follows:
5.2.1 Functional Description
As discussed in the earlier subsection, we rely on WSDL 2.0 for a detailed functional description of the service (refer to Figure 3). A functional description should describe “What”, “How”, and “Where” of a service:
What - The function of a service or the operations that a service provides is described by the functional description of a service. The interface component of the functional description (refer to Figure 3) helps to achieve this.
How - The mode of invoking the service, the message formats, and transmission protocols used by the service constitute an important part of the function description. The binding component of the functional description (refer to Figure 3) helps to achieve this.
Where - The location of a service or the URI of the service endpoint conveys to the service consumer the address of the service. The service component of the functional description (refer to Figure 3) and the endpoint element in it defines the URI of a service deployment.
This description is usually the first criterion during the service selection process.
First of all, the services are shortlisted on the basis of the functionality they provide, subsequent filtering of the services is done through further criteria.
In the proposed approach, therefore, we link the remaining descriptions of the service with the functional description using the “import” statement. A typical import statement comprises a namespace and the location of the importing description document:
5.2.2 Non-Functional Description
The non-functional properties or the quality of service implies the overall performance of the service experienced by the service consumers. We propose to associate a “timeStamp” attribute with the non-functional description document that indicates the time-stamp of the last update. In the uncertain mobile environment, the non-functional properties change with a change of context of service (e.g. location, network, battery etc.). Hence, the time-stamp brings in a degree of certainty to the non-functional description. This helps in better management of dynamically varying description elements. We propose to use the “timeStamp” attribute with the business and contextual descriptions as well.
We propose four ‘Quality of Service’ (QoS) groups in mobile environments:
serviceQoS: Service QoS are the quality attributes of a service as experienced by service consumers. A few important QoS attributes include: Availability, Capacity, Latency, Throughput, Performance, Reliability.
networkQoS: Network QoS include the quality attributes associated with the underlying network used by the service. This network varies from Wireless LAN, GSM, WiMAX. A few attributes of this group are: Packet Loss, Network Delay, Delay Variation, Bandwidth Capability.
systemQoS: System QoS are the quality attributes that characterize the whole system instead of just the service or network or third party application. A few attributes in this category are: Accessibility, Security, Usability, Scalability, Interoperability, Robustness (Failure-Management), Extensibility.
otherQoS: This group or placeholder is proposed to categorize the quality attributes that do not fall in any of the groups mentioned above. This group is extensible and can further categorize service attributes. A few examples of this group are: Testability, Modifiability, audit-ability.
This description is not only limited to these four types and can be extended to include other QoS attribute categories as well. A few pointers to work on non-functional properties of services are (O’Brien et al., 2005)(OSullivan, 2006)(D’Ambrogio, 2006)(Kritikos & Plexousakis, 2009). We consider the QoS as the totality of the features and characteristics of the service that are based on its ability to satisfy the implied needs (as per ISO 9000). In this paper, we only focus on the description of the claimed or known QoS values of the offered services. Determination/Estimation of the varying QoS attribute values is beyond the scope of this work.
5.2.3 Business Description
The business related information of a service is expressed in the business description document. This description mainly comprises:
Legality: The legal obligations or conditions associated with the service are represented by this placeholder. For instance, a service is not available in a specific country, the service is making use of proprietary applications, disclaimer notifications. The legality description is particularly important in case of mobile services as they can easily migrate from one legal boundary to another.
Certification: The certification placeholder specifies the business related certifications or licenses associated with the service. For example ISO certification, SSL security certificates.
Usage Requirement: The preconditions for service usage (if any) and other service usage requirements are described by the usage requirement placeholder. This may include the minimum version of software agents or device capabilities.
Cost: The Cost or pricing placeholder specifies the price for use of the service. The cost placeholder could further be extended to cover discounts, special offers, group pricing for a set of services.
Apart from this, the business description document could include information related to referred service choreography, service offering background (e.g. in-house development, human provided service, mobile sensor provided service or third party applications), service version(Banati et al., 2012), service scope (what a service covers and what it does not). The business description information is necessary in mobile environments as it provides greater exposure to the business related offerings of mobile services.
5.2.4 Contextual Description
The often varying context of mobile devices makes the contextual information of utmost importance for services provisioned over mobile devices. A good definition of the term context is given by Bazire and Brézillon (Bazire & Brézillon, 2005): “Context is any information that can be used to characterize the situation of an entity, where the entity is a person, place, or object that is considered relevant to the interaction between a user and its application, including the user and the application themselves”.
The context information includes constraints, nature, and structure of the factors that influence the behavior of the service. The description chiefly has placeholders for the following elements:
deviceContext: This represents the context of the mobile device that hosts and provisions the service. This includes device related information such as sensors, battery status, device data plan.
userContext: This placeholder depicts the user (mobile device owner) or (human service provider) related information. User context is worth considering in mobile environments as the mobile device user’s (or human service provider’s) activities, behavior can directly influence the service experienced by the service consumers. This may include the user’s routine, availability of the service, the user’s background (e.g. profession), user’s situation (walking, running, driving), location (address, GPS coordinates, time zone), presence.
serviceContext: Service related contextual information is depicted by this placeholder. A few examples of service context are service domain, service connection preference, service specialisations.
businessContext: Business contextual information includes information such as preferred business scenario (e.g. combination of user’s and device’s context), preferred service partners, compositions.
Service and Documentation are common attributes in all descriptions. Service specifies the associated service name and its URI for which the description has been provided, while documentation specifies the human readable descriptions of the attributes and service description. These two attributes are borrowed from WSDL 2.0.
5.2.5 Data Source Description
In mobile services, mobile service providers (or mobile devices) often serve as the “gateway” to information provided by the data source which is itself an independent entity. The data source can be anything that provides the mobile service with data. The data source and mobile service provider can be viewed as two independent entities that have independent failures, context, capacity. Examples of such data sources are internal sensors that are physically located within mobile devices (GPS sensor, digital compass, barometer, pedometer) or external sensors (smart home sensors, body area network sensors etc.) or third party mobile software applications.
As technology progresses towards the Internet of Things (IoT), there is expected to be rapid increase in the number of such data sources. The mobile service provider will then more commonly provide an abstraction for data obtained from such ‘things’. The abstraction would be such that the data is made available in formats that are standard and facilitates seamless usage. While for the service consumers, the description of these data sources would provide a better understanding and a holistic view of the service. That, consequently, might become an important service selection criteria. The data source description primarily contains placeholder for the following elements:
LocationDetail: This comprises the location details of the data source. This includes the GPS coordinates and other the location information.
CapacityDetail: This comprises the technical details on the data source. This mainly includes the physical capacity of the data source. In certain scenarios, this may include battery information and computation capacity as well.
QoSDetail: This provides non-functional information on the data source. This may include availability, throughput, reliability, network delay, security information.
ContextualDetail: Contextual information (as discussed in the earlier point) provides information about the constraints, nature, and structure of the factors that influence the behavior of the data source.
The data source descriptions are provided and managed by the mobile service provider. This document could further be split into two parts: Dynamic Description (Placed in the vicinity of the service provider) and Static Description (Placed at the service registry). This description is necessary as it provides greater exposure to the important constituents of the mobile service.
5.2.6 Collaborator Description
Mobile devices are powerful enough to provide services on their own, yet their capabilities can be improved manifold through mobile service collaboration. Description and information on collaborators helps prospective service consumer to take a decision on a service provider.
Collaborator description provides information and conformity to the service consumer about the service being offered. In this paper, we provide the following placeholders for collaborator description:
FunctionalDetail: This placeholder is proposed to provide information on what, how, and where of the service collaborator. The functional description of the collaborator (as discussed in section 5.2.1) may be reused.
BusinessDetail: This placeholder is proposed to provide business related information on the collaborator. This includes legality, usage requirements, cost, and other related aspects.
ReputationDetail: This placeholder provides information on the reputation of a collaborator. This is mainly based on feedback and updates from the previous service consumers and other certified reputation assessment sources (Wang & Vassileva (2007)).
UpdateFrequency: This placeholder specifically works towards prevention of out dated information in a large workflow. This enables the service consumer to have an updated service all the time.
5.2.7 Hardware Description
Hardware details of the service provider are provided in this placeholder. This description is introduced to minimize the need of service negotiation from non-potential providers. Service consumers can assess the service claim and the hardware that is used to provide the service before actually using the service. The following placeholders are introduced for a detailed hardware description:
SensorLists: Modern mobile devices are equipped with several modern sensors. This placeholder provides a detailed list of the equipped sensors and their functionality.
MemoryDetail: This briefs the service consumer about the memory details of the mobile device providing the service. Memory details include information on the primary memory and secondary memory of the mobile device. In certain scenarios, this placeholder also includes details about external memory locations (in case cloud storage is used).
PowerDetail: Power or battery plays an important role in the selection of mobile services. This placeholder provides the runtime power profile of the mobile device.
ManufacturerDetail: This placeholder provides information on the manufacturer, kernel versions, and other device related information. This could further provide information on the manufacturer of the mobile processor, WiFi and bluetooth adapters.
Hardware related details may be fetched at runtime using APIs exposed by the modern mobile operating systems. For example android provides detailed and sophisticated libraries that access the hardware information efficiently. This description document could further be split into two parts: Static Part (comprises the unchanging elements - SensorList, ManufacturerDetail and is placed at the service registry) and Dynamic Part (comprises the changing elements - MemoryDetails, PowerDetail and is placed in the vicinity of the service provider).
5.2.8 Consumer Base Details
The consumer base provides details about the earlier consumers of the service. This helps prospective service consumers better assess a service provider. We can further extend this placeholder to include feedback and rank the service providers. These can be used to propose a recommendation system for mobile services. Detailed discussion on such recommendation systems is beyond the scope of this paper.
We have evaluated the proposed approach with the rationale of demonstrating its usability, feasibility in practical scenarios, and efficacy for mobile service description. We have used the following evaluation techniques (as discussed in (Siau & Rossi, 2011)): 1) Feature Comparison, 2) Empirical Evaluation, and 3) Theoretical and Conceptual Evaluation. Section 6.1 provides a detailed feature comparison, Section 6.2 discusses the empirical evaluation, Section 6.3 makes use of case studies for theoretical evaluation.
6.1 Feature Comparison
In this section, we provide a thorough comparison of the proposed approach with existing service description methods available in literature. For this comparison, we examine 22 related approaches and compare the proposed approach on the following criteria: applicable domain, ability to dynamically update the description, representation style, aspect of description covered, techniques used for description, validation approach for the method, and other salient features. Table 1 and Table 2 present a detailed comparison of the proposed approach and existing works chronologically in literature .
6.2 Empirical Evaluation: Prototype
We put together a working prototype for assessing the feasibility of the proposed approach. Actual mobile devices were used to deploy the prototype. The prototype is capable of managing dynamic service descriptions in a mobile environment. For this, an android application was developed that is capable of communicating with service registries, retrieving the description documents, extracting relevant information from these descriptions, and updating the descriptions dynamically. The Android operating system was chosen to implement the prototype because it is open source, has wide market share and availability. The proposed approach is generic and can be extended for use on any mobile platform. Our experimental setup comprised four mobile devices (including two Samsung Galaxy S Duos with Android 4.0, Google Nexus 7 with android 5.0, and Asus Zenfone 5 with Android 4.4), one laptop (Intel i3 2.13 GHz with 3GB of RAM) and a few instances of the prototype running on virtual instances of android devices on the laptop.
The proposed framework was evaluated in a practical setting. We requested four volunteers to deploy the prototype over mobile devices and roam around within the institute campus. We established an experimental wireless network within the institute’s building to connect the volunteers’ mobile devices, laptop, and its running virtual instances. This is shown in Figure 4. During the experiment, the mobile devices followed a random pattern of mobility as the volunteers did not follow any predefined roaming pattern. The battery usage by the prototype on one of the android devices is shown Figure 5. This shows minimal battery usage and our prototype also had a small memory footprint of 1.14MB. This clearly indicates the feasibility of the prototype for use in the real world. A brief overview of how the various features of the proposed approach were realized in our prototype implementation is given in Table 3.
Two mobile devices and a virtual android instance played the part of the service provider and hosted services along with the description documents as discussed earlier. Further, we engineered a ‘watchdog’ application to sense the changes in the service provider’s contextual, business, and non-functional information and accordingly kept the description documents updated. We made use of a mobile based service registry (Verma & Srivastava, 2014) and hosted the functional description documents over it. The mobile devices acting as service consumers retrieved the functional description document (i.e. WSDL document) from the service registry. Subsequently, the consumers extracted the location information on the other description documents (viz. business, contextual, non-function) from the same WSDL and these were retrieved.
We also analysed the UDDI registry to identify if any tweaking was required to accommodate the requirements of the proposed approach. For this, we deployed Apache jUDDI version 3.1.5 on CentOS Linux server 6.2 and SoapUI version 4.6.3 on a Windows 7 machine. One of the concerns was related to the fact that we were using WSDL 2.0 and some of the existing UDDI registries are meant for WSDL 1.1. However, this turned out to be a non-issue as most WSDL 2.0 documents can be mapped to WSDL 1.1 documents. We conclude that given the fact that we made use of WSDL as the base description and that UDDI already maps the WSDL through tModel (as discussed in Subsection 5.1), there is no requirement for major change to the UDDI registry in the move to accommodate the proposed framework.
6.3 Conceptual Evaluation: Case Study
In Section 6.2, we described a real world deployment of the proposed approach by developing a working prototype and deploying it over real mobile devices. In order to further validate the proposed service description, we conduct a case study of the same in this section.
We acknowledge that the conventional wisdom about case study research has several prejudices. These prejudices have been discussed in detail in an interesting article ”Five Misunderstandings About Case-Study Research” by Bent Flyvbjerg (Flyvbjerg, 2006). Going along the points mentioned in this article, we present three different service case studies that may exist in the service ecosystem. First, we discuss the case of a shopping mall where the services provide information on the latest offerings: MallLatestOffer. Second, we discuss the case of a SalesmanTracking mobile service. And third, we take the example of a CarPoolingMate service. Table 4 discusses these cases briefly. The motive behind discussing these three examples is to assess our description approach for three types of primitive mobile services: 1) Automated Mobile Services: Services that are offered by mobile device itself and do not involve the human. Example- Mobile services that offer sensor provided information, Mobile services that offer personal information viz digital visiting card. 2) Semi-Automated Mobile Services: Services that are provisioned over mobile devices that sometimes requires human intervention. Example- Mobile service that offers meeting availability for a person along with its GPS location. 3) Manual Mobile Services: Services that are offered by human and mobile devices act as a gateway or interface for their services. Example- Mobile service interface for human provided services (Schall, 2012).
We perform requirement coverage analysis of the proposed description approach for these case studies in Table 5. This coverage analysis helps us assess whether the proposed mobile description is required for various types of mobile services and whether the proposed description meets the unique description requirements of various classes of mobile services i.e. Automated mobile services that make use of the device’s sensor or other services, semi-automated services that may use other services and sensors and also make use of manual information/data supply, and manual services that requires manual supply of information/data (human-automation continuum).
Based on our analysis with these case studies, all services definitely require a functional description. Most other descriptions discussed in the paper are usually also required by most services. The exceptions to this are description about data-source and the collaborator which are not necessary for manual mobile services as there is no other collaborator involved.
7 Related Work
Service description is an important mean that provides service specification to the prospective service consumers. Although literature emphasize the necessity of service descriptions for mobile web services, the unique service description requirements for mobile services is often overlooked. Existing literature rely on the traditional approaches of service description for mobile services, however, these approaches fall short to cater the specific needs of the mobile environment.
One of the most prominent and widely used description language is WSDL (Christensen et al., 2001). It has been used traditionally to describe wired web services. WSDL describes various technical perspective of web services including service, interface, operations, endpoint, binding, and type definition. Despite the fact WSDL being effective and popular, it does not cover various other aspects of the service specifications (non-functional, contextual, business, data-source) that are pertinent to the mobile environments.
As WSDL is capable of providing functional and technical information, some of the works focused on extending WSDL to incorporate unavailable properties while relying on WSDL to describe technical aspect. One of the earlier work from Adams and Boeyen(Adams & Boeyen, 2002) extended WSDL that introduced security of web services in the description itself. They added optional security parameters to the WSDL and UDDI in order to provide a secure web service transaction. D’Ambrogio (D’Ambrogio, 2006) introduced QoS characteristics of web-services in description by proposing lightweight extension of WSDL. In this inspirational work, author made use of metamodel transformation and model driven architecture (MDA). Versioning of web service interfaces was introduced in description by Juric et al.(Juric et al., 2009), WSDL extension was proposed to support versioning of service interfaces at development-time and run-time. Agarwal and Jalote (Agarwal & Jalote, 2009) proposed extensions to WSDL and suggested end-to-end support for non-functional properties description, measurement, and update. Parimala and Saini(Parimala & Saini, 2011) proposed an extended WSDL and specified the criteria as non-functional properties of web-services. Change management was focused in the work of Banati et al.(Banati et al., 2012). WSDL extension (WSDL-Temporal) was proposed to handle issues related to change management. Their approach suggested management of multiple accessible versions of a web-service. Some other work (Dai & Wang, 2010; Parimala & Saini, 2011) also suggests incorporation of non-functional attributes to the WSDL as well. Amongst recent work (Gao et al., 2014) extend WSDL for describing complex geodata in GIS services.
O’Sullivan (OSullivan, 2006) presents a domain independent taxonomy for conventional services and web services, that is capable of describing non-functional properties. There work provides the ability to communicate non-functional properties along with the service descriptions. Scheithauer et al.(Scheithauer et al., 2009) presents various perspectives and service properties to specify service description. Zachman framework was used for specifying service properties and their relationship from a service provider’s viewpoint for service descriptions depending on the relative perspective. Cardoso et al.(Cardoso et al., 2010) and Charfi et al.(Charfi et al., 2010) proposed a new service description language named Unified Service Description Language (USDL). USDL supports human and IT supported services and provides a domain independent description. However, we feel that an entirely new technology is constrained owing to lack of support for legacy systems.
Recently there has been several approaches proposed for cloud services. Galán et al.(Galán et al., 2009) proposed a service specification language based on OVF (Open Virtualization Format) standard for cloud computing platforms. Sun et al.(Sun et al., 2012b) presents a description for cloud resources of cloud service provider, thus enabling the cross-cloud implementations. Liu and Zic (Liu & Zic, 2011) proposed cloud# to provide the service delivery transparency and enhance the trust of cloud service users. This cloud service specification focused on describing how services are delivered inside a cloud. Sun et al.(Sun et al., 2012a) presents an interesting survey of service description languages from the point of view of cloud computing.
A few other related endeavours include: an ontology related to the context explained in (Preuveneers et al., 2004), Dustdar’s survey on context aware web-service systems (Truong & Dustdar, 2009), (Poveda Villalon et al., 2010) context ontology for mobile environments. (Dorn & Dustdar, 2007) is an inspiring work by Dorn and Dustdar that suggests three types of context for mobile web-services: User-related Context, Service-related Context, Task-related Context. (Knutson et al., 2005) is a patent that makes use of WSDL and proposes multi-parted description. Although it only describes functional description in multiple documents.
As stated earlier, a detailed discussion and comparison of the proposed approach and existing methods is already presented in Table 1 and Table 2 of this paper. We have studied the existing approaches for service description from the point of view of mobile devices.
Though most of these works do not provide generic specification to fit functional, non-functional, contextual and business aspects of services. Moreover, these works do not cover tackle the specific requirements of dynamic update, separate specifications for data sources, and collaborators. To the best of our knowledge, no existing work is especially dedicated to incorporate the intricacies of the mobile environment. Our work is the first attempt to propose a service description mechanism for such environments.
In this paper, we present a novel, lightweight, dynamic, and extensible mechanism for service description especially designed for services hosted over mobile devices. The proposed service description facilitates automated service discovery, selection, and composition. The approach is designed around WSDL 2.0 with the intent of making it useful across both wired and wireless environments.
The mobile environment is very dynamic and it is normal for service description attributes to change frequently over time. We proposed the partitioning of the mobile service description into multiple parts: Functional Description, Non-functional Description, Business Description, and Contextual Description. Further, we added descriptions to facilitate better assessment of mobile services by service consumers such as data source information, collaborator description, hardware details. The parts of the description that tend to change regularly are made local to the mobile device hosting the service. The motive is to enable seamless dynamic updates in service descriptions without compromising on the overall consistency of the description. The proposed solution has the potential to further ease the service selection for prospective service consumers. Further, the solution has the potential to help consumers confine service shortlisting and would avoid the obsolete and irrelevant services.
Future work in this direction would be towards investigation of additional properties for mobile services and the application of the proposed approach for service selection in the field of service oriented crowd sourcing. We also plan to design a dynamic querying model for more efficient description search in a distributed mobile environment. We further plan to extend our approach to include semantic descriptions for mobile services.
The authors would like to thank fellow colleagues, to help with the technical issues faced during experimentation, and figuring out with the technicalities of service description. We would like to especially thank the anonymous reviewers of SCC 2015 for their valuable feedback and comments on our initial work. This work is supported by the Ministry of Human Resource Development - Government of India.
- Adacal & Bener (2006) Adacal, M., & Bener, A. (2006). Mobile web services: a new agent-based framework. Internet Computing, IEEE, 10, 58–65. doi:10.1109/MIC.2006.59.
- Adams & Boeyen (2002) Adams, C., & Boeyen, S. (2002). UDDI and WSDL extensions for web service: A security framework. In Proceedings of the 2002 ACM Workshop on XML Security XMLSEC ’02 (pp. 30–35). New York, NY, USA: ACM. doi:10.1145/764792.764798.
- Agarwal & Jalote (2009) Agarwal, V., & Jalote, P. (2009). Enabling end-to-end support for non-functional properties in web services. In Service-Oriented Computing and Applications (SOCA), 2009 IEEE International Conference on (pp. 1–8). doi:10.1109/SOCA.2009.5410272.
- Alonso et al. (2010) Alonso, G., Casati, F., Kuno, H., & Machiraju, V. (2010). Web Services: Concepts, Architectures and Applications. (1st ed.). Springer Publishing Company, Incorporated. doi:10.1007/978-3-662-10876-5.
- AlShahwan et al. (2011) AlShahwan, F., Moessner, K., & Carrez, F. (2011). Distribute provision strategies of restful-based mobile web services. In Global Telecommunications Conference (GLOBECOM 2011), 2011 IEEE (pp. 1–6). doi:10.1109/GLOCOM.2011.6133992.
- Ankolekar et al. (2002) Ankolekar, A., Burstein, M., Hobbs, J. R., Lassila, O., Martin, D., McDermott, D., McIlraith, S. A., Narayanan, S., Paolucci, M., Payne, T., & Sycara, K. (2002). Daml-s: Web service description for the semantic web. In The Semantic Web — ISWC 2002: First International Semantic Web Conference Sardinia, Italy, June 9–12, 2002 Proceedings (pp. 348–363). Berlin, Heidelberg: Springer Berlin Heidelberg. doi:10.1007/3-540-48005-6_27.
- Banati et al. (2012) Banati, H., Bedi, P., & Marwaha, P. (2012). Wsdl-temporal: An approach for change management in web services. In Uncertainty Reasoning and Knowledge Engineering (URKE), 2012 2nd International Conference on (pp. 44–49). doi:10.1109/URKE.2012.6319580.
- Bazire & Brézillon (2005) Bazire, M., & Brézillon, P. (2005). Understanding context before using it. In A. Dey, B. Kokinov, D. Leake, & R. Turner (Eds.), Modeling and Using Context (pp. 29–40). Springer Berlin Heidelberg volume 3554 of Lecture Notes in Computer Science. doi:10.1007/11508373_3.
- Berger et al. (2003) Berger, S., McFaddin, S., Narayanaswami, C., & Raghunath, M. (2003). Web services on mobile devices-implementation and experience. In Mobile Computing Systems and Applications, 2003. Proceedings. Fifth IEEE Workshop on (pp. 100–109). doi:10.1109/MCSA.2003.1240771.
- Cardoso et al. (2010) Cardoso, J., Barros, A., May, N., & Kylau, U. (2010). Towards a unified service description language for the internet of services: Requirements and first developments. In Services Computing (SCC), 2010 IEEE International Conference on (pp. 602–609). doi:10.1109/SCC.2010.93.
- Charfi et al. (2010) Charfi, A., Schmeling, B., Novelli, F., Witteborg, H., & Kylau, U. (2010). An overview of the unified service description language. In Web Services (ECOWS), 2010 IEEE 8th European Conference on (pp. 173–180). doi:10.1109/ECOWS.2010.20.
- Cheng et al. (2002) Cheng, S.-T., Liu, J.-P., Kao, J.-L., & Chen, C.-M. (2002). A new framework for mobile web services. In Applications and the Internet (SAINT) Workshops, 2002. Proceedings. 2002 Symposium on (pp. 218–222). doi:10.1109/SAINTW.2002.994573.
- Christensen et al. (2001) Christensen, E., Curbera, F., Meredith, G., & Weerawarana, S. (2001). Web Services Description Language (WSDL) 1.1. URL: http://www.w3.org/TR/wsdl [Accessed on July 4, 2016].
- Dai & Wang (2010) Dai, C., & Wang, Z. (2010). A flexible extension of WSDL to describe non-functional attributes. In e-Business and Information System Security (EBISS), 2010 2nd International Conference on (pp. 1–4). doi:10.1109/EBISS.2010.5473641.
- D’Ambrogio (2006) D’Ambrogio, A. (2006). A model-driven WSDL extension for describing the QoS of web services. In Web Services, 2006. ICWS ’06. International Conference on (pp. 789–796). doi:10.1109/ICWS.2006.10.
- Dorn & Dustdar (2007) Dorn, C., & Dustdar, S. (2007). Sharing hierarchical context for mobile web services. Distributed and Parallel Databases, 21, 85–111. doi:10.1007/s10619-006-7005-5.
- Flyvbjerg (2006) Flyvbjerg, B. (2006). Five misunderstandings about case-study research. Qualitative inquiry, 12, 219–245. doi:10.1177/1077800405284363.
- Fornasier et al. (2007) Fornasier, P., Webber, J., & Gorton, I. (2007). Component-based software engineering: 10th international symposium, cbse 2007, medford, ma, usa, july 9-11, 2007. proceedings. chapter Soya: A Programming Model and Runtime Environment for Component Composition Using SSDL. (pp. 227–241). Berlin, Heidelberg: Springer Berlin Heidelberg. doi:10.1007/978-3-540-73551-9_16.
- Galán et al. (2009) Galán, F., Sampaio, A., Rodero-Merino, L., Loy, I., Gil, V., & Vaquero, L. M. (2009). Service specification in cloud environments based on extensions to open standards. In Proceedings of the Fourth International ICST Conference on COMmunication System softWAre and middlewaRE COMSWARE ’09 (pp. 19:1–19:12). New York, NY, USA: ACM. doi:10.1145/1621890.1621915.
- Gao et al. (2014) Gao, S., You, L., Gui, Z., & Wu, H. (2014). Extending WSDL for describing complex geodata in gis service. In Agro-geoinformatics (Agro-geoinformatics 2014), Third International Conference on (pp. 1–6). doi:10.1109/Agro-Geoinformatics.2014.6910585.
- Hadley (2009) Hadley, M. (2009). Web application description language. URL: http://www.w3.org/Submission/wadl/ [Accessed on July 4, 2016].
- Hartmann et al. (2006) Hartmann, J., Rittmann, S., Wild, D., & Scholz, P. (2006). Formal incremental requirements specification of service-oriented automotive software systems. In Proceedings of the Second IEEE International Symposium on Service-Oriented System Engineering SOSE ’06 (pp. 130–133). Washington, DC, USA: IEEE Computer Society. doi:10.1109/SOSE.2006.16.
- Hassan et al. (2010) Hassan, M., Zhao, W., & Yang, J. (2010). Provisioning web services from resource constrained mobile devices. In Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference on (pp. 490–497). doi:10.1109/CLOUD.2010.30.
- Juric et al. (2009) Juric, M. B., Sasa, A., Brumen, B., & Rozman, I. (2009). WSDL and UDDI extensions for version support in web services. Journal of Systems and Software, 82, 1326 – 1343. doi:dx.doi.org/10.1016/j.jss.2009.03.001.
- Keppeler et al. (2014) Keppeler, J., Brune, P., & Gewald, H. (2014). A description and retrieval model for web services including extended semantic and commercial attributes. In Service Oriented System Engineering (SOSE), 2014 IEEE 8th International Symposium on (pp. 258–265). doi:10.1109/SOSE.2014.34.
- Knutson et al. (2005) Knutson, J., Truty, G., & Wang, P. (2005). Publishing multipart wsdl files to url. URL: http://www.google.com/patents/US20050160153 US Patent App. 10/762,085 [Accessed on July 4, 2016].
- Kritikos & Plexousakis (2009) Kritikos, K., & Plexousakis, D. (2009). Requirements for qos-based web service description and discovery. IEEE Transactions on Services Computing, 2, 320–337. doi:10.1109/TSC.2009.26.
- Liu & Zic (2011) Liu, D., & Zic, J. (2011). Cloud#: A specification language for modeling cloud. In Cloud Computing (CLOUD), 2011 IEEE International Conference on (pp. 533–540). doi:10.1109/CLOUD.2011.18.
- Martin et al. (2004) Martin, D., Burstein, M., Hobbs, J., Lassila, O., McDermott, D., McIlraith, S., Narayanan, S., Paolucci, M., Parsia, B., Payne, T. et al. (2004). OWL-S: Semantic markup for web services. URL: https://www.w3.org/Submission/OWL-S/ [Accessed on July 4, 2016].
- Morioka et al. (2003) Morioka, M., Yonemoto, Y., Suzuki, T., & Etoh, M. (2003). Scalable security description framework for mobile web services. In Communications, 2003. ICC ’03. IEEE International Conference on (pp. 804–808 vol.2). volume 2. doi:10.1109/ICC.2003.1204439.
- O’Brien et al. (2005) O’Brien, L., Bass, L., & Merson, P. (2005). Quality Attributes and Service-Oriented Architectures. Technical Report CMU/SEI-2005-TN-014 Software Engineering Institute, Carnegie Mellon University Pittsburgh, PA. URL: http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=7405 [Accessed on July 4, 2016].
- OSullivan (2006) OSullivan, J. (2006). Towards a precise understanding of service properties. Ph.D. thesis Queensland University of Technology.
- O’Sullivan & Grigoras (2015) O’Sullivan, M. J., & Grigoras, D. (2015). Delivering mobile cloud services to the user: Description, discovery, and consumption. In 2015 IEEE International Conference on Mobile Services (pp. 49–56). doi:10.1109/MobServ.2015.17.
- Parimala & Saini (2011) Parimala, N., & Saini, A. (2011). Web service with criteria: Extending WSDL. In Digital Information Management (ICDIM), 2011 Sixth International Conference on (pp. 205–210). doi:10.1109/ICDIM.2011.6093332.
- Pfeffer et al. (2007) Pfeffer, H., Linner, D., Jacob, C., Radusch, I., & Steglich, S. (2007). Towards light-weight semantic descriptions for decentralized service-oriented systems. In Semantic Computing, 2007. ICSC 2007. International Conference on (pp. 295–303). doi:10.1109/ICSC.2007.74.
- Poveda Villalon et al. (2010) Poveda Villalon, M., Suárez-Figueroa, M. C., García-Castro, R., & Gómez-Pérez, A. (2010). A context ontology for mobile environments. Proceedings of Workshop on Context, Information and Ontologies, 626.
- Preuveneers et al. (2004) Preuveneers, D., Van den Bergh, J., Wagelaar, D., Georges, A., Rigole, P., Clerckx, T., Berbers, Y., Coninx, K., Jonckers, V., & De Bosschere, K. (2004). Towards an extensible context ontology for ambient intelligence. In P. Markopoulos, B. Eggen, E. Aarts, & J. Crowley (Eds.), Ambient Intelligence (pp. 148–159). Springer Berlin Heidelberg volume 3295 of Lecture Notes in Computer Science. doi:10.1007/978-3-540-30473-9_15.
- Rolland et al. (2010) Rolland, C., Kirsch-Pinheiro, M., & Souveyet, C. (2010). An intentional approach to service engineering. IEEE Transactions on Services Computing, 3, 292–305. doi:10.1109/TSC.2010.26.
- Schall (2012) Schall, D. (2012). Human-provided services. In Service-Oriented Crowdsourcing: Architecture, Protocols and Algorithms (pp. 31–58). New York, NY: Springer New York. doi:10.1007/978-1-4614-5956-9_3.
- Scheithauer et al. (2009) Scheithauer, G., Augustin, S., & Wirtz, G. (2009). Describing services for service ecosystems. In G. Feuerlicht, & W. Lamersdorf (Eds.), Service-Oriented Computing – ICSOC 2008 Workshops: ICSOC 2008 International Workshops, Sydney, Australia, December 1st, 2008, Revised Selected Papers (pp. 242–255). Berlin, Heidelberg: Springer Berlin Heidelberg. doi:10.1007/978-3-642-01247-1_26.
- Siau & Rossi (2011) Siau, K., & Rossi, M. (2011). Evaluation techniques for systems analysis and design modelling methods a review and comparative analysis. Information Systems Journal, 21, 249–268. doi:10.1111/j.1365-2575.2007.00255.x.
- Sun et al. (2012a) Sun, L., Dong, H., & Ashraf, J. (2012a). Survey of service description languages and their issues in cloud computing. In Semantics, Knowledge and Grids (SKG), 2012 Eighth International Conference on (pp. 128–135). doi:10.1109/SKG.2012.49.
- Sun et al. (2012b) Sun, Y. L., Harmer, T., Stewart, A., & Wright, P. (2012b). Mapping application requirements to cloud resources. In Proceedings of the 2011 International Conference on Parallel Processing Euro-Par’11 (pp. 104–112). Berlin, Heidelberg: Springer-Verlag. doi:10.1007/978-3-642-29737-3_12.
- Truong & Dustdar (2009) Truong, H., & Dustdar, S. (2009). A survey on context aware web service systems. International Journal of Web Information Systems, 5, 5–31.
- Verma & Srivastava (2014) Verma, R., & Srivastava, A. (2014). A novel web service directory framework for mobile environments. In Web Services (ICWS), 2014 IEEE International Conference on (pp. 614–621). doi:10.1109/ICWS.2014.91.
- Verma & Srivastava (2015) Verma, R., & Srivastava, A. (2015). Towards service description for mobile environments. In Services Computing (SCC), 2015 IEEE International Conference on (pp. 138–145). doi:10.1109/SCC.2015.28.
- Vitvar et al. (2008) Vitvar, T., Kopecký, J., Viskova, J., & Fensel, D. (2008). The semantic web: Research and applications: 5th european semantic web conference, eswc 2008, tenerife, canary islands, spain, june 1-5, 2008 proceedings. chapter WSMO-Lite Annotations for Web Services. (pp. 674–689). Berlin, Heidelberg: Springer Berlin Heidelberg. doi:10.1007/978-3-540-68234-9_49.
- Vitvar et al. (2007) Vitvar, T., Kopecky, J., Zaremba, M., & Fensel, D. (2007). Wsmo-lite: lightweight semantic descriptions for services on the web. In Web Services, 2007. ECOWS ’07. Fifth European Conference on (pp. 77–86). doi:10.1109/ECOWS.2007.30.
- W3C Recommendation (2007) W3C Recommendation (2007). Web services description language (WSDL) version 2.0 part 1: Core language. URL: http://www.w3.org/TR/wsdl20/ [Accessed on July 4, 2016].
- Wang & Vassileva (2007) Wang, Y., & Vassileva, J. (2007). A review on trust and reputation for web service selection. In Proceedings of the 27th International Conference on Distributed Computing Systems Workshops ICDCSW ’07 (pp. 25–). Washington, DC, USA: IEEE Computer Society. doi:10.1109/ICDCSW.2007.16.
- Yau & Liu (2006) Yau, S. S., & Liu, J. (2006). Incorporating situation awareness in service specifications. In Object and Component-Oriented Real-Time Distributed Computing, 2006. ISORC 2006. Ninth IEEE International Symposium on (pp. 8 pp.–). doi:10.1109/ISORC.2006.39.