— Due to the technological evolution, context-aware computing is slowly moving from dream to reality. These applications heavily rely in sensing the user’s environment and ing this information to perform high-level adaptation. While technological issues have been mostly addressed, sensing software is usually built in a handcrafted way, which turns into building ad-hoc solutions for every new application. To solve this problem, we consider that context sensing should be regarded as a software engineering problem and not a simple implementation issue. In this paper we present a software architecture for dealing with context-sensing aspects in a high-level modular way. We show that by using this approach, evolution issues typical of mobile wireless software can be managed easily by replacing or composing software modules without compromising performance.