Research Statement
Overall Research Outlook
There have been numerous times in my experience as a
researcher when I have found that a breakthrough comes from a synergy of two
seemingly dissimilar concepts. In such cases, the solution provided by an
unrelated technique was the key toward overcoming a research hurdle. To me, the
ability to make associations between ostensibly unconnected areas is a core
skill required of a successful researcher.
While such breakthroughs seem to come
serendipitously, it is probably more realistic to assume that the connection
was made as a result of a thorough knowledge of relevant literature. Thus, a
researcher must command a breadth of knowledge and be well-read in several
areas in order for various connections even to be explored. In recognizing
this, it has been my intention, which began while I was in high school, to read
a variety of technical journals each month so that I can keep abreast of
promising new ideas. It is always exciting to learn about a new research proposal
and contemplate its application in some uncharted area.
My interests lie generally in software engineering. The specific focus of my recent work has been concentrated in advanced separation of concerns. Of course, the seminal papers on separation of concerns appeared over a quarter century ago and gave rise to the fundamental modularization constructs found in structured programming, and later in object orientation. Yet, there is a renewed interest by several software engineering researchers to revisit the topic of separation of concerns with respect to specific crosscutting properties that are not adequately isolated given present techniques.
Robert Filman of NASA Ames
has observed that the real power of these innovative techniques, like aspect orientation,
comes from its capacity to provide quantification and obliviousness. That is,
these new techniques for separation of concerns provide the ability for a
programmer to write single, separated statements that introduce effects across
numerous locations in the source code. Using ideas borrowed from generative
programming, there are abundant opportunities where the power of quantification
can produce beneficial results.
As an example, my current research unites the area of model-integrated computing with the more recent concepts in aspect orientation. This research has discovered that certain properties of large models are often spread across a model hierarchy. The core result of this work is a language that provides proper separation and modularization of concerns that heretofore were scattered among modeling elements. A weaver has been created to support the diffusion of these separated concerns into a model.
The tip of the proverbial iceberg has only just begun
to be investigated with respect to advanced separation of concerns. Although
its genesis and focus has been in the area of programming languages, the
application is more far reaching. My goal is to be a contributor in this new
area by synergistically applying these concepts to unexplored territory. To do
this, my current research will be extended by providing additional variability
to the framework that is used to create weavers.
There are other areas of research that interest me.
For example, on a current DARPA project, I am beginning to look at distributed
computing issues related to real-time CORBA and the CORBA Component Model
(CCM). Furthermore, I envision that concepts from model-integrated computing
will continue to influence the way I think about solving specific research
problems.
Very early in my career, I was fortunate to have
mentors who taught me much about the joys of conducting research. I want to
continue to build bridges with other researchers who are more experienced than
I. As I grow, I also look forward to opportunities to share my own research
experiences with my future students.