Currently, a lot of research is devoted to system design, and little work i
s done on requirements analysis. Besides going from specification to design
, one of our main objectives is to show how an application problem can be t
ransformed into specifications. Working from the hardware-software codesign
perspective, a system is designed starting from an application problem its
elf, rather than the detailed behavioral specifications. Given an applicati
on problem specified as a directed acyclic graph of elementary problems, a
hardware-software solution is derived such that the synthesized software, a
parallel pseudoprogram, can be scheduled and executed on the synthesized h
ardware, a set of system-level parallel computer specifications, with heuri
stically optimal performance. This is known as system-level cosynthesis of
application-oriented general-purpose parallel systems for which a novel met
hodology called Cosynthesis Methodology for Application-Oriented Parallel S
ystems (CMAPS), is presented. Since parallel programs and multiprocessor ar
chitectures are largely interdependent, CMAPS explores the relationship bet
ween hardware designs and software algorithms by interleaving the modeling
phases and the synthesis phases of both hardware and software. High scalabi
lity in terms of problem complexity and easy upgradability to new technolog
ies are achieved through modularization of the input problem specification,
of the software algorithms, and of the hardware subsystem models. The work
presented in this paper will be beneficial to designers of general-purpose
parallel computer systems which must be oriented toward solving some user-
specified problem such as the global controller of an industry automation p
rocess or a multiprocessor video server. Some application examples are give
n to illustrate various codesign phases of CMAPS and its feasibility.