Abstract
The goal of this survey is to summarize the state-of-the-art research results and identify research challenges of developing and deploying dependable pervasive computing systems. We discuss the factors that affect the system dependability and the studies conducted to improve it with respect to these factors. These studies were categorized according to their similarities and differences in hope of shedding some insight into future research. There are three categories: context management, fault detection, and uncertainty handling. These three categories of work address the three most difficult problems of pervasive computing systems. First, pervasive computing systems’ perceived environments, which are also called their contexts, can vary intensively, and thus have a great impact on the systems’ dependability. Second, it is challenging to guarantee the correctness of the systems’ internal computations integrated with interactions with external environments for developers. Fault detection is then an important issue for improving dependability for these systems. Last but not least importantly, pervasive computing systems interact with their environments frequently. These interactions can be affected by many uncertainties, which can jeopardize the systems’ dependability. After a discussion of these pieces of work, we present an outlook for its future research directions.
摘要
创新点
本文分析了开发部署一个可靠的普适计算系统过程中所面临的挑战, 并总结了为应对这些挑战而提出的最先进的研究成果。 通过讨论影响普适计算系统可靠性的因素, 我们将已有提高系统可靠性的技术分为了三类: 上下文管理, 错误检测以及不确定性的处理。 首先, 普适计算系统会感知并利用环境信息(上下文), 而上下文变化剧烈且极可能发生不一致, 因此上下文会对系统可靠性产生较大影响。 其次, 保证系统内部计算及其与外界环境交互的正确性对开发者来说是具有挑战性的, 故错误检测是提高系统可靠性的重要辅助手段。 再者, 普适计算系统与环境的交互过程中存在很大的不确定性, 这些不确定性会危害系统的可靠性。 对这些工作进行详细讨论之后, 我们又对普适计算可靠性提高的未来研究方向做了展望。
This is a preview of subscription content, access via your institution.
References
Weiser M. The computer for the 21st century. Sci Amer, 1991, 265: 94–104
Orwat C, Graefe A, Faulwasser T. Towards pervasive computing in health care-Ca literature review. BMC Med Inf Decis Making, 2008, 8–26
Judd G, Steenkiste P. Providing contextual information to pervasive computing applications. In: Proceedings of the 2003 IEEE International Conference on Pervasive Computing and Communications, Texas, 2003. 133–142
Satyanarayanan M. Pervasive computing: vision and challenges. Personal Commun, 2001, 8: 10–17
Cheng B H C, de Lemos R, Giese H, et al. Software engineering for self-adaptive systems: a research roadmap. In: de Lemos R, Giese H, Müller H A, et al., eds. Software Engineering for Self-adaptive Systems. Berlin/Heidelberg: Springer, 2009. 1–26
Xu C, Cheung S C. Inconsistency detection and resolution for context-aware middleware support. In: Proceedings of the Joint 10th European Software Engineering Conference and 13th ACM SIGSOFT Symposium on the Foundations of Software Engineering, Lisbon, 2005. 336–345
Yang W, Xu C, Liu Y, et al. Verifying self-adaptive applications suffering uncertainty. In: Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, Vasteras, 2014. 199–210
Xu C, Cheung S C, Chan W K. Incremental consistency checking for pervasive context. In: Proceedings of the 28th International Conference on Software Engineering, Shanghai, 2006. 292–301
Xu C, Cheung S C, Chan W K, et al. Partial constraint checking for context consistency. ACM Trans Softw Eng Methodol, 2010, 19: 1–61
Xu C, Cheung S C, Ma X, et al. ADAM: identifying defects in context-aware adaptation. J Syst Softw, 2012, 85: 2812–2828
Sama M, Elbaum S, Raimondi F, et al. Context-aware adaptive applications: fault patterns and their automated identification. IEEE Trans Softw Eng, 2010, 36: 644–661
Liu Y, Xu C, Cheung S C. Characterizing and detecting performance bugs for smartphone applications. In: Proceedings of the 32nd International Conference on Software Engineering, Hyderabad, 2014. 1013–1024
Cheng H, Liu Y, Cheung S C, et al. Mixed-reality simulation of RFID systems using iterated learning. Int J RF Technol Res Appl, 2012, 3: 219–242
Xu X, Gu L, Wang J, et al. Read more with less: an adaptive approach to energy-efficient RFID systems. IEEE J Sel Areas Commun, 2011, 29: 1684–1697
Gao C, Wei J, Xu C, et al. Sequential event pattern based design of context-aware adaptive application. Int J Softw Inf, 2010, 4: 419–436
Lu A, Fang W, Xu C, et al. Data-driven testing methodology for RFID systems. Front Comput Sci China, 2010, 4: 354–364
Wu Y, Chung K K, Qu H, et al. Interactive visual optimization and analysis for RFID benchmarking. IEEE Trans Visual Comput Graph, 2009, 15: 1335–1342
Liu Y, Xu C, Cheung S C, et al. GreenDroid: automated diagnosis of energy inefficiency for smartphone applications. IEEE Trans Softw Eng, 2014, 40: 911–940
Jeffery S R, Garofalakis M, Franklin M J. Adaptive cleaning for RFID data streams. In: Proceedings of the 32nd International Conference on Very Large Data Bases, Seoul, 2006. 163–174
Ramirez A J, Jensen A C, Cheng B H C. A taxonomy of uncertainty for dynamically adaptive systems. In: Proceedings of the 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, Zurich, 2012. 99–108
Schmidt A, Aidoo K A, Takaluoma A, et al. Advanced interaction in context. Handheld Ubiq Comput, 1999: 89–101
Gray P, Salber D. Modelling and using sensed context information in the design of interactive applications. Eng Hum-Comput Interact, 2001, 317–335
Harter A, Hopper A, Steggles P, et al. The anatomy of a context-aware application. Wirel Netw, 2002, 8: 187–197
Henricksen K, Indulska J, Rakotonirainy A. Modeling context information in pervasive computing systems. Lect Notes Comput Sci, 2002, 2414: 167–180
Roman M, Hess C, Cerqueira R, et al. A middleware infrastructure for active spaces. IEEE Pervasive Comput, 2002, 1: 74–83
Sousa J P, Garlan D. Aura: an architectural framework for user mobility in ubiquitous computing environments. In: Bosch J, Gentleman M, Hofmeister C, et al., eds. Software Architecture. New York: Kluwer Academic Publishers, 2002. 29–43
Dey A K, Abowd G D, Salber D. A context-based infrastructure for smart environments. In: Paddy N, Gerard L, Simon D, eds. Managing Interactions in Smart Environments. London: Springer, 2000. 114–128
Griswold W G, Boyer R, Brown S W, et al. A component architecture for an extensible, highly integrated contextaware computing infrastructure. In: Proceedings of 25th International Conference on Software Engineering, Portland, 2003. 363–372
Xu C, Cheung S C, Lo C, et al. Cabot: on the ontology for the middleware support of context-aware pervasive applications. In: Proceedings of the NPC 2004 Workshop on Building Intelligent Sensor Networks, Wuhan, 2004. 568–575
Egyed A. Instant consistency checking for the UML. In: Proceedings of the 28th International Conference on Software Engineering, Shanghai, 2006. 381–390
Nentwich C, Capra L, Emmerich W, et al. Xlinkit: a consistency checking and smart link generation service. ACM Trans Internet Technol, 2002, 2: 151–185
Demsky B, Rinard M C. Goal-directed reasoning for specification-based data structure repair. IEEE Trans Softw Eng, 2006, 32: 931–951
Xu C, Liu Y P, Cheung S C, et al. Towards context consistency by concurrent checking for Internetware applications. Sci China Inf Sci, 2013, 56: 082105
Xu C, Cheung S C, Chan W K. Goal-directed context validation for adaptive ubiquitous systems. In: Proceedings of the 2007 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, Minneapolis, 2007. 7–17
Xu C, Cheung S C. Decentralized constraint checking for pervasive computing. In: Proceedings of the 6th Annual IEEE International Conference on Pervasive Computing and Communications, Hong Kong, 2008. 45–48
Sui J, Xu C, Wang X, et al. GAIN: GPU-based constraint checking for context consistency. In: Proceedings of 21st IEEE Asia-Pacific Software Engineering Conference, Jeju, 2014. 342–349
Xi W, Xu C, Yang W, et al. SHAP: suppressing the detection of inconsistency hazards by pattern learning. In: Proceedings of 21st IEEE Asia-Pacific Software Engineering Conference, Jeju, 2014. 414–421
Ranganathan A, Campbell R H. An infrastructure for context-awareness based on first order logic. Personal Ubiq Comput, 2003, 7: 353–364
Insuk P, Lee D, Hyun S J. A dynamic context-conflict management scheme for group-aware ubiquitous computing environments. In: Proceedings of the 29th Annual International Computer Software and Applications Conference, Edinburgh, 2005. 359–364
Bu Y, Gu T, Tao X, et al. Managing quality of context in pervasive computing. In: Proceedings of the 6th International Conference on Quality Software, Beijing, 2006. 193–200
Chomicki J, Lobo J, Naqvi S. Conflict resolution using logic programming. IEEE Trans Knowl Data Eng, 2003, 15: 244–249
Xu C, Cheung S C, Chan W K, et al. Heuristics-based strategies for resolving context inconsistencies in pervasive computing applications. In: Proceedings of the 28th International Conference on Distributed Computing Systems, Beijing, 2008. 713–721
Xu C, Cheung S C, Chan W K, et al. On impact-oriented automatic resolution of pervasive context inconsistency. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Dubrovnik, 2007. 569–572
Xu C, Ma X, Cao C, et al. Minimizing the side effect of context inconsistency resolution for ubiquitous computing. In: Proceedings of the 8th ICST International Conference on Mobile and Ubiquitous Systems, Copenhagen, 2011. 285–297
Chen C, Ye C, Jacobsen H A. Hybrid context inconsistency resolution for context-aware services. In: Proceedings of 2011 IEEE International Conference on Pervasive Computing and Communications, Seattle, 2011. 10–19
Yang H, Xu C, Ma X, et al. ConsView: towards application-specific consistent context views. In: Proceedings of the 36th Annual International Computer Software and Applications Conference, Izmir, 2012. 632–637
Xu C, Yang W, Ma X, et al. Environment rematching: toward dependability improvement for self-adaptive applications. In: Proceedings of IEEE/ACM 28th International Conference on Automated Software Engineering, Palo Alto, 2013. 592–597
Zhao Y, Cheung S C, Ni L M. LocaToR: locating passive RFID tags with the relative neighborhood graph. In: Proceedings of the IEEE/IFIP 8th International Conference on Embedded and Ubiquitous Computing, Hong Kong, 2010. 154–161
Yang W, Xu C, Zhang L. IDEA: improving dependability for self-adaptive applications. In: Proceedings of the 2013 Middleware Doctoral Symposium, Beijing, 2013. 1–6
Sama M, Rosenblum D S, Wang Z, et al. Model-based fault detection in context-aware adaptive applications. In: Proceedings of the 16th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, Atlanta, 2008. 261–271
Xu C, Cheung S C, Ma X, et al. Dynamic fault detection in context-aware adaptation. In: Proceedings of the 4th Asia-Pacific Symposium on Internetware, Qingdao, 2012. 1–10
Xu C, Cheung S C, Ma X, et al. Detecting faults in context-aware adaptation. Int J Softw Inf, 2013, 7: 85–111
Hao S, Li D, Halfond W G J, et al. Estimating mobile application energy consumption using program analysis. In: Proceedings of the 35th International Conference on Software engineering, San Francisco, 2013. 92–101
Liu Y, Xu C, Cheung S C. Where has my battery gone? Finding sensor related energy black holes in smartphone applications. In: Proceedings of 2013 IEEE International Conference on Pervasive Computing and Communications, San Diego, 2013. 2–10
Pathak A, Hu Y C, Zhang M, et al. Fine-grained power modeling for smartphones using system call tracing. In: Proceedings of the 6th European Conference on Computer Systems, Amsterdam, 2011. 153–168
Kim H, Smith J, Shin K G. Detecting energy-greedy anomalies and mobile malware variants. In: Proceedings of the 6th International Conference on Mobile Systems, Applications, and Services, Breckenridge, 2008. 239–252
Henzinger T A, Jhala R, Majumdar R. Race checking by context inference. In: Proceedings of the 25th ACM SIGPLAN Conference on Programming Language Design and Implementation, Washington, 2004. 1–13
Huang Y, Yang Y, Cao J, et al. Runtime detection of the concurrency property in asynchronous pervasive computing environments. IEEE Trans Parall Distrib Syst, 2012, 23: 744–750
Lai Z, Cheung S C, Chan W K. Detecting atomic-set serializability violations in multithreaded programs through active randomized testing. In: Proceedings of the 32nd International Conference on Software Engineering, Cape Town, 2010. 235–244
Vaziri M, Tip F, Dolby J. Associating synchronization constraints with data in an object-oriented language. In: Proceedings of the 33rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Charleston, 2006. 334–345
Xu G, Mitchell N, Arnold M, et al. Finding low-utility data structures. In: Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, Toronto, 2010. 174–186
Lai Z, Cheung S C, Chan W K. Inter-context control-flow and data-flow test adequacy criteria for nesc applications. In: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, Atlanta, 2008. 94–104
Lu H, Chan W, Tse T. Testing context-aware middleware-centric programs: a data flow approach and a RFID-based experimentation. In: Proceedings of the 14th ACM SIGSOFT Symposium on the Foundations of Software Engineering, Portland, 2006. 242–252
Lu H, Chan W, Tse T. Testing pervasive software in the presence of context inconsistency resolution services. In: Proceedings of the 30th International Conference on Software Engineering, Leipzig, 2008. 61–70
Esfahani N, Kouroshfar E, Malek S. Taming uncertainty in self-adaptive software. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, Szeged, 2011. 234–244
Esfahani N. A framework for managing uncertainty in self-adaptive software systems. In: Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering, Lawrence, 2011. 646–650
Ghezzi C, Pinto L S, Spoletini P, et al. Managing non-functional uncertainty via model-driven adaptivity. In: Proceedings of the 2013 International Conference on Software Engineering, San Francisco, 2013. 33–42
Famelis M, Salay R, Chechik M. Partial models: towards modeling and reasoning with uncertainty. In: Proceedings of the 2012 International Conference on Software Engineering, Zurich, 2012. 573–583
Liu Y, Xu C, Cheung S C. AFChecker: effective model checking for context-aware adaptive applications. J Syst Softw, 2013, 86: 854–867
Zhang L, Xu C, Ma X, et al. Resynchronizing model-based self-adaptive systems with environments. In: Proceedings of 19th IEEE Asia-Pacific Software Engineering Conference, Hong Kong, 2012. 184–193
Cheng B H C, Sawyer P, Bencomo N, et al. A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: Schürr A, Selic B, eds. Model Driven Engineering Languages and Systems. Berlin/Heidelberg: Springer, 2009. 468–483
Author information
Authors and Affiliations
Corresponding authors
Rights and permissions
About this article
Cite this article
Yang, W., Liu, Y., Xu, C. et al. A survey on dependability improvement techniques for pervasive computing systems. Sci. China Inf. Sci. 58, 1–14 (2015). https://doi.org/10.1007/s11432-015-5300-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-015-5300-3
Keywords
- pervasive computing system
- dependability
- context
- fault detection
- uncertainty
关键词
- 普适计算系统
- 可靠性
- 上下文
- 错误检测
- 不确定性