Scholarly article on topic 'A Quality-aware Federated Framework for Smart Mobile Applications in the Cloud'

A Quality-aware Federated Framework for Smart Mobile Applications in the Cloud Academic research paper on "Computer and information sciences"

CC BY-NC-ND
0
0
Share paper
Academic journal
Procedia Computer Science
OECD Field of science
Keywords
{context-awareness / quality-of-context / "cloud computing" / "mobile cloud computing" / "dynamic adaptation."}

Abstract of research paper on Computer and information sciences, author of scientific article — Nayyab Zia Naqvi, Davy Preuveneers, Yolande Berbers

Abstract Mobile Cloud Computing is an active research domain to investigate the ways of achieving a federation between mobile computing and cloud computing. Whereas, Ambient Intelligence aims to teach our mobile devices how to behave smart in our environment, narrowing the gap between people, their devices and the environment. These two domains behave as backbone for ubiquitous environment around us where everything is connected by sharing information and resources. Mobile devices use cloud resources to cope with ever-growing computing and storage demands for smart applications. Context provisioning in the cloud and mobile connectivity will give rise to new interactions with cloud infrastructure to effectively manage context information. However, as a lot of contextual information is being sensed and captured by mobile devices, it is not always clear whether it makes sense to upload all the raw sensed data to the cloud and have it processed there. Many resource and performance trade-offs exist for federated deployment of smart mobile applications. In this paper, we present a quality-aware federated framework to overcome the challenges for smart applications and to support the development and deployment of these applications, while opportunistically using cloud computing. The framework highlights the aspects of Quality-of-Context (QoC) provisioning and dynamic adaptability under uncertain context.

Academic research paper on topic "A Quality-aware Federated Framework for Smart Mobile Applications in the Cloud"

CrossMark

Available online at www.sciencedirect.com

ScienceDirect

Procedia Computer Science 32 (2014) 253 - 260

The 5th International Conference on Ambient Systems, Networks and Technologies (ANT-2014)

A Quality-Aware Federated Framework for Smart Mobile Applications in the Cloud

Nayyab Zia Naqvia*, Davy Preuveneersa, Yolande Berbersa

aiMinds-Distrinet, Department of Computer Science, KU Leuven, Heverlee 3001, Belgium

Abstract

Mobile Cloud Computing is an active research domain to investigate the ways of achieving a federation between mobile computing and cloud computing. Whereas, Ambient Intelligence aims to teach our mobile devices how to behave smart in our environment, narrowing the gap between people, their devices and the environment. These two domains behave as backbone for ubiquitous environment around us where everything is connected by sharing information and resources. Mobile devices use cloud resources to cope with ever-growing computing and storage demands for smart applications. Context provisioning in the cloud and mobile connectivity will give rise to new interactions with cloud infrastructure to effectively manage context information. However, as a lot of contextual information is being sensed and captured by mobile devices, it is not always clear whether it makes sense to upload all the raw sensed data to the cloud and have it processed there. Many resource and performance trade-offs exist for federated deployment of smart mobile applications. In this paper, we present a quality-aware federated framework to overcome the challenges for smart applications and to support the development and deployment of these applications, while opportunistically using cloud computing. The framework highlights the aspects of Quality-of-Context (QoC) provisioning and dynamic adaptability under uncertain context.

© 2014Published by ElsevierB.V.Thisis anopen access article under the CC BY-NC-ND license

