% $Id: conclusion.tex 16638 2009-01-29 19:00:10Z gokhale $
\sqzlarge
\section{Concluding Remarks}
\label{sec:conclusion}
\sqzlarge
\sqztiny
With the trend towards implementing key DRE system infrastructure at
the middleware level, achieving the desired QoS is increasingly
becoming more of a configuration problem than a development
problem. The flexibility of configuration options in QoS-enabled
component middleware, however, has created a new set of challenges.
Key challenges include determining the correct set of values for the
configuration options, understanding the dependency relations
between the different options, and evolving the QoS configurations
with changes to application functionality.

In this paper, we discussed how our QUICKER toolchain 
uses model transformation to automate the 
mapping of application QoS policies into middleware-specific QoS 
configuration options. We showed
how structural correspondence between input and output
languages in our model-driven approach can be used
to establish that initial system requirements are correctly mapped
to middleware QoS options. We verified the correctness of generated 
QoS options using a model-checker and empirically showed that they
are effective in satisfying system requirements.

 The following is a summary of lessons learned from our experience
 in using QUICKER:

 $\bullet$ \textbf{QoS mapping is critical to successful deployment of
 systems built using component middleware.} With the increase in
 configuration complexity, the QoS mapping capabilities provided by
 QUICKER are essential to managing the complexity.
 Configuration of
 middleware options to achieve the desired QoS in DRE systems can be
 viewed as an directed acyclic graph whose root is the high-level
 mission requirements, edges are the individual mappings joining the
 vertices in a top-down fashion, and the vertices correspond to the
 different options available at each intermediate layer of abstraction.
 QUICKER is a part of a chain of mappings starting from high-level mission
 requirements to the actual deployment platform, and resides between the
 application components and the underlying component middleware
 implementation.
 By employing MDE tools, QUICKER not only simplifies the QoS mapping
 process for DRE system developers, it also preserves the rich
 semantics associated with the mapping between the QoS policies and QoS
 configuration options at this level.
 Using MDE tools also helps QUICKER integrate with mapping technologies
 that exist both {\em above} ({\em e.g.}, mission requirement mapping
 tools, functional decomposition tools, and functional analysis tools) and
 {\em below} ({\em e.g.}, deployment planning tools) the level at which
 QUICKER operates in a component-based DRE system development lifecycle.

 $\bullet$ \textbf{Horizontal mapping of QoS is as important as
   vertical QoS mapping.}  QUICKER currently focuses on mapping
 application QoS policies onto a single underlying middleware
 technology.  Large-scale DRE
 systems---particularly systems requiring dynamic resource
 management~\cite{Schmidt:06l}---are often composed of heterogeneous
 technologies.  It is therefore essential for QoS mapping tools to
 not only support \emph{vertical mapping} ({\em i.e.}, the mapping of
 policies and validation onto a single technology) but also
 \emph{horizontal mapping} ({\em i.e.}, the mapping of QoS policies
 onto multiple heterogeneous technologies, while reconciling the
 differences between these technologies).  Until such mapping is
 performed, QoS configuration and associated tools will remain as
 islands, which significantly complicates integration efforts for
 large-scale DRE systems.

In the future in order to show its scalability we plan to apply and 
evaluate our technique to
complex and large-scale DRE systems. Our current approach 
is one-dimensional \emph{i.e.}, both the 
QoS requirements mapping and configuration validation is done for
a single dimension (such as real-time request-response or 
publish-subscribe communication dimensions). In the future we plan to
investigate and develop configuration techniques under 
simultaneous requirements across distinct QoS dimensions. An effort is
underway in extending our process for other component middleware 
platforms that exhibit the same level of configurability. As part of
this effort, we are looking at development of parameterized model 
transformations that allow specification of templatized QoS mappings 
and later generation of platform-specific QoS mapping instances by 
specializing these templatized mappings.

QUICKER toolchain is available as open-source from
\url{www.dre.vanderbilt.edu/CoSMIC/}.

