\setcounter{chapter}{6}
\setcounter{equation}{0}
\setcounter{figure}{0}
\chapter{Conclusion}

The focus of this thesis work is on proposing a component software assembly
paradigm and integration framework for HPDC applications, identifying and specifying
software components that can be integrated/composed to create
distributed applications, developing a compositional
methodology and architecture for constructing distributed applications from 
reusable components, and implementing a set of parallel applications
that demonstrates the methodology.
Our major findings are:
\begin{enumerate}
\item
Overall, a dataflow model can be a feasible and effective integration framework
with which to combine data-parallel programming and coarse-grained
task parallelism for general-purpose parallel computation. As a
restricted message-passing system, a dataflow execution paradigm
allows a flexible and open component architecture that provides
a good solution to problems in parallel software engineering, including rapid prototyping, 
modularity and reusability of fine-grained parallel programs,
portability, encapsulation of implementation details, and allocation
of resources. Using the execution semantics inherent in
dataflow computation, high-level programming constructs such as message-passing
ports and channels and processors allocation/mapping can easily be supported
and their implementations  handled by runtime of the integration
framework. Thus they are independent and transparent to 
developers. A dataflow model also provides the opportunity and flexibility
to build a visual programming interface in the framework 
to dynamically construct and compose distributed
task modules for a particular application from a 
repository of reusable modules.

\item
The motivation of a dataflow
framework in a parallel software environment is encouraged
by the successful use and deployment of a
dataflow framework in
graphics software systems and applications.
For HPDC applications such as interactive distributed computing 
and visualization applications that require both parallel computation and
data visualization, this framework provides a common ground with which
to seamlessly assemble the two components. 
With its visual programming interface, modular program structure, 
dataflow-based execution, interactive visualization functionality,
and its open system characteristics, a process-based integration framework 
like AVS provides an excellent framework with which to
facilitate integration of various system components into a large, 
multi-disciplinary application, including the integration of sophisticated 
interactive visualization, database management, heterogeneous networking, 
massively parallel processing, and real-time decision making.

\item 
The coarse-grained model is well suited for combining parallel database 
systems in distributed data-intensive applications, because the
parallelization of database applications is
usually obtained by the partition of
data placement on parallel disk devices, and SQL-based
programs for a parallel and a sequential database server are identical.

\item
Support of a heterogeneous distributed environment is one of the major
advantages of the process-based software integration framework. 
Using TCP/IP as the underlying data transport protocol, our work indicates
that the proposed framework can support diverse parallel platforms
and hybrid parallel computation models. For example, coupling of fine-grained
data-parallel and message-passing programs is seamlessly supported in the
framework.

\item
Choice of optimal platform(s) for particular application needs
is supported at the software environment level, including
optimization of resource allocation, hybrid parallel computation models,
and data redistribution among different platforms and programming models.

\item 
The coarse-grained framework is an open component architecture
that is best suited for composing meta-applications on
meta-computers at the scale of a local area network. 
It can also be applied to distributed multi-media
applications over a wide area network.
For example, the dataflow execution model can be applied
to the World Wide Web meta-computer
as a development platform
for distributed computing and software integration.

\end{enumerate}