(http://creativecommons.Org/licenses/by-nc-nd/3.0/).

Selection and Peer-review under responsibility of the Program Chairs.

Keywords: context-awareness; quality-of-context; cloud computing; mobile cloud computing, dynamic adaptation.

1. Introduction

Ambient Intelligence (AmI) is a user centric paradigm where smart devices can sense, anticipate and react to the needs and preferences of its users1. Use of smart mobile applications has increased 115% in 2013, according to Flurry Analytics. Additionally, as today's smart phones come with a wide range of sensing, communication, storage and computational resources, they can play a vital role in realizing the vision of ubiquitous computing by Mark Weiser2, making computers invisible to the user and decouple them from devices. Mobile devices can act as building blocks for ubiquitous computing offering pervasive connectivity and a source for context-awareness. The relentless spurt of research activities in Mobile Cloud Computing3 aim to design and develop smart applications without depleting

* Corresponding author. Tel.: +0-000-000-0000 ; fax: +0-000-000-0000. E-mail address: nayyab.naqvi@cs.kuleuven.be

1877-0509 © 2014 Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license

(http://creativecommons.Org/licenses/by-nc-nd/3.0/).

Selection and Peer-review under responsibility of the Program Chairs.

doi: 10.1016/j.procs.2014.05.422

resources (battery, communication bandwidth and computational resources) for the normal functions of a mobile phone.

Despite of continuous improvement in mobile technology, it is still resource poor as compared to static hardware. Therefore, computation on mobile devices always involve compromises and trade-offs4. From a usability point of view, these devices can never be large in size or have an extra ordinary long battery life. These devices and their applications take advantage of cloud computing not only to overcome their limitations in computing, memory and storage resources but also to easily scale up to a large number of users. On one side of the spectrum, we have a scalable infrastructure in the form of raw computing power and memory or storage resources. On the other side, we have mobile devices with built-in sensors to sense the context of user. The question is how we can effectively blend them. Context processing is an integral part for smart applications. Context sensing and simple processing run on the mobile device and other computationally more expensive context management tasks like pattern detection, reasoning and learning are offloaded on the cloud infrastructure.

With context information being sensed and captured on mobile devices, the configuration and adaptation decision of what to run where is not straightforward. This decision depends on various overhead trade-offs. These tradeoffs involve computation, communication, storage, energy consumption, availability, connectivity, as well as user preferences with respect to privacy and security for sensitive data. Furthermore, due to dynamism context can be inherently ambiguous, Quality-of-Context (QoC)5 can highly affect the adaptation decision. In this paper, we highlight the challenges to exploit the cloud computing paradigm and investigate the requirements to achieve a federation between two paradigms to develop scalable smart mobile applications. We consider following three main goals for our presented federated framework: 1) to support quality-aware context provisioning, 2) to provide dynamic deployment decision support, 3) and to support effective smart application development.

This paper has been organized into five sections. In Sect. 2, we introduce the notion of context with it quality and some definitions and the role of context awareness in smart mobile applications. In Sect. 3, we further explore the role of the cloud and discuss the main challenges and requirements of outsourcing context management to the cloud in an efficient and effective manner. An overview of the proposed framework and architectural considerations are investigated in Sect. 4. A qualitative performance and reliability analysis is also provided in this section. Finally, we conclude this paper focusing on the significance of leveraging the cloud infrastructure with a research road map for future.

2. Background and Motivation

In this section, we have explained the role of context-awareness and the importance of QoC for smart applications. A background study for available architectures for context processing is briefly described here as well.

2.1. Motivational scenario

Taking into account the perspective of user and his situation in applications is an area of topical research known as context-awareness6. It is an intrinsic characteristic7 to the notion of adaptability and smartness in Ami environments. Context3 is defined as any information that can be used to characterize the situation of an entity, where an entity can be an object, place or person relevant to the current scope of the system. In this paper, we consider the role of context information to improve the behaviour of smart applications and their resource usage while at the same time optimize the context provisioning itself by leveraging cloud computing capabilities. Following use case scenario explains the interplay between different services and adaptation on the basis of context information.

Prof. Anthony watches the morning news on his mobile device, redirected on a nearby big screen or only to listen to it by text to speech conversion service, depending on the situation of the wireless connection. As he gets into his car to go to work, his smart device is re-configured to a mobile network connection. To avoid information loss due to mobility, the desired information is pre-fetched or cached with the help of a service in the cloud. He is not worried about being late, as he knows traffic is smooth, otherwise his mobile device would have notified him with an alternative route. While travelling, he consults his agenda to see the information about today's appointments. If he has lectures or meetings, he would like to get notified. His device can offer him a text to speech conversion for his agenda. He can

stream his online music repository to his mobile device as well. Other cloud services enable him to collaborate with his peers effectively and to participate in discussions remotely.

In the above mentioned scenario, the role of context information can not be neglected, as it is vital to make all the services work in harmony and adapt dynamically to achieve runtime intelligent behaviour of the services in a scalable way. However, being smart requires being right in an adaptation decision. QoC can highly affect the decision outcomes of the adaptation. As context can be inherently ambiguous, we need certain attributes that signify the adequacy or degree of suitability of the context data. This degree of suitability is often regarded as the Quality-of-Context. As it is evident from the above mentioned scenario, QoC can affect the overall working of a smart application.

2.2. Related work

