Autocompletion for Mashups

Ohad Greenshpan, Tova Milo, Neoklis Polyzotis. Autocompletion for Mashups. PVLDB, 2(1):538-549, 2009.

Abstract

A mashup is a Web application that integrates data, com- putation and UI elements provided by several components into a single tool. The concept originated from the under- standing that there is an increasing number of applications available on the Web and a growing need to combine them in order to meet user requirements. This paper presents MatchUp, a system that supports rapid, on-demand, intu- itive development of mashups, based on a novel autocomple- tion mechanism. The key observation guiding the develop- ment of MatchUp is that mashups developed by different users typically share common characteristics; they use sim- ilar classes of mashup components and glue them together in a similar manner. MatchUp exploits these similarities to recommend useful completions (missing components and connections between them) for a user’s partial mashup spec- ification. The user is presented with a ranking of the rec- ommendations from which she can choose and refine accord- ing to her needs. This paper presents the data model and ranking metric underlying our novel autocompletion mecha- nism. It introduces an efficient top-k ranking algorithm that is at the core of the MatchUp system and that is formally proved to be optimal in some natural sense. We also experi- mentally demonstrate the efficiency of our algorithm and the effectiveness of our proposal for rapid mashup construction.