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.
|