This paper presents an approach for dynamic software reconfiguration in sensor networks. Our approach utilizes explicit models of the design space of the embedded application. The design space is captured by formally modeling all the software components, their interfaces, and their composition. System requirements are expressed as formal constraints on QoS parameters that are measured at runtime. Reconfiguration is performed by transitioning from one point of the operation space to another based on the constraints. We demonstrate our approach using simulation results for a simple sensor network that performs one-dimensional tracking. Categories and Subject Descriptors C.3 [Computer Systems Organization]: Special Purpose and Application-based Systems – Real time and embedded systems. General Terms Algorithms, Management, Design Keywords Runtime/Dynamic Software Reconfiguration, Design Space Exploration