# 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.

## Research Summary

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.