Context management evolved8 into a distributed architecture, where context-aware applications leveraged a remote centralized context processing server, allowing for multiple remote users to consume personalized services. However, there has been relatively little advancement on how to make context management itself more effective and efficient through distribution of the tasks involved and the overall workload. A number of architectures9,10,11,12,13 supporting smart applications have been developed, but little attention is paid to the special requirements of federated deployments and constraints of mobile devices. Many state-of-the-art centralized deployment models, application-specific communication protocols and context data representations are not easily applicable in a cloud environment. The architecture for smart applications is evolving to a many-to-many fashion, where a large number of users can utilize a great number of personalized services hosted by third-party service providers. These services use the distributed context provisioning framework asynchronously.

The sharing of the context between interlinked services raises new challenges of context data representation, storage, processing and distribution in an autonomic way. A cloud computing paradigm is an ecosystem built on top of web services. In order to manage context processing and service composition in a flexible manner, the supporting components of context processing need to be provisioned as loosely-coupled services. Our work attempts to enable a new phase of smart mobile application development using the cloud infrastructure for better scalability and re-usability of context management.

The next section outlines the requirements and role of the visualized framework for the providing the federation between context services in the cloud and smart applications on the mobile devices.

3. Requirements for the federated framework

Any framework designed for smart applications, federated with the cloud services, will need to foresee the increasing heterogeneity of context-capturing devices. It will also have to provide service provisioning for varying context. The requirements for our framework are explained below.

1. Provision the context for cloud services: The framework should be able to provision and manage the context at runtime. Context plays a vital role in a service life cycle from service request to service invocation. Service deployment or customization is done according to the user's situation and ongoing activities. The common services like authentication, authorization, billing and provisioning for the general-purpose cloud services are already offered in cloud computing infrastructure. Context-aware service provisioning and adaptation is technically a challenging job due to continuous varying context and heterogeneous kind of data.

2. Offer decision support to dynamically adapt: The framework should decide what and when to offload in an autonomic manner. The essence of the problem is finding the middle ground, determining what the mobile devices and applications should handle and what the cloud should handle. The adaptation decision includes the ways to split responsibilities between devices, applications and the framework itself. It should be able to decide for which use cases the cloud is better and for which ones a cloud based deployment does not bring any added value.

3. Process the Quality-of-Context (QoC): QoC raises more questions while dealing with the autonomic adaptation. Context provisioning is a multi-level process 14 where low-level events are enriched through filtering and aggregation. For example, GPS coordinates are read from the sensor and translated into a high-level descrip-

tion of location of the user. Finally, the desired high-level context is inferred through context reasoning. For instance, presence of the user can be inferred by his/her location. The adaptation decision is based upon this high-level context. End-to-end QoC control is a safeguard to monitor the quality of the context data through-out this multi-level process. The framework should consolidate the processing of QoC in the context provisioning under varying context.

4. Maintain the Quality-of-Service (QoS): Keeping track of the runtime availability of the services is a vital task. The possible re-configuration variants of the application is always determined at runtime for smart applications. The re-configuration adaptation needs to be performed in an efficacious way without hindering the QoS of the applications. This imposes a big challenge, especially for resource-limited mobile devices, when the number of possible configurations becomes quite large. The framework should maintain the QoS under the uncertainty caused by the varying context. Hence, the framework should offer the context provisioning taking into account the runtime uncertainty in context data15. It should incorporate ways to ascertain the quality of its own adaptation decisions.

5. Automatically learn the overhead trade-offs for federated deployments: The framework should be able to learn the deployment overhead trade-offs according to the application context and computation requirements. The size of the context data varies, depending on the application's objectives. This amount of data can be significant, e.g. the triaxial accelerometer of smart phone used for activity recognition such as step counting or fall detection can generate 100 samples per second, which would produce about 200 kB per minute (one value of type double for each x , y , z axis and a time stamp, producing 32 bytes per sample). Sending all this data to the cloud for statistical feature extraction and selection may be too inconvenient. Similarly, high-volume data and advanced computational capabilities makes it impossible for applications, like face detection in media or live gaming to run efficiently on a mobile device due to limited resources. Several specialized algorithms, such as for speech recognition or image processing, also require intensive computation and produce large amount of data. Moreover, it is not feasible to store certain types of data on mobile devices, e.g. book ISBN numbers or postcodes of a county.

