Abstract
Internetware applications are emerging and being widely used. They can adapt their behavior based on environmental contexts and deliver smart services. These contexts can be subject to various noises, which cause them to be inaccurate, incomplete, or even to conflict with each other. This is known as context inconsistency problem. Context inconsistency can trigger unexpected behavior to applications, and therefore should be prevented. One promising approach is to check contexts against consistency constraints so as to detect the occurrences of context inconsistency at runtime. Existing techniques have attempted different ways to improve the checking efficiency or effectiveness with different trade-offs in space overhead or communication cost. However, none of them has exploited multi-core computing capability to systematically improve the checking efficiency. In this paper, we propose a novel concurrent checking technique Con-C to efficiently detect inconsistencies in huge volumes of dynamic contexts. Con-C derives checking subtasks for each consistency constraint based on its structure and semantics. It achieves this in a fully automated way, and at the same time can guarantee its derived checking subtasks to be persistently balanced. We evaluated Con-C by controlled experiments through a large-scale real-world application. It reported promising results that Con-C improved the checking efficiency by extra 57.0%, in addition to what had been gained by incremental checking.
Similar content being viewed by others
References
Lv J, Ma X, Hunag Y, et al. Internetware: a shift of software paradigm. In: Proceedings of the 1st Asia-Pacific Symposium on Internetware, Beijing, 2009. 1–9
Lv J, Ma X, Tao X, et al. Internetware-oriented environmental driving models and supporting technology (in Chinese). Sci China Ser F-Inf Sci, 2008, 38: 864–900
Lv J, Ma X, Tao X, et al. Research progress on Internetware (in Chinese). Sci China Ser F-Inf Sci, 2006, 36: 1037–1080
Lv J, Ma X, Tao X, et al. Explicit environmental constructs for Internetware (in Chinese). Sci Sinica Inf Sci, 2013, 43: 1–23
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
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
Garfinkel S, Rosenberg B. RFID: Applications, Security, and Privacy. Addison-Wesley, 2005
Jeffery S R, Garofalakis M, Frankin M J. Adaptive cleaning for RFID data streams. In: Proceedings of the 32nd International Conference on Very Large Data Bases, Seoul, 2006. 163–174
Rao J, Doraiswamy S, Thakkar H, et al. A deferred cleansing method for RFID data analytics. In: Proceedings of the 32nd International Conference on Very Large Data Bases, Seoul, 2006. 175–186
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, LNICST 104, Copenhagen, 2011. 285–297
Egyed A. Instant consistency checking for the UML. In: Proceedings of the 28th International Conference on Software Engineering, Shanghai, 2006. 381–390
Reiss S P. Incremental maintenance of software artifacts. IEEE Trans Softw Eng, 2006, 32: 682–697
Xiong Y, Hu Z, Zhao H, et al. Supporting automatic model inconsistency fixing. In: Proceedings of the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Amsterdam, 2009. 315–324
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
Nentwich C, Emmerich W, Finkelstein A, et al. Flexible consistency checking. ACM Trans Softw Eng Methodol, 2003, 12: 28–63
Demsky B, Rinard M. Data structure repair using goal-directed reasoning. In: Proceedings of the 27th International Conference on Software Engineering, St. Louis, 2005. 176–185
Demsky B, Rinard M. Goal-directed reasoning for specification-based data structure repair. IEEE Trans Softw Eng, 2006, 32: 931–951
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 (Ph.D. forum), Hong Kong, 2008. 45–48
Salber D, Dey A K, Abowd G D. The context toolkit: aiding the development of context-enabled applications. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Pittsburgh, 1999. 434–441
Griswold WG, Boyer R, Brown S W, et al. A component architecture for an extensible, highly integrated context-aware computing infrastructure. In: Proceedings of the 25th International Conference on Software Engineering, Portland, 2003. 363–372
Henricksen K, Indulska J. A software engineering framework for context-aware pervasive computing. In: Proceedings the 2nd IEEE Conference on Pervasive Computing and Communications, Orlando, 2004. 77–86
Zachariadis S, Mascolo C, Emmerich W. The SATIN component system-a metamodel for engineering adaptable mobile systems. IEEE Trans Softw Eng, 2006, 32: 910–927
Julien C, Roman G C. Egocentric context-aware programming in ad hoc mobile environments. In: Proceedings of the 10th ACM SIGSOFT Symposium on Foundations of Software Engineering, Charleston, 2002. 21–30
Julien C, Roman G C. EgoSpaces: facilitating rapid development of context-aware mobile applications. IEEE Trans Softw Eng, 2006, 32: 281–298
Murphy A L, Picco G P, Roman G C. LIME: a coordination model and middleware supporting mobility of hosts and agents. ACM Trans Softw Eng Methodol, 2006, 15: 279–328
Ranganathan A, Campbell R H. An infrastructure for context-awareness based on first order logic. Pers Ubiquitous Comput, 2003, 7: 353–364
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
Xu C, Cheung S C, Ma X, et al. ADAM: identifying defects in context-aware adaptation. J Syst Softw, 2012, 85: 2812–2828
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
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
Wang Z, Elbaum S, Rosenblum D S. Automated generation of context-aware tests. In: Proceedings of the 29th International Conference on Software Engineering, Minneapolis, 2007. 406–415
Sama M, Rosenblum D S, Wang Z, et al. Multi-layer faults in the architectures of mobile, context-aware adaptive applications. J Syst Softw, 2010, 83: 906–914
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
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
Liu Y, Xu C, Cheung S C. AFChecker: effective model checking for context-aware adaptive applications. J Syst Softw, 2013, 86: 854–867
Xiong Y, Hubaux A, She S, et al. Generating range fixes for software configuration. In: Proceedings of the 34th International Conference on Software Engineering, Zurich, 2012. 58–68
Falleri J R, Blanc X, Bendraou R, et al. Incremental inconsistency detection with low memory overhead. Softw Pract Exper, 2012, doi: 10.1002/spe.2171
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
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
Chomicki J, Lobo J, Naqvi S. Conflict resolution using logic programming. IEEE Trans Knowl Data Eng, 2003, 15: 244–249
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
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Xu, C., Liu, Y., Cheung, S.C. et al. Towards context consistency by concurrent checking for Internetware applications. Sci. China Inf. Sci. 56, 1–20 (2013). https://doi.org/10.1007/s11432-013-4907-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11432-013-4907-5