Mobile applications run in dynamic environments characterized by huge contexts variability due to user mobility and limited device resources. Context awareness requires context monitoring and system adaptation, these two tasks are very expensive especially in mobile applications. This paper aims at developing a methodology that enables context-awareness techniques for mobile applications that allows adaptations to context changes so that the desired system quality is preserved