Contact Info
Job Application
Photo Gallery
Art Gallery
None of the above


Currently at IBM TJ Watson, I am involved in a variety of research projects that have come to have an underlying common theme: the Semantic Web. I've mainly been looking at different applications of Semantic Web technologies (representation and reasoning) to improve different system management and operations. The broad areas of research

  • Semantics-based Workflow Composition. This work involves the development of expressive models for describing different kinds of components (web services, stream processing components, mashup modules, etc) and automtically composing a workflow of these components given a high level user goal.
  • Semantic Query on Relational Databases. This work involves the use of a semantic query language (SPARQL) for querying relational data, along with the incorporation of a subset of OWL-DL reasoning.
  • Semantic representation of Policies. Here we are using semantic web languages (OWL/RDF) to describe high-level policies that are enforced in an adaptive manner.
  • Optimal Evaluation of Shared Filters in Pub-Sub Systems. In this work, we are investigating different approaches for matching of events to a large number of subscriptions. The matching process can involve the use of expensive operators (or filters) for determining if an event matches a condition in the subscription. We make use of the overlapping nature of subscriptions (i.e. they share common filters) to decide an optimal evaluation strategy.
  • Collaborative Development of Ontologies and other Semantic Descriptions. In this work, we aim to solve the knowledge engineering challenge in creating, using and maintaining large amounts of knowledge among a large group of users.


My PhD thesis spanned the areas of Pervasive or Ubiquitous Computing, Autonomic Computing, the Semantic Web, Distributed Systems and Middleware. It focused on trying to make large-scale pervasive computing environments easier to program and manage, and smarter in their interaction with humans. Other areas where I did work are context-aware computing, artificial intelligence, security, workflows, human-computer interfaces, social networks and ontologies.

I was a research assistant under Prof Roy Campbell in the Gaia project, which aims to develop a middleware for Active Spaces. Active Spaces are which are physical spaces that have been enriched with devices and services to become interactive, pervasive computing environments. Such environments can be seen as analogous to traditional computing systems; just as a computer is viewed as one object, composed of input/output devices, resources and peripherals, so is an Active Space. However, the heterogeneity, mobility and sheer number of devices makes the system vastly more complex. Applications may have the choice of a number of input devices such as location sensing system, mouse, pen, or finger and output devices, such as an everywhere display, monitor, PDA screen, wall-mounted display, speakers, or phone. I have worked on a variety of pervasive computing issues including modeling, sensing, reasoning about and using context information, ontologies, security issues, location-awareness, mobility, metrics and wearable computing.

The title and abstract of my PhD dissertation were:

Dissertation Title :
A Framework for Autonomic Pervasive Computing

Dissertation Abstract :
The complexity of developing, managing and using pervasive computing environments has become a significant challenge. These environments feature large distributed systems, contain a variety of inter-dependent, heterogeneous services and devices, and are highly dynamic and fault-prone. My thesis focuses on building a framework for autonomic pervasive computing, that enables these environments to be self-configuring, self-repairing, and adaptive, and require minimal user intervention. The framework allows developers and administrators to program and configure pervasive computing environments in terms of high-level, parameterized tasks. The values of task parameters may be specified by the developer or administrator, provided by the end-user or automatically inferred by the framework based on the current state of the environment, context-sensitive policies, and learned user preferences. The framework uses a novel semantic discovery process to infer the best values of parameters. The autonomic framework frees developers, administrators and end-users from the burden of choosing myriad task parameter values, although it does allow them to override system choices and manually configure how the task is to be performed. The framework also uses AI planning to compose actions and tasks to achieve high-level goals. It can recover from failures of one or more actions by re-planning. Experiments have shown that this framework does make it easier to program, configure and use our prototype environment.


Home | Contact Info | Research | Publications | Job Application | Photo Gallery | Art Gallery | Resume | None of the above

This site was last updated 12/28/05