
Research and
Development Experience
Home |
Resume |
Academic Course Work |
Publications
Fine-grain middleware componentization | Middleware Specialization Techniques
| Simplifying programming model for Real-time Systems |
Model-Driven QoS
Evaluation Approaches | Quality Assurances Approaches for Middleware
Configuration Validation
Starting from Summer of 2001, I have
been a research assistant in the
Distributed Object Computing (DOC) group in
University of California, Irvine and
Institute for Software Integrated
Systems (ISIS),
Vanderbilt University.
During this period, I have had the opportunity to work on several exciting
open-source projects relating to middleware and
model-driven generative
technologies for middleware. These projects span the areas of middleware
development and optimization, design patterns, benchmarking and performance
evaluation of Component Middleware, Model-driven workload and benchmark
generation and research on software processes and methods on quantifying QoS
of performance intensive middleware. These projects have been executed in
collaboration with University of Maryland College
Park, Kansas State University, University
of California, Irvine and
Washington
University, St Louis.
My research focus is to build flexible customizable and
specialized middleware for different Product-line architectures (PLAs). To
achieve this, I have been building OPTEML (Optimizations Techniques for
Enhancing Middleware QoS for PLAs). The OPTEML Approach address the following
research challenges in current-generation middleware implementations for PLAs:
1: Monolithic middleware implementations that
include more capabilities than are needed for particular product variants.
Standards-based middleware for PLAs is often implemented in a monolithic
``one-size-fits-all'' manner, {\em i.e.}, it includes code supporting many
mechanisms (such as connection and data transfer protocols, concurrency and
synchronization management, request and operation demultiplexing,
marshaling/demarshaling, and error-handling), even when this code is not
used/needed. A key research challenge is therefore making middleware
extensible to enable the selection of necessary middleware mechanisms.
2. Overly general middleware implementations that
incur excessive time and space overhead for particular product variant use
cases. Standards-based middleware is designed for generality, {\em i.e.},
its capabilities support a range of applications, e.g., CORBA middleware
supports many different types of applications running over many different types
of transports. However, standards-based middleware often incurs excessive
generality imposed by the standard. For example, (de)marshaling for standard
CORBA incur byte order test overhead, even if the machines on which they are
hosted conform to the same hardware instruction set. A key research challenge is
therefore to use ahead-of-time properties for each product-line variant to
specialize middleware.
3. Ad hoc techniques for validating and understanding how
middleware configurations influence end-to-end QoS. Middleware for PLAs
often provides a range of options that can be parameterized into various
configurations. Many of these settings (such as concurrency strategies, buffer
sizes and locking) directly affect end-to-end QoS. It can be hard, however, to
tune and validate the QoS properties of such configurable middleware. Product
variants often use ad hoc approaches to identify the right set of middleware
configurations that satisfy the system end-to-end latency and QoS requirements.
Moreover the process they use is not repeatable (reusable across different
variants) and suffers from accidental complexities stemming from the need to
write low level source code (XML configuration files, interface declaration and
QoS and benchmarking code) for capturing impact of middleware configurations on
QoS. A key research challenge is therefore devising a systematic approach for
evaluating, validating, and capturing impact of middleware configurations on
end-to-end QoS.
To address the aforementioned challenges, this research is
developing OPTEML as shown in the Figure below:

OPTEML resolves the aforementioned research challenges in
the following manner:
1. Componentize PLA middleware at a fine level of
granularity to include only capabilities required for each product variant.
This approach factors out different middleware mechanisms into modular
pluggable components that are not loaded until they are used. Each factored
service itself can in turn be considered a monolithic element and factored out
into modular components at a finer level of granularity. The proposed research
will examine the fine-grain componentization of the CORBA Portable Object
Adapter (POA) using a policy-driven approaches.
2. Specialize PLA middleware to eliminate unnecessary time
and space overhead. This approach will use a two step process to customize
middleware. In the first step, the middleware source code will be annotated
with customization hooks that can resolve to nothing when used in the general
case. In the specialized case, an external tool will read specialization rules
(stored in a rules file) and use the hooks to specialize the middleware source
code. This approach is designed to eliminate middleware generality, such as
redundant checks, that are not required for particular product variants.
3. Systematically validate configurations of PLA middleware
that satisfy the QoS requirements of product variants. This approach uses
model-driven development (MDD) techniques to capture the QoS requirements of
product-line variants in higher level models and synthesize validation code,
include (1) the XML configuration settings that are to be evaluated, (2) the XML
deployment data that will be used to deploy the component on to target platform,
and (3) the QoS evaluation and benchmarking code that will measure the QoS and
identify the right configurations that maximize QoS. This MDD approach will be
combined with advanced statistical techniques to evaluate empirically how
specialized and general-purpose optimizations of middleware affect end-to-end
QoS for different PLAs and product variants.
-
A detailed description of OPTEML and its
contributions and comparison to related research can be downloaded from
here.
-
The proposal presentation can be obtained
from
here.
-
The research in a
poster form can be downloaded
here. This
is a poster that was presented at OOPSLA, Vancouver British Columbia in the
Poster Presentation and Student Research Competition sessions. The poster
received the 4th place in the Student Research Competition held.
|