My core research interests include microformats for services specification, faceted API search, service integration including smart mashups, dynamic configuration and data mediation , application distribution over the Web and across devices. I also have an interest in social aspects of computing and have worked on content driven targeted advertising on social networks, meta-data extraction and storage of social data such as twitter posts. In this page, I have put in a brief description for the research projects I have been involved. For those exciting ideas that lasted a while, detailed information can be found by clicking on the project names. The projects most relevant to my thesis work are left open. Projects are classified by their general area of research. Clicking on a research area will show all the projects in that area.
Web 2.0 and Services on the Web
Ganja: Ganja or DOPE-BAR (Dynamic Object Pre-fetching Environment Based on Associations and Relationships) is a framework that allows client side optimizations of Web application hybrids or mashups by pre-fetching objects related to user actions and service associations. In our reference prototype, we created a mashup of google maps, google movie search, Facebook and MySpace that demonstrated the value of having client-side semantics.
SA-REST and hRESTs: SA-REST and hRESTs are microformats for adding meta information in API description in Web APIs. While SAWSDL sought to address the lack of domain semantics in WSDL, SA-REST seeks to address the same problem in the context of RESTful service descriptions. These descriptions, referred to as Web APIs, are largely written in X/HTML. SA-REST annotations allow users to add domain semantics while hRESTs allow users to add structured service information such as inputs, outputs and operations. This work was done in collaboration with Jacek Kopecky, who led the specification of hRESTs.
APIHut: APIHut is a searching and ranking framework for Web APIs. APIHut uses text processing techniques to enable a more faceted approach for API search. Along with its search capabilities, APIHut also uses a novel ranking algorithm called Serviut rank, that uses metrics similar to the Page rank for ranking Web APIs. The search engine is public and can be accessed here (alpha release).
SMashmaker: SMashmaker is a more declarative and dynamic environment for creating Smart Mashups or SMashups. SMashups are applications described using a high level declarative language and are then made executable during run-time. The actual services are bound to a smashup during its execution. To address the issue of data mediation, we intend to create a social approach for creating reusable data mediation scripts. Coupled with the mediatability metric, the reuse of mappings will ease the task of data mediation. This work evolved from our collaboration with Dr. Michael Maximilien of IBM Almaden Research in the IBM Sharable Code project and draws a lot of its fundamental ideas from Sharable Code. The SMashmaker user interface and application is currently under development.
Mediatability: Mediation and integration of data are significant challenges because the number of services on the Web, and heterogeneities in their data representation, continue to increase rapidly. The end goal of traditional schema matching has been to establish semantic similarity between schema elements. However, semantic equivalence does not guarantee interoperation. Depending on the heterogeneities between the schemas , mediation is harder or even impossible to automate. Even when mediation is manual, it is hard to estimate the complexity for a developer to perform mediation between the two schemas. Mediatability is a quantifiable and computable metric for the degree of human involvement in XML schema mediation.Contact me for the mediatability package. The Web site has some evaluation scenarios and results.
Services for Mobile Computing
AIR: As mobile computing and mobile application development gathers pace, the complexity of platforms such as Android and iPhone make it very hard for users to develop small applications that can find use in their everyday lives. AIR is a device independent middleware platform created to export and execute smashups across various devices. The AIR adaptation layer maps the SMashup language to the underlying mobile framework. This allows AIR to be aware of the capabilities of the host device and optimizes execution by using locally available components. This work is in the early stages and is currently under progress.
Social Networking and Human Computation
My more recent research has been in the area of social networking and human computation. Motivated by a keynote by Dr. Michael Goodchild and the talks by Luis Von Ahn of CMU, I started looking at a services paradigm where users of a social network are perceived as service providers and the network itself as a services middleware. I am looking at answering questions related to discovering the right set of users who will optimize a human computation problem, making ESP games more interesting for users by customizing them using their network information and activity and targeted content delivery on social networks. An interesting aside has been the the development and growth of semantic models using human computation.
Social Space: The first step in creating an environment for human computation over social networks is to model the users in a network along with their connections. In our approach, we take a multi-dimensional approach to model a network user. Aided by shallow semantic models that describe each dimension, a network can be expressed as a space of users with links existing between users at different dimensions. Further, the strength of the relationship can be modeled along each dimension. The key research problem to address is the creation and storage of models that scale to the size of networks and providing querying access to the data. We have defined three operators on the social space. The operators will be abstracted using SPARQL and the data itself will be stored using RDF.
Citizen Sensor Web:
Semantic Web Services
METEOR-S:The METEOR-S project investigated the role of semantics in service annotation, discovery, composition, and execution. In this project, I had worked on creating a middleware framework that supported run-time binding of partner services to processes, taking into consideration the functional and non-functional requirements. To support autonomy during execution, an event identification framework was built on top of METEOR-S towards identifying and relating various run-time events (such as partner service failure, delay in product delivery) to the requirements of the process.
WSDL-S / SAWSDL: The W3C standard for Semantic Annotation for WSDL and XML Schema (SAWSDL) matured out of our preliminary work, WSDL-S. In addition to various conceptual inputs in the development of the standard, I also led and contributed to the development of the reference implementation (SAWSDL4J).