% $Id: conclusion.tex 16662 2009-02-02 04:43:57Z gokhale $
\section{Concluding Remarks}
\label{sec:conclusion}

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 model transformations provided by our
QUICKER tool automates the mapping of DRE system 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.

We demonstrated the ideas behind QUICKER concretely in the context of
the CIAO Lightweight CORBA Component Model middleware.  By combining
model transformation and generative techniques with advanced
model-checking technologies, QUICKER automates the mapping of QoS
policies of applications to QoS configuration options for the CIAO
middleware technology.  However, QUICKER's separation of
platform-independent and platform-dependent concerns enables the use of
PICML models, which is our source DSML, to specify QoS policies that can
be mapped to other types of middleware, such as Web Services and EJB. 

As a result, developers can concentrate on inherent complexities in the
application domain rather than wrestle with low-level
middleware-specific configuration options. QUICKER also helps ensure the
validity of the values for the QoS configuration options, both at the
individual component (local) level and at the aggregate application
(global) level. 

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 DSMLs, 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 such 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.  Care must be taken, however, to not introduce additional
 learning curve for developers.

In the future in order to show its scalability we plan to apply and 
evaluate our technique on 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.  These
parametrized models are, however, unlike the intermediate
representations used in related efforts, such as AQML~\cite{Neema:02a}. 

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

