nokia and csail

Home    About NRCC    Research Projects    Publications    Image Gallery    Blog  

Overview: ComposeMe

The mobile ecosystem consists of a rich collection of of mobile and fixed devices, and information sources and sinks. It can be difficult to integrate these components, most of which were never designed to work together. Our goal is to enable creation of applications that deliver new functionality by integrating heterogeneous components. The integration may be performed by programmers writing software, by users who compose services, or even by applications as they discover new services. The integration can: indicate which services are compatible with one another; substitute one service for another; and transform inputs or outputs in order to make them compatible.

Here are three examples of functionality that our research will help to achieve:

  • For programmers: Suppose that a new information source or sink becomes available. Existing documentation is not necessarily adequate for the programmer's purpose. However, given the information source or sink, and an example application that uses it, our tools will enable the programmer to explore the semantics of the feed in order to more quickly build applications that properly use it.
  • For end users: Often, a mobile device user discovers two services that could work together in a way not foreseen by any programmer. Suppose that the two services were created without knowledge of one another and do not adhere to a common standard. Our tools will enable the user to create a new application on the fly by connecting them, perhaps via a graphical interface. A composition wizard permits the user to make sensible connections between them, rejects nonsensical ones, and converts the representation of those with compatible semantics but incompatible formats. For example, a motion detectorâ€™s output might not be a sensible input to a shopping application, but could be provided as spatial control for aiming a video camera.
  • For applications: Applications should react appropriately to the changing environment around them, in order to continue providing functionality to users. For example, suppose that a blogger posts a local weather report from an amateur (home) meteorological station. A weather application could notice this new information source and determine that it is (imperfectly) correlated with other weather data, perhaps after transformations. If the the primary weather service becomes unavailable, the application automatically converts the blogger's information into a form compatible with the application and uses it to approximate the missing information.

We focus on two application domains: web services and mobile phone software. We have implemented a tool that finds composable and substitutable web services based on monitoring of their inputs and outputs. We are working on extending our approach and on applying it to mobile software components as well as mobile device data.

View Quicktime video about the potential phone data, web service and software component composition on mobile devices.

Publications

"Detection of web service substitutability and composability", Michael D. Ernst, Raimondas Lencevicius, and Jeff H. Perkins. In International Workshop on Web Services - Modeling and Testing, June 2006.

CSAIL    Nokia Research
Media inquiries email: news@csail.mit.edu