6. Keep the user's feedback loop for security and privacy: The federated framework should keep a feedback loop for security and privacy of the sensitive context information. Cloud services are offered by third-party service providers. Storing and using the context data for these services raises security issues. Although, these services are secured against unauthorized access, but their is also a need of the introspective ways to let people understand how their context data is being used. Additionally, the framework should legitimately and adequately address the privacy concerns.

4. Overview of the proposed framework

A detailed discussion of our framework and its common components are provided in this section. Fig. 1 depicts the blueprint of our federated framework in the cloud and the mobile device. Adaptation modules at both the ends are envisioned to achieve the federation between the two paradigms for smart application development and deployment. The key features of the framework are described as follows:

- Loosely-coupled cloud services are designed for context provisioning and processing. It allows the context management to evolve as new sources of information become available or existing sources disappear. The framework is open and extensible to integrate new context management services, while at the same time remain scalable and elastic to handle a growing number of users.

- Components are deployed at runtime between mobile and cloud paradigms. The components with dashed lines in Fig. 1 are the dynamically deployable components.

- The Adaptation Modules are the core components to dynamically decide the runtime re-configuration and deployment decision support.

- In cloud computing infrastructure, there is already a mechanism to provision web services and on the fly creation of new services that do not disturb the existing fabric. However, a Service Manager is used to match the context for the adaptation of context-aware cloud services.

Cloud Infrastructure

Context Processing end Provisioning

Context Face de

