The ability to adapt to changes is among the most important issues in mobile information systems. We propose a rule-based modular framework for building self-adaptive applications in mobile environments. A common mobile event engine for all applications is employed to detect the status changes. The rule system plays the role of a reactive component for making proper decisions in response to the changes. A general database interface ensures seamless integration of the rule system with database systems for flexible information access. For efficient rule processing, we develop techniques that combine static and dynamic analysis to uncover phase structure and data access semantics of a rule program. The semantic information is used to facilitate intelligent caching and prefetching for conserving limited bandwidth and reducing rule processing cost. A distributed data management and rule execution strategy enable adaptive information services over changing environment, even under disconnection. We devise a performance model to characterize the exact condition for our approach to be superior than traditional approach. Trace-driven simulation results successfully demonstrate the feasibility and potential of our approach. The modularity of the framework permits fast implementation based on off-the-shelf rule systems and database packages. We present a prototype implementation and preliminary evaluation results to show that our techniques can be effectively materialized.