Abstract:
In pervasive computing, environmental contexts are subject to frequent and rapid changes, and context-aware applications adapt their behavior accordingly. However, context inconsistency occurs due to various reasons including unpredictable and uncontrollable environmental noises and dynamics, which results in application anomaly or even failure. To address this problem, context inconsistency should be timely detected and then fixed in an automated and sound way. Based on our previous work we propose two techniques, named complete-fixing and CoSound-fixing, to fix context inconsistency automatically for context-aware applications. However, the two techniques are subject to some limitations in that complete-fixing has a time complexity issue and does work so efficiently, and CoSound-fixing does not have a satisfactory fixing success rate. In this paper, we propose a new fixing technique, named hybrid-fixing, which combines the static analysis of consistency constraints and the dynamic generation of repair actions to ensure the soundness of its generated repair cases, even when there exist complex dependencies inside consistency constraints. Experimental results show that our hybrid-fixing significantly increases the fixing success rate for detected context inconsistencies, as compared with CoSound-fixing when facing complex dependencies inside consistency constraints, while still incurring minor time cost only and achieving the fixing of context inconsistency in a fully automated way.