1 Context [ Sharepoint 1------ i Context " Filter 1 Historic ' [ Context Store 1

' Context 1 Reasoner i Context i i Aggregator i

Service Context Store

QoC Processing Engine

■§1 Servie« I ^ I Manager [

3t Seivice

Adaptor

M >Me Device

o Run-time Resource Profiler

Context-Awareness

o i I 1 QoC 1 1 Processing Engine !

, Context i Provisioning i i Components i

o Smart Applications

Fig. 1. Blueprint of the federated framework architecture

- A mechanism to ascertain the quality of the adaptation decisions is realized with the help of QoC Processing Engine at both the ends. This mechanism works with the Adaptation Modules takes into account the QoC for the varying context during the decision support.

- A runtime trade-off analysis4 approach is used in Adaptation Modules for the apportioning decision of how to dynamically decide what and when to deploy to the cloud without affecting the QoS.

4.1. Working procedure of the framework components

Fig. 2(a) presents the functional viewpoint of the framework on the cloud infrastructure. A mobile device requests a service to the Service Manager in the cloud. If the service is not context aware, the Service Manager invokes the service with the coordination of the Service Invocator. If the service is context aware, the Service Manager contacts the context-processing component called Context Facade. Context Facade acts as an abstraction to other context-processing components. This service pushes the request of context information to the Context Reasoner. The context reasoning service asks the Context Aggregator and Historic Context Store for preprocessed and historic context data. It infers the requested context and provides it to the Context Facade.

Fig. 2. (a) An abstract view of QoC-aware context provisioning in our framework(b) Functional viewpoint for the federated framework for mobile applications

The Context Sharepoint service, to acquire shared context, is shown in this diagram as an optional service. The Context Sharepoint service contacts the Context Filter service to provide context of multiple users. Once the context of the user is determined by the Context Facade , the Service Manager accesses the context and contacts the Service

Adapter to invoke the required service compatible to the current context. The Service Adapter is dependent on the Service Context Store. Service Context Store is a place where semantically defined services are published and each service has a valid context profile. The Service Adapter matches the service context profile with the user context and customizes the service accordingly. The Service Manager calls the Service Adapter service whenever the context changes. On the other hand, the Deployment Adaptation Module captures the smart application context requirements and forward it to the Service Adaptation Module on the cloud infrastructure. It is a light-weight component on the mobile device to send the captured resource profile to the cloud for reconfiguration analysis for dynamic deployment. The component implementations on the mobile will be used when there is no connectivity to the cloud, or when latency, data bandwidth or other QoS constraints become a bottleneck for hybrid deployments.

The adaptation modules on both the ends communicates with the QoC Processing Engine for the deployment decision support. The context provisioning services use the QoC Processing Engine in order to provide end-to-end quality-awareness. The reference architecture15 for the QoC-aware adaptation is shown in Fig. 2(b). It depicts the flow of end-to-end QoC and its processing at each level of the context-processing. The dotted area shows the significance of QoC-awareness in decision support using probabilistic models. We have used probabilistic models to mitigate the runtime uncertainty in the available context. The feasibility analysis of utilizing these models is detailed in our recent work15.

4.2. Enabling Technologies & Implementation

Our framework leverages a loosely-coupled component-based context system, where each component has a dual implementation: an implementation for the mobile and a full-fledged scalable service equivalent running in the cloud. The implementation is done with the latest Java-based software technologies. For our mobile deployment, we rely on Android as it provides several easy-to-use libraries to interact with and manage the built-in sensors.

Our cloud infrastructure consists of VMwares open source Platform-as-a-Service (PaaS) offering known as Cloud Foundry. Cloud Foundry provides messaging and database servers in the form of built-in services. We deployed its open source distribution, i.e. VCAP1. VCAP supports the AMQP-based RabbitMQ2 server for messaging and MySQL for storage and persistence. All of the configuration is done in Spring, an application development framework. Finally, we exposed our loosely coupled context-processing components as services, integrating Apache CXF with the Spring framework.

In order to make all the components loosely coupled and event driven, we have a messaging module for implementing publish/subscribe-based interaction. Each component takes its required data from the messaging queue as a subscriber and publishes output data to another queue or persists it to the cloud storage as per requirements of the application. Each component subscribes to a topic, which is basically the type of data it is interested in and exposes a listener to the messaging queue in order to get data from the message queue as soon as it is available.

In a full cloud deployment, Dynamic Adaptation Module buffers the raw data and send it via SOAP or REST protocols to the Service Adaptation Module hosted in the cloud infrastructure for further processing.This module aims to optimize the runtime deployment of the required components and acts as an entry point for the adapter on the mobile client. This module receives raw or pre-processed context data (including the type of the content and the identity of the source) and forwards it to a publish/subscribe subsystem so that interested parties (i.e. the subscribers) receive

Table 1. Evaluation of the sufficient performance and reliability depending on the complexity control and organizational structure of the framework

Question Complexity control and Organizational structure

COS01 Temporal, Communicational

COS02 Message

COS03 Low

COS04 Yes

COS05 Strong

COS06 Short

COS07 Yes; for smart applications

Table 2. Evaluation of the sufficient performance and reliability goal of the developments

Questions for performance attribute

Complexity Control & Organizational Structure

Metric

Critical values

COS01. Are the specified components functionally consistent?

COS02. Are the specified components sufficiently independent? COS03. Does the context data storage with functional decomposition imply the necessity of communicating context data between data store?

COS04. Does the development technologies of choice provide with uniform communication framework assuring data exchange between components? COS05. Is the communication mechanism planned for remote context data processing capable of coping with varying intensity of data load?

COS06. What is the response time for managing QoC processing and adaptation analysis COS07. Do the communication mechanisms provide sufficient communication reliability

level of cohesion

level of coupling

level of context data store dependence

Existence of uniform communication mechanisms for the framework

Level of suitability for varying data load

Length of transactions

failure ratio

Coincidental, Logical, Temporal, Procedural, Commu-nicational, Sequential, Functional

Content, Common, Control, Stamp, Data, Message High, Low

No, Yes

Coincidental, Logical

Content, Common, Control High

Weak - synchronous, Weak Strong- asynchronous

Unknown, Long, Short Unknown, Long

application dependent

context updates. One of the subscribers might be a database component if a historic trace of the context data is needed by any of the mobile cloud applications later on.

4.3. Qualitative Evaluation

We have evaluated the performance and reliability goal for our proposed framework based on GQM16. It comprises of goals i.e. expected attributes of the proposed framework architecture, questions characterize the framework in the context of expected attributes, and metrics express quantitative attributes connected with questions. Table 1 shows the analysis of critical metric values for the questions about the complexity control and organizational structure, affecting the attribute of performance and reliability of our framework. The congestion of critical values from the scale provided in table 2 indicates the risk of complexity explosion syndrome or performance / reliability pitfalls. The metric values for each question listed in table 2, indicates well-chosen architectural decisions as all the question metrics have non critical values.

We have also evaluated the ability of the framework to automatically learn the overhead trade-offs for the dynamic deployment of smart healthcare applications. The preliminary results are shown in our recent work4.

5. Conclusion & Future work

Context based cloud services and mobile connectivity will give rise to the new interaction with the smart applications in which information and communication is embedded in the environment around us. The next wave in the era of cloud computing will be outside the realm of the traditional cloud services and infrastructure. Most of the cloud services will be context-aware. In this paper, we focused on the need of loosely-coupled context provision and processing components that works with a context-aware and quality-aware service-provisioning infrastructure to adapt services to the context of the user and his mobile device. We believe that the adoption of the contrived quality-aware federated framework will allow future mobile-cloud solutions to be developed quicker and in a reliable way, by abstracting all context-management into reusable services, as well as accelerate research in the area of smart mobile applications for the cloud. We are investigating the efficient ways to provide dynamic deployment decision support for our framework using probabilistic models with an aim to make systems to learn from their mistakes incorporating the notion of QoC-awareness.

From an architectural perspective, we need adoption of standards to promote interoperability and to allow each context-aware service to benet from a competitive marketplace of interoperable technology solutions from multiple service providers. As greater trust is placed on the context processing and service-provisioning middleware in PaaS, it will be essential to ensure that international quality and integrity standards are deployed and further developed. Beyond the need for standardization to ensure interoperability, this requires further research in the following areas: (1) ontology based semantic standards for context-aware cloud services, (2) effective protocols for communication within and outside cloud environments, and (3)efficient and advanced algorithms for service management and adaptation.

Acknowledgements

This research is partially funded by the Inter University Attraction Poles Programme Belgian State, Belgian Science Policy, and by the Research Fund KU Leuven.

References

1. Shadbolt, N.. From the editor in chief: ambient intelligence. IEEE Intelligent Systems 2003;18(4):2-3.

2. Weiser, M.. The computer for the 21st century. Scientific american 1991;265(3):94-104.

3. Abowd, G.D., Dey, A.K., Brown, P.J., Davies, N., Smith, M., Steggles, P.. Towards a better understanding of context and context-awareness. In: Handheld and ubiquitous computing. Springer;1999, p. 304-307.

4. Naqvi, N.Z., Preuveneers, D., Berbers, Y., et al. Walking in the clouds: deployment and performance trade-offs of smart mobile applications for intelligent environments. In: Intelligent Environments (IE), 2013 9th International Conference on. IEEE;2013, p. 212-219.

5. Buchholz, T., Küpper, A., Schiffers, M.. Quality of context: What it is and why we need it. In: Proceedings of the workshop of the HP OpenView University Association; vol. 2003. Geneva, Switzerland;2003, .

6. Dey, A.K.. Understanding and using context. Personal and ubiquitous computing 2001;5(1):4-7.

7. Aarts, E.H., Marzano, S.. The new everyday: Views on ambient intelligence. 010 Publishers;2003.

8. Dinh, H.T., Lee, C., Niyato, D., Wang, P.. A survey of mobile cloud computing: architecture, applications, and approaches. Wireless Communications and Mobile Computing 2011;.

9. Chen, G., Kotz, D., et al. A survey of context-aware mobile computing research. Tech. Rep.;Technical Report TR2000-381, Dept. of Computer Science, Dartmouth College; 2000.

10. Hofer, T., Schwinger, W., Pichler, M., Leonhartsberger, G., Altmann, J., Retschitzegger, W.. Context-awareness on mobile devices-the hydrogen approach. In: System Sciences, 2003. Proceedings of the 36th Annual Hawaii International Conference on. IEEE; 2003, p. 10-pp.

11. Chalmers, D., Dulay, N., Sloman, M.. A framework for contextual mediation in mobile and ubiquitous computing applied to the context-aware adaptation of maps. Personal and Ubiquitous Computing 2004;8(1):1-18.

12. Kim, Y.S., Lee, K.H.. A lightweight framework for mobile web services. Computer Science-Research and Development 2009;24(4):199-209.

13. Gu, T., Pung, H.K., Zhang, D.Q.. A middleware for building context-aware mobile services. In: Vehicular Technology Conference, 2004. VTC 2004-Spring. 2004 IEEE 59th; vol. 5. IEEE;2004, p. 2656-2660.

14. Bellavista, P., Corradi, A., Fanelli, M., Foschini, L.. A survey of context data distribution for mobile ubiquitous systems. ACM Computing Surveys (CSUR) 2012;44(4):24.

15. Naqvi, N.Z., Preuveneers, D., Meert, W., Berbers, Y.. The right thing to do: Automating support for assisted living with dynamic decision networks. In: Ubiquitous Intelligence and Computing, 2013 IEEE 10th International Conference on and 10th International Conference on Autonomic and Trusted Computing (UIC/ATC). IEEE; 2013, p. 262-269.

16. Basili, V.R.. Software modeling and measurement: the goal/question/metric paradigm 1992;.