Science China Information Sciences

, Volume 58, Issue 5, pp 1–14 | Cite as

A survey on dependability improvement techniques for pervasive computing systems

Review Special Focus on High-Confidence Software Technologies

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.

Keywords

pervasive computing system dependability context fault detection uncertainty 

普适计算系统的可靠性提高技术综述

摘要

创新点

本文分析了开发部署一个可靠的普适计算系统过程中所面临的挑战, 并总结了为应对这些挑战而提出的最先进的研究成果。 通过讨论影响普适计算系统可靠性的因素, 我们将已有提高系统可靠性的技术分为了三类: 上下文管理, 错误检测以及不确定性的处理。 首先, 普适计算系统会感知并利用环境信息(上下文), 而上下文变化剧烈且极可能发生不一致, 因此上下文会对系统可靠性产生较大影响。 其次, 保证系统内部计算及其与外界环境交互的正确性对开发者来说是具有挑战性的, 故错误检测是提高系统可靠性的重要辅助手段。 再者, 普适计算系统与环境的交互过程中存在很大的不确定性, 这些不确定性会危害系统的可靠性。 对这些工作进行详细讨论之后, 我们又对普适计算可靠性提高的未来研究方向做了展望。

关键词

普适计算系统 可靠性 上下文 错误检测 不确定性 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Weiser M. The computer for the 21st century. Sci Amer, 1991, 265: 94–104CrossRefGoogle Scholar
  2. 2.
    Orwat C, Graefe A, Faulwasser T. Towards pervasive computing in health care-Ca literature review. BMC Med Inf Decis Making, 2008, 8–26Google Scholar
  3. 3.
    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–142Google Scholar
  4. 4.
    Satyanarayanan M. Pervasive computing: vision and challenges. Personal Commun, 2001, 8: 10–17CrossRefGoogle Scholar
  5. 5.
    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–26CrossRefGoogle Scholar
  6. 6.
    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–345Google Scholar
  7. 7.
    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–210CrossRefGoogle Scholar
  8. 8.
    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–301Google Scholar
  9. 9.
    Xu C, Cheung S C, Chan W K, et al. Partial constraint checking for context consistency. ACM Trans Softw Eng Methodol, 2010, 19: 1–61CrossRefGoogle Scholar
  10. 10.
    Xu C, Cheung S C, Ma X, et al. ADAM: identifying defects in context-aware adaptation. J Syst Softw, 2012, 85: 2812–2828CrossRefGoogle Scholar
  11. 11.
    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–661CrossRefGoogle Scholar
  12. 12.
    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–1024Google Scholar
  13. 13.
    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–242Google Scholar
  14. 14.
    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–1697CrossRefGoogle Scholar
  15. 15.
    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–436Google Scholar
  16. 16.
    Lu A, Fang W, Xu C, et al. Data-driven testing methodology for RFID systems. Front Comput Sci China, 2010, 4: 354–364CrossRefGoogle Scholar
  17. 17.
    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–1342CrossRefGoogle Scholar
  18. 18.
    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–940CrossRefGoogle Scholar
  19. 19.
    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–174Google Scholar
  20. 20.
    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–108Google Scholar
  21. 21.
    Schmidt A, Aidoo K A, Takaluoma A, et al. Advanced interaction in context. Handheld Ubiq Comput, 1999: 89–101CrossRefGoogle Scholar
  22. 22.
    Gray P, Salber D. Modelling and using sensed context information in the design of interactive applications. Eng Hum-Comput Interact, 2001, 317–335CrossRefGoogle Scholar
  23. 23.
    Harter A, Hopper A, Steggles P, et al. The anatomy of a context-aware application. Wirel Netw, 2002, 8: 187–197CrossRefMATHGoogle Scholar
  24. 24.
    Henricksen K, Indulska J, Rakotonirainy A. Modeling context information in pervasive computing systems. Lect Notes Comput Sci, 2002, 2414: 167–180CrossRefGoogle Scholar
  25. 25.
    Roman M, Hess C, Cerqueira R, et al. A middleware infrastructure for active spaces. IEEE Pervasive Comput, 2002, 1: 74–83CrossRefGoogle Scholar
  26. 26.
    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–43CrossRefGoogle Scholar
  27. 27.
    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–128CrossRefGoogle Scholar
  28. 28.
    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–372Google Scholar
  29. 29.
    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–575Google Scholar
  30. 30.
    Egyed A. Instant consistency checking for the UML. In: Proceedings of the 28th International Conference on Software Engineering, Shanghai, 2006. 381–390Google Scholar
  31. 31.
    Nentwich C, Capra L, Emmerich W, et al. Xlinkit: a consistency checking and smart link generation service. ACM Trans Internet Technol, 2002, 2: 151–185CrossRefGoogle Scholar
  32. 32.
    Demsky B, Rinard M C. Goal-directed reasoning for specification-based data structure repair. IEEE Trans Softw Eng, 2006, 32: 931–951CrossRefGoogle Scholar
  33. 33.
    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: 082105Google Scholar
  34. 34.
    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–17Google Scholar
  35. 35.
    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–48Google Scholar
  36. 36.
    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–349Google Scholar
  37. 37.
    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–421Google Scholar
  38. 38.
    Ranganathan A, Campbell R H. An infrastructure for context-awareness based on first order logic. Personal Ubiq Comput, 2003, 7: 353–364CrossRefGoogle Scholar
  39. 39.
    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–364Google Scholar
  40. 40.
    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–200Google Scholar
  41. 41.
    Chomicki J, Lobo J, Naqvi S. Conflict resolution using logic programming. IEEE Trans Knowl Data Eng, 2003, 15: 244–249Google Scholar
  42. 42.
    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–721Google Scholar
  43. 43.
    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–572Google Scholar
  44. 44.
    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–297Google Scholar
  45. 45.
    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–19CrossRefGoogle Scholar
  46. 46.
    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–637Google Scholar
  47. 47.
    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–597Google Scholar
  48. 48.
    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–161Google Scholar
  49. 49.
    Yang W, Xu C, Zhang L. IDEA: improving dependability for self-adaptive applications. In: Proceedings of the 2013 Middleware Doctoral Symposium, Beijing, 2013. 1–6CrossRefGoogle Scholar
  50. 50.
    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–271Google Scholar
  51. 51.
    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–10Google Scholar
  52. 52.
    Xu C, Cheung S C, Ma X, et al. Detecting faults in context-aware adaptation. Int J Softw Inf, 2013, 7: 85–111Google Scholar
  53. 53.
    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–101Google Scholar
  54. 54.
    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–10Google Scholar
  55. 55.
    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–168Google Scholar
  56. 56.
    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–252Google Scholar
  57. 57.
    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–13Google Scholar
  58. 58.
    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–750CrossRefGoogle Scholar
  59. 59.
    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–244Google Scholar
  60. 60.
    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–345Google Scholar
  61. 61.
    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–186Google Scholar
  62. 62.
    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–104Google Scholar
  63. 63.
    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–252Google Scholar
  64. 64.
    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–70Google Scholar
  65. 65.
    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–244Google Scholar
  66. 66.
    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–650Google Scholar
  67. 67.
    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–42Google Scholar
  68. 68.
    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–583Google Scholar
  69. 69.
    Liu Y, Xu C, Cheung S C. AFChecker: effective model checking for context-aware adaptive applications. J Syst Softw, 2013, 86: 854–867CrossRefGoogle Scholar
  70. 70.
    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–193Google Scholar
  71. 71.
    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–483CrossRefGoogle Scholar

Copyright information

© Science China Press and Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.State Key Laboratory for Novel Software TechnologyNanjing UniversityNanjingChina
  2. 2.Department of Computer Science and TechnologyNanjing UniversityNanjingChina
  3. 3.Department of Computer Science and EngineeringThe Hong Kong University of Science and TechnologyHong KongChina

Personalised recommendations