검색 상세

Middleware system for facilitating context-aware application development on smartphones

초록/요약

Context-awareness has been a topic of research for many years. With the advent of smartphones, as well as the increasing popularity of consumer-oriented wearable sensors such as smartwatches and heart rate monitors, context data are becoming more readily available. Developing context-aware smartphone applications remains a challenge because of the heterogeneity of context data sources, as well as the complexity of inferring high-level context data. Context data provisioning middleware enables the development of context-aware smartphone applications without having to consider the complexity of context reasoning or different context data sources. This dissertation provides the following contributions: 1) a taxonomy of sensors that remedies problems with the previous definitions, 2) definition of Quality of Context Service which helps define quality attributes of context data providers, 3) three generic architectural models for context data provisioning middleware, 4) a context data provisioning stack that describes how the middleware is logically structured, 5) descriptions and comparisons of existing context data provisioning middleware for smartphones, including our own ManySense middleware, 6) description of the design and implementation of ManySense, 7) an algorithm for computing a distance measure between an application’s QoCS requirements and the QoCS attributes of a context data provider, 8) an extensible query language architecture which allows adding support for new query languages easily, and 9) evaluation of the performance, extensibility and accessibility of ManySense. Through our evaluation we see that ManySense performs well under load and causes a minimal impact on the smartphone’s CPU, power, and memory usage. ManySense is also deemed extensible and accessible through user testing. The algorithm for computing a distance measure between an application’s quality requirements and the quality attributes of a context data provider is also evaluated through performance testing. Based on the evaluation we claim that ManySense achieves its design goals of extensibility and accessibility, and can be used by context-aware smartphone application developers to gain easier access to context data.

more

목차

CHAPTER 1. Introduction 1
1.1 Ubiquitous computing 1
1.2 Context 2
1.3 Context-aware applications 3
1.4 Middleware 5
1.5 Problem statement 6
1.6 Contributions 7
1.7 Dissertation structure 8
CHAPTER 2. Background 9
2.1 Definitions 9
2.1.1 Sensor 9
2.1.2 Quality of Context Service 12
2.1.3 Context data provisioning middleware 14
2.2 Context data provisioning middleware architectural patterns 15
2.3 Existing context data provisioning middleware 18
2.3.1 MOSDEN 18
2.3.2 SIXTH 18
2.3.3 Jigsaw 19
2.3.4 Pogo 20
2.3.5 Contory 20
2.3.6 BraceForce 21
2.3.7 MyHealthAssistant 22
2.3.8 ODK Sensors 22
2.3.9 MobiCon 23
2.3.10 RSCM 24
2.3.11 ManySense 25
2.4 General stack for context data provisioning 26
2.5 Use cases for context data provisioning middleware 28
CHAPTER 3. ManySense design 29
3.1 Overall architecture 29
3.2 Application interface 30
3.3 Query handling 31
3.4 Raw sensor data module 33
3.5 Context reasoning module 35
3.6 Preferences 36
3.7 Adapter SDK 37
3.8 External server 37
CHAPTER 4. ManySense implementation 38
4.1 Local IPC between ManySense and applications 38
4.2 Sensor Adapter and Context Reasoner interfaces 42
4.3 ManySense Query Language 43
4.4 Context Object Query Language 45
4.5 QoCS distance algorithm 48
4.6 Adapter preferences 51
4.7 Adapter SDK 51
4.8 External server 52
4.9 Implemented adapters and reasoners 53
4.10 Use cases in practice 53
CHAPTER 5. Evaluation 55
5.1 Performance 55
5.1.1 Load performance 56
5.1.2 CPU, memory, power usage and code complexity 58
5.1.3 Distance calculation algorithm performance 61
5.2 Extensibility 62
5.3 Accessibility 64
5.3.1 Integration with existing application 64
5.3.2 Application development 65
CHAPTER 6. Discussion 69
CHAPTER 7. Conclusion and future work 75
REFERENCES 77
Appendix A. Application development test questionnaire 82
Appendix B. Application development tasks 87

more