This research is on developing methodologies and tools for designing real-time embedded systems with the goal of providing a tool environment to help designers explore a vast design space and locate superior system architectural configurations. The approach is to work at the system level or processor level of abstraction and to formulate the problem as a multi-attribute optimization one which captures various quality requirements in system design. Specific topics being addressed are: 1. Evaluating timing performance through studying the flexibility of a system configuration with respect to timing specifications, and formulating metrics for estimating the flexibility of systems. 2. Developing an interface tool for assisting system developers to specify value functions and preferences. 3. Combining the imprecisely specified multi-attribute utility theory with evolutionary algorithms to find optimal solutions for multiple objective optimization problems.