Context information can be defined as information about the situation of a person, place or object. Context-aware systems use context information to adapt their behaviour or the content they provide. The role of context management systems is to store, retrieve and evaluate context information on behalf of context-aware applications. Context management systems store context information in repositories, which can be distributed. This research addressed the problem of disconnections in context-aware systems. Disconnections in a context-aware system may occur because of node mobility, network failures or node failures. A research opportunity lay in improving the robustness of context-aware systems to disconnections. While traditional distributed systems methods of improving robustness in the face of disconnections can be applied to context-aware systems, the additional metadata available to context-aware systems may be leveraged to provide smarter caching algorithms. This research tested the above hypothesis by pursuing research into smart caching algorithms for context information. Many modern approaches to building context-aware systems use context models to capture relevant concepts and relationships between these concepts. These models are expressed using a modelling language. For the purposes of this research , we focus on the Context Modelling Language (CML), as it provides specific support for context-aware systems. CML supports sophisticated fact-based context modelling in which facts may be associated with a range of attributes, including its quality, classification as static, profiled, sensed or derived and temporal constraints. This thesis shows how these metadata can be used in conjunction with the inherent relational nature of CML to develop efficient caching algorithms for context information.