Several classes of modern applications demand very high performance from systems
with minimal resources. These applications must also be flexible to operate in a rapidly
changing environment. Achieving high performance from limited resources demands
application-specific architectures, while flexibility requires architectural adaptation
capabilities. Reconfigurable computing devices promise to meet both needs. While these
devices are currently available, the issue of how to design these systems is unresolved.
This paper describes an environment for design capture, analysis and synthesis of
dynamically adaptive computing applications. The representation methodology is captured
in a Domain-Specific, Model-Integrated Computing framework. Formal analysis
tools are integrated into the design flow to analyze the design space to produce a
constrained set of solutions. HW/SW Co-simulations verify the function of the system
prior to implementation. Finally, a set of hardware and software subsystems are
synthesized to implement the multi-modal, dynamically adaptive application. The application
executes under a runtime environment, which supports common execution
semantics across software and hardware. An application example is presented.