Abstract. Context-awareness refers to a computing model where application behavior is driven by a continually-changing environment. Mobile computing poses unique challenges to context-sensitive applications and middleware, including the ability to run on resource-poor devices like PDAs and the necessity to limit assumptions about the underlying network. Though middleware exists to provide context-awareness to applications, they have not been designed with the limitations inherent in dynamic mobile environments in mind. This paper discusses a lightweight approach to context-sensitivity that takes into account these considerations. We explore the use of modularization to tailor service discovery policies for specific applications, as well as leveraging existing language constructs for simplifying the creation and aggregation of different context types. We also discuss a Java implementation of these concepts, along with three sample applications that can automatically propagate changes ...