Table 1 summarizes the characteristics of the systems reviewed. From the reviews, it can be seen that the common design approach is based on capturing or abstracting contextual information via models or “situations” and then translating these to a required platform. Two main techniques were used predominantly for context modeling – model-based and rule-based. A certain amount of expertise may be found in some of these approaches via the production, storage and maintenance of case-bases, context rules. But these approaches focus mainly on the use of context information for interface generation. None of the systems incorporates dynamic learning capability. Only Gaze-X has a feedback module which enables the user to manually change context actions. In this paper, rule-based technique is chosen for the specification of contextual information while dynamic learning capability is implemented with neural network techniques

Table 1: Comparison Summary of Surveyed Context-Aware Systems

System DevelopmentLanguage Platforms ContextModelling Learningcapability
Supple Java Desktop Model-based
Gaze-X Desktop Context-based Feedbacksystem
Dynamo-AID Java,.Net Desktop,Mobile Model-based
Situations Java,.Net, Flash Desktop Rule-based Runtime change to context rules and variables
MIMIC Desktop,Mobile Model-based
SmartlFace JME Desktop,Mobile DynamicContext-based Neural net


The design of the system architecture and learning process are detailed in this section. We first present the problem formulation.


We define the following for a mobile phone such that WT = WD U WN:

WT : set of all widgets for the mobile phone WD : set of all widgets displayed on the interface Wn : set of all widgets not displayed on the interface

Let C(u) represent the context tuple for user u and P(w,C(u)) be the probability of selecting widget w based on the context C(u). In our SmartlFace prototype, we define:

C(u) = [time, location, traffic, heart rate, widget_use[day\]

Then, if kwidgets are to be displayed such that WD = ( wj, w2,…, wk}, we require P( Wt, C (u)) > P(w^, C (u)) for all 1 < i < k and wj G Wn..