|This project is funded by the National Science Foundation
Project Title: III: EAGER: Aspect-Oriented Data Weaving
PI: Curtis Dyreson
Awardee: Utah State University
Award Number: 1144404
The goal of this research program is to develop a new paradigm
for databases, called aspect-oriented data (AOD). AOD enables
cross-cutting data concerns to be added to a database using aspect-oriented
programming (AOP). A cross-cutting data concern is a data need that
is universal (potentially applicable to the entire database)
and widespread (can be used to enhance many, different databases).
Data has a wide variety of cross-cutting data concerns,
including provenance, time, lineage, and security.
So this research has the potential to impact every database.
But developers currently have to rely on ad-hoc techniques to
add these concerns to a data collection. To make the task easier,
more flexible, and more general, we plan to apply techniques adapted
from AOP to database management systems, preserving three key
benefits of the aspect-oriented approach.
In our approach, a data aspect "tags" data with metadata from
a crosscutting data concern creating AOD. Once it is attached the
aspect becomes active whenever the data is used.
We plan to re-engineer Pig Latin to support AOD. Pig Latin is
a cloud computing platform, used primarily for the analysis of massive
data sets. We propose to build a data aspect weaver for weaving
metadata into Pig Latin programs. The data weaver needs to
be extensible so that developers can "plug-in" the semantics of
different cross-cutting data concerns by specifying only a few core
functions. In this way, many different aspects can be seamlessly supported.
We also plan to develop test cases for AOD and show that
aspects themselves can be aspected to model meta-metadata.
Aspect independence - Aspects are designed, developed,
and coded independent of a particular database.
Late binding - Aspects can be woven into existing databases.
Lightweight footprint - It should be inexpensive and
easy to weave an aspect into data.