This research is on synthesis techniques for micro-electronics- based "embedded systems". An embedded system is one designed for a specific functionality under stringent constraints on its timing performance and cost. Design automation techniques are being developed for use in a framework where the designer can assess tradeoffs between various embedded system architectures and designs. The main capabilities of this framework are: (a) timing analysis for both execution delay and rate constraints; (b) embeddable software and runtime system generation under timing constrains; (c) software size-performance tradeoffs; (d) cost- performance analysis of architectural alternatives, such as pre- fetch and forward hardware. This work is exploreing system partitioning and transformation techniques to build system implementations that "guarantee" constraint satisfaction while optimizing system development cost.