1 Introduction
Mashups are programs that manipulate existing data sources to create a new piece of data or service that can be plugged into a webpage or integrated into an RSS feed aggregator. One common type of mashup, for example, consists of obtaining data from some feeds (e.g., house sales, vote records, bike trails), joining those data sets, filtering them according to a criteria, and plotting them on a map published at a site [2]. The development environments that support mashup languages often contain built-in functionality to quickly access and manipulate data, abstracting away much of the implementation complexity, and allowing the users to focus on the high-level behavior of the mashup.