This project addresses the provision of system support for applications that are forced or may benefit from use of alternate resources during their execution. The objective is to provide the application user as much of a sense of continuity as possible across reorganization of the application, including significant remodularization of the application. This project is an SGER that investigates and provides a proof of concept of two key problems: semantic reconfiguration and semantic checkpointing. Semantic reconfiguration is the process of reorganizing and remodularizing an application, based on alternate resources, while retaining the overall semantics of the application. Semantic checkpointing is the process of capturing and restoring state at the semantic level of the application itself, in contrast with capturing the state of the underlying hardware or operating system. To this end, the project is based on a distributed database application with specific consistency requirements, moving among combinations of low and high capacity servers and networks. The initial, handcrafted system includes: specification of the application and state to be checkpointed, component composition, conversion of checkpointing state, and the checkpointing itself. The contributions of this work are to 1) design and build the key algorithms to achieve semantic reconfiguration and semantic checkpointing, 2) understanding a path toward generalization and automation of these two tasks, and 3) identify and frame other key components required for complete automated transitions. As mobile applications become more prevalent, such a systematic approach will become increasing critical.