Context-aware services often need to adapt their behaviors according to physical situations and user preferences. However, most of the existing approaches to developing context-aware services can only do adaptation based on globally defined adaptation logic without considering the personalized context-aware adaptation needs of a specific user. In this paper, we propose a novel model-driven approach called PerCAS to developing and executing personalized context-aware services that are able to adapt to a specific user's adaptation needs at runtime. To enable dynamic and personalized context-aware adaptation, user-specific adaptation logic is encoded as rules, which are then weaved into a base process with an aspect-oriented mechanism. At runtime, the active user-specific rule set will be switched depending on who is using/invoking the service. A model-driven platform has been implemented to support the development and maintenance of personalized context-aware services from specification, design, to deployment and execution. Initial in-lab performance experiments have been conducted to demonstrate the efficiency of our approach.