This paper1,2 describes a framework for developing dynamically reconfiguring distributed embedded systems supporting graceful degradation. Graceful degradation allows embedded systems to reconfigure in response to faults, allowing the systems to reduce their level of service instead of suffering system failures. The approach is based on a graphical software specification technique. Software module dependency graphs are used to specify the interaction and interdependencies between software modules. Individual software modules can be specified with alternate implementations that may require different amounts of system resources. As failures occur, a system manager tracks system status and uses the dependency graphs to choose new system configurations to deploy. The proposed framework also supports traditional faulttolerance techniques, such as fail-over programming, redundant calculations, and voting, making it an attractive alternative for the design of a wide range of embedded control applications. A high level description of the proposed system architecture as well as its fault detection and handling are presented followed by discussion of the software modeling.