Technical Report Number
Context-aware computing is a new paradigm whose emergence has been fostered by a growing reliance on light and mobile computing devices, which adapt their behavior to changing environmental conditions. The dynamic nature of the environment is a direct result of the mobility of people and devices. Because the development of applications that entail a signiﬁcant level of dynamic adaptation is a diﬃcult and error-prone task, new design methods and constructs are needed. Precise and ﬂexible speciﬁcation of the resources needed to operate in speciﬁc contexts combined with transparent context management can simplify the development process. In this paper we propose a particular embodiment of this general design strategy in the form of a novel programming construct called context-sensitive binding. The approach allows programmers to deﬁne and use in their programs objects whose behavior is supported by code discovered at runtime within the computing environment surrounding the de-vice. The binding between the object in the program and the support object that delivers its realization is maintained transparently and is altered as the environment changes, thus making the binding context sensitive. The criteria for choosing among viable support objects are prescribed at the time the object is ﬁrst instantiated. The paper introduces the concept of context sensitive binding, describes a Java-based implementation, and explores the programming implications of the proposed construct.
Sen, Rohan and Roman, Gruia-Catalin, "Context-Sensitive Binding: Flexible Programming Using Transparent Context Maintenance" Report Number: WUCSE-2003-72 (2003). All Computer Science and Engineering Research.