Skip to Main Content
To create context-aware artifacts, developers can choose a self-supported or infrastructure-based approach. This article surveys these approaches and their implementations in various devices, also considering associated challenges and future research directions. Creating context awareness generally follows two main approaches. In self-supported context awareness, designers build the ability to perceive context, reason with it, and act accordingly into the device or its dedicated hardware support. In infrastructure-supported context awareness, designers obtain context-aware capabilities by harnessing a hardware and software infrastructure external to and associated with the device's space. Such an infrastructure might implement the context-aware behavior of specific objects and devices or act as a general context-aware infrastructure.