% $Id: related.tex 19213 2009-08-17 10:06:43Z gokhale $
\sqzlarge
\section{Related Work}
\label{sec:related}

We present related work comparing and contrasting them with QUICKER.

\textbf{Validation and Analysis Techniques.}
Model-driven techniques in~\cite{Schmidt:04y,Gorton:07} rely on a visual
interface to help developers select a wide array of middleware
QoS options for their applications. Such information is later used
for generating test suites for purposes of empirical evaluation. In 
contrast, our configuration process does not expose the developers to all of the 
configuration space of underlying middleware and relies on platform-specific
heuristics for generating QoS configurations. Further, using our
process, the correctness of generated configurations is 
established in the design time. We argue that since 
our transformation algorithms codify best practices and patterns in 
middleware QoS configuration, QoS design and evolution throughout 
the system lifecycle using our approach is faster.

Analysis tools such as VEST~\cite{VEST:03}, Cadena~\cite{Hatcliff:03} and 
AIRES~\cite{AIRES:03} evaluate whether certain timing, memory, 
power, and cost constraints and functional dependencies of real-time 
and embedded applications are satisfied. Our configuration process can be used as a 
complementary QoS design and analysis technique to these efforts
since it emphasizes on mechanisms to (1) translate design-intent into
actual configuration options of underlying middleware and (2) verify
that both the transformation and subsequent modifications to the
configuration options remain semantically valid.

\textbf{QoS Design and Specification Techniques.}
The Adaptive Quality Modeling Language (AQML)~\cite{Neema:02a}
provides QoS adaptation policy modeling artifacts.  AQML generators can
(1) translate the QoS adaption policies (specified in AQML) into
Matlab Simulink/Stateflow models for simulations using a
control-centric view of QoS adaptation and (2) generate Contract
Definition Language (CDL) specifications from AQML models to be used 
in target middleware. Our work differs with AQML since middleware model
in QUICKER precisely abstracts the actual real-time CORBA 
implementation and does not need a two-level declarative 
translation (from AQML to CDL to target middleware) to achieve 
QoS configuration. 

Ritter \emph{et.al.}~\cite{Ritter:03} describe CCM extensions for generic QoS
support and discuss a QoS metamodel that supports domain-specific
multi-category QoS contracts. The work in ~\cite{Kruger:05} focuses 
on capturing QoS properties in terms of \emph{interaction patterns} among 
system components that are involved in executing a particular service and 
supporting run-time monitoring of QoS properties by distributing them
over components (which can be monitored) to realize that service.
Another approach that uses an aspect-oriented specification technique
for component-based distributed systems is discussed
in~\cite{Blair:01a}.  This work deals with specification of
functional behavior, non-functional behavior, QoS management
policies, and requirements of the application and synthesis of QoS
management components for that supporting application-level
adaptation strategies.

In contrast to the projects and tools described above, our work focuses on
automating the error-prone activity of mapping platform-independent
QoS policies to middleware-specific QoS configuration options.
Representing QoS policies as model elements allows for a unified (with
functional aspects of the application) and flexible QoS specification
mechanism, while automating evolution of the QoS policies with
application evolution; the platform-independent QoS policies also
allow configurable re-targeting of the QoS mapping to support other
types of middleware technologies. 
