1 Mashroom: End-User Mashup Programming Using Nested Tables Guiling Wang, Shaohua Yang, Yanbo Han Institute of Computing Technology (ICT) Chinese Academy.

Slides:



Advertisements
Similar presentations
1 Web-Enabled Decision Support Systems Access Introduction: Touring Access Prof. Name Position (123) University Name.
Advertisements

WHAT IS ELINK? Thermoflow, Inc.
EuSpRIG 2004Computational Models of Spreadsheet Development1/23 Computational Models of Spreadsheet Development Basis for Educational Approaches Karin.
BUSINESS DRIVEN TECHNOLOGY Decision Analysis Tools in Excel
Decision Analysis Tools in Excel
D ATABASE S YSTEMS I R ELATIONAL A LGEBRA. 22 R ELATIONAL Q UERY L ANGUAGES Query languages (QL): Allow manipulation and retrieval of data from a database.
Developing a Reference Model of ePortfolio Peter Rees Jones CETIS (The UK Centre for Educational Technology Interoperability Standards) Drawing on the.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Relational Algebra Chapter 4, Part A Modified by Donghui Zhang.
INFS614, Fall 08 1 Relational Algebra Lecture 4. INFS614, Fall 08 2 Relational Query Languages v Query languages: Allow manipulation and retrieval of.
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
End User Mashup Programming Environments Oleg Beletski HUT, Telecommunications Software and Multimedia Laboratory
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Aki Hecht Seminar in Databases (236826) January 2009
1 CS 430 / INFO 430 Information Retrieval Lecture 15 Usability 3.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
ITEC810 Project By: P. M. Mathindri Nilushika Pathiraja 1.
Mobile Web Search Personalization Kapil Goenka. Outline Introduction & Background Methodology Evaluation Future Work Conclusion.
Making Mashups with Marmite Jeff Wong Jason I. Hong Carnegie Mellon University.
Matt Masson| Senior Program Manager
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
Sangam: A Transformation Modeling Framework Kajal T. Claypool (U Mass Lowell) and Elke A. Rundensteiner (WPI)
Rutgers University Relational Algebra 198:541 Rutgers University.
Relational Algebra Chapter 4 - part I. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
CSCD343- Introduction to databases- A. Vaisman1 Relational Algebra.
State of Connecticut Core-CT Project Query 4 hrs Updated 1/21/2011.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
Result presentation. Search Interface Input and output functionality – helping the user to formulate complex queries – presenting the results in an intelligent.
CIDR, Tuesday The Schema-Independent Database UI Eirik Bakke and Edward Benson CIDR 2011 (a proposed holy grail and some suggestions)
Application Software.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
1 Relational Algebra and Calculus Chapter 4. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.
Chapter 10: Working with Large Data Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
Introducing Reporting Services for SQL Server 2005.
Web Mashups -Nirav Shah.
1 Chapter 7 Query-By-Example by Monica Chan CS157B Professor Lee.
Web Mashups Presented By: Saket Goel Uni: sg2679.
Working with Reports in Microsoft Excel Session Version 1.0 © 2011 Aptech Limited.
1 Performing Spreadsheet What-If Analysis Applications of Spreadsheets.
Michael Cafarella Alon HalevyNodira Khoussainova University of Washington Google, incUniversity of Washington Data Integration for Relational Web.
University of Minnesota Campus Event Finder Department of Computer Science and Engineering, University of Minnesota Presented by Murat Demiray & Mustafa.
Lecture 05 Structured Query Language. 2 Father of Relational Model Edgar F. Codd ( ) PhD from U. of Michigan, Ann Arbor Received Turing Award.
Querying Structured Text in an XML Database By Xuemei Luo.
Domain Modeling In FREMA David Millard Yvonne Howard Hugh Davis Gary Wills Lester Gilbert Learning Societies Lab University of Southampton, UK.
Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters Hung-chih Yang(Yahoo!), Ali Dasdan(Yahoo!), Ruey-Lung Hsiao(UCLA), D. Stott Parker(UCLA)
Enhancing the Web With End-User Programming Tak Yeon Lee, Ben Bederson.
Microsoft Office 2007 Intermediate© 2008 Pearson Prentice Hall1 PowerPoint Presentation to Accompany GO! With Microsoft ® Office 2007 Intermediate Chapter.
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
1 Relational Algebra & Calculus Chapter 4, Part A (Relational Algebra)
1 Relational Algebra and Calculas Chapter 4, Part A.
Design Patterns Introduction General and reusable solutions to common problems in software design SoftUni Team Software University
CSCD34-Data Management Systems - A. Vaisman1 Relational Algebra.
IST 210 The Relational Language Todd S. Bacastow January 2004.
1 Limitations of BLAST Can only search for a single query (e.g. find all genes similar to TTGGACAGGATCGA) What about more complex queries? “Find all genes.
Chapter 10: Working with Large Data Spreadsheet-Based Decision Support Systems Prof. Name Position (123) University Name.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Instance Discovery and Schema Matching With Applications to Biological Deep Web Data Integration Tantan Liu, Fan Wang, Gagan Agrawal {liut, wangfa,
Mashups for the Nontechies: Yahoo! Pipes Jody Condit Fagan Digital Services Librarian James Madison University
Computers Are Your Future Tenth Edition Spotlight 5: Microsoft Office Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall1.
YEAR 10 INFORMATION TECHNOLOGY What is Microsoft Excel?
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
Spreadsheet Manager Training Module
Web Mashups -Nirav Shah.
Relational Algebra Chapter 4, Part A
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
CPSC-310 Database Systems
Lecture 12: Data Wrangling
Data Integration for Relational Web
Agenda About Excel/Calc Spreadsheets Key Features
Mashup Service Recommendation based on User Interest and Service Network Buqing Cao ICWS2013, IJWSR.
Presentation transcript:

1 Mashroom: End-User Mashup Programming Using Nested Tables Guiling Wang, Shaohua Yang, Yanbo Han Institute of Computing Technology (ICT) Chinese Academy of Sciences INSTITUTE OF COMPUTING TECHNOLOGY, CAS

2 Outline Introduction Foundamentals Programming Model –Application Structure –Data Model –Script & Operators Trail Application Evaluation Related Works Conclusion

3 Motivation HTML, RSS/Atom, Open API Mashup

4 Motivation Seldom can a single website provide an integrated view of movies on demand –title, director, showtime, reviews, map, … Showtimes Website … Movie reviews Website

5 Motivation End-User Mashup Programming –Enable non-professional users to build Web applications by combining functionalities offered by more than one websites to deal with situational and ad-hoc problems Popular mashup editors adopt flow-chart-like formalisms like Yahoo! Pipes, MS Popfly, … –Some studies show that the concept of data flow is the main barrier for end users [Wong,07] Explicit control operators: branches, loops, … Explicit alignment of inputs and outputs at each step

6 Problem Definition Spreadsheet programming can also been adopted in end-user mashup programming like C3W, SpreadMash, … –Excellent end user programming paradigm, but also face some challenges Goal –Enable non-professional users to build mashups –Adopt spreadsheet programming paradigm –Balance usability and expressiveness

7 Outline Introduction Foundamentals Programming Model –Application Structure –Data Model –Script & Operators Trail Application Evaluation Related Works Conclusion

8 Foundamentals of Mashroom Programming Learn from nested relation model and nested table –Nested relation model is one of the most adopted data model for representing web data. –Strong foundation both in query algebra and in query optimization –Nested table is understandable by end users Challenges –existing graphical query languages based on the nested table are low-level SQL-like, QSByE [Filha,01] and GXQL [Qin,04] Data query operators are not enough

9 Foundamentals of Mashroom Programming Learn from Spreadsheet –Loop execution is described by selecting a range of cells intuitively –Allows users to manipulate data by flexibly editing a formula Challenges –Enable spreadsheet suitable for displaying nested table –Enable direct manipulation on the nested relational data model

10 Foundamentals of Mashroom Programming- Learn From Programming by Example

11 Outline Introduction Foundamentals Programming Model –Application Structure –Data Model –Script & Operators Trail Application Evaluation Related Works Conclusion

12 Application Structure

13 Data Model : MashSheet σ(Theaters(MoviesLabel=”Waiting in Beijing”)) MashSheet = {worksheet} a worksheet is a nested table “column” is the first-class object Mashroom formula is built from column references, operators, and constant values

14 Data Mashup Script and Operators script = –vars : global input parameters op = –actor : computation that computes on nested tables from actorIn –actorIn : a set of input variables

15 Operators in Mashroom Operators Operations on Nested Relation Model Worksheet CreationImport, CreateSheetNew, Insert Worksheet Data Manipulation Filter, Sort, HeaderTruncate, TailTruncate Selection(σ) Worksheet Schema Manipulation DeleteColumn, RenameColumn, Nest/Unnest Delete,Update, Nest(η),Unnest(μ) Worksheet CleaningAddFunction, Replace, MergeInstance Insert, Selection(σ) Worksheet Composition Merge, Fuse, LinkService Union( ∪ ),Join( ) Worksheet ExportSink -

16 Worksheet Creation Operators (Import, CreateSheet) createsheet(sheet0:Theaters/Movies)

17 Worksheet Data Manipulation Operators (Filter, Sort, HeadTruncate, TailTruncate) filter(sheet0:Book/Price, (sheet0:Book/Price 80))

18 Worksheet Schema Manipulation Operators (DeleteColumn, RenameColumn, Nest/Unnest )

19 Worksheet Cleaning (mergeInstance, addFunction, replace)

20 Worksheet Composition (merge, fuse, linkService) linkservice(sid, mapping,…)

21 Operator Visualization Nested table

22 Operator Visualization : Drag and Drop create a new worksheet merge

23 Operator Visualization Implicit control operators: loops, … Avoid alignment of inputs and outputs at each step

24 Outline Introduction Foundamentals Programming Model –Application Structure –Data Model –Script & Operators Trail Application Evaluation Related Works Conclusion

25 Trail Application IMDBDS (from imdb.com) –Output : (label, director, actor) GooglemovieDS (from shenghuo.google.cn) –Input: city –Output : (title, director, actor) MovieReviewsDS (from douban.com) –Input: subjectID –Output: reviewLink, summary How to get the integrated movie list with reviews ?

26 Trail Application(1)

27 Trail Application(2)

28 Trail Application(3)

29 Demo Video

30 Evaluation Goal –expressivity and usability Method –10 popular mashups from Yahoo! Pipe community (those have high “clone” number), two mashup directories (programmableWeb.com and mashupAwards.com) and a set of other typical mashups. –“Mashup Patterns” –User study with 5 groups of people to measure the average time to build a mashup

31 Aggregation Patterns Aggregation for Collection (same kind of Web Sources) –e.g. “Aggregated News Alerts”, search at Bloglines, Google Blog Search, Microsoft Live News etc. Aggregation for Comparison (same kind of Web Sources) –e.g. “Book Price Comparison”, compares the price of the same book from dangdang.com and amazon.cn Focus View or Data Analysis (single Web Source) –e.g. “Focus View of YouTube Video”, list YouTube videos of a certain category or tag Aggregation for Collection (different kinds of Web Sources with dependency) –e.g. “Aggregated Movie Reviews”

32 “similarity aggregation without dependency” pattern

33 “similarity aggregation with comparison” pattern

34 “focus view or analysis” pattern

35 “aggregation with dependency” pattern “search subjectID first” pattern

36 Selected Mashups, Patterns and Experiment Results

37 Related Works flow-chart-like programming –Microsoft Popfly, IBM Damia, Marmite Yahoo Pipes –Provide a set of flow-chart-based graphical operators and adopt a flow-style orchestration specification spreadsheet-like programming –SpreadMash and C3W –Data services are processed in a manner similar to spreadsheets tree-based programming –The old version of Intel MashMaker –Data services are combined based on a tree structure browser-centric programming –Ubiquity and d.mix –Provide mechanisms for users to trigger the mashup operations in the context of browsing

38 Related Works flow-chart-like programming (Yahoo! Pipe) spreadsheet- like programming (C3W) Tree-based programming (old version MashMaker) Mashroom Knowledge required, learning curve Data flow modeling knowledge Spreadsheet using knowledge Specific tree- based programming knowledge a little spreadsheet knowledge Service dependency Alignment of Input and Outputs in data flow Cell reference in spreadsheet Parameter configuration Contextual menu and dialog Complex control operator Explicit control module Control expressions on cell reference Hide complex control operator

39 Conclusion A programming model for building mashups by end users –the design philosophy –the abstraction of mashup applications, and the implementation –combine the nested table with the spreadsheet- like programming –Evaluation