skip to main content
research-article

Recommendation and Weaving of Reusable Mashup Model Patterns for Assisted Development

Published:28 October 2014Publication History
Skip Abstract Section

Abstract

With this article, we give an answer to one of the open problems of mashup development that users may face when operating a model-driven mashup tool, namely the lack of modeling expertise. Although commonly considered simple applications, mashups can also be complex software artifacts depending on the number and types of Web resources (the components) they integrate. Mashup tools have undoubtedly simplified mashup development, yet the problem is still generally nontrivial and requires intimate knowledge of the components provided by the mashup tool, its underlying mashup paradigm, and of how to apply such to the integration of the components. This knowledge is generally neither intuitive nor standardized across different mashup tools and the consequent lack of modeling expertise affects both skilled programmers and end-user programmers alike.

In this article, we show how to effectively assist the users of mashup tools with contextual, interactive recommendations of composition knowledge in the form of reusable mashup model patterns. We design and study three different recommendation algorithms and describe a pattern weaving approach for the one-click reuse of composition knowledge. We report on the implementation of three pattern recommender plugins for different mashup tools and demonstrate via user studies that recommending and weaving contextual mashup model patterns significantly reduces development times in all three cases.

Skip Supplemental Material Section

Supplemental Material

References

  1. M. W. Berry, S. Dumais, G. O'brien, M. W. Berry, S. T. Dumais, and Gavin. 1995. Using linear algebra for intelligent information retrieval. SIAM Rev. 37, 573--595. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Cappiello, F. Daniel, A. Koschmider, M. Matera, and M. Picozzi, 2011. A quality model for mashups. In Proceedings of the 11th International Conference on Web Engineering (ICWE'11). 137--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Cappiello, F. Daniel, and M. Matera, 2009. A quality model for mashup components. In Proceedings of the 9th International Conference on Web Engineering (ICWE'09). 236--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. C. Cappiello, M. Matera, M. Picozzi, F. Daniel, and A. Fernandez 2012. Quality-aware mashup composition: Issues, techniques and tools. In Proceedings of the 8th International Conference on the Quality of Information and Communications Technology (QUATIC'12). 10--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. Chen, J. Wu, H. Jian, H. Deng, and Z. Wu 2013. Instant recommendation for web services composition. IEEE Trans. Services Comput. 99, 1.Google ScholarGoogle Scholar
  6. A. Cypher, D. C. Halbert, D. Kurlander, H. Lieberman, D. Maulsby, B. A. Myers, and A. Turransky, EDS. 1993. Watch What I Do: Programming by Demonstration. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. F. Daniel, F. Casati, B. Benatallah, and M.-C. Shan 2009. Hosted universal composition: Models, languages and infrastructure in mashart. In Proceedings of the 28th International Conference on Conceptual Modeling (ER'09). Springer, 428--443. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. A. De Angeli, A. Battocchi, S. Roy Chowdhury, C. Rodriguez, F. Daniel, and F. Casati 2011. End-user requirements for wisdom-aware eud. In Proceedings of the 3rd International Conference on End-User Development (IS-EUD'11). 245--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Deutch, O. Greenshpan, and T. Milo 2010. Navigating in complex mashed-up applications. Proc. VLDB Endow. 3, 1--2, 320--329. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. H. Elmeleegy, A. Ivan, R. Akkiraju, and R. Goodwin 2008. Mashup advisor: A recommendation tool for mashup development. In Proceedings of the IEEE International Conference on Web Services (ICWS'08). IEEE Computer Society, 337--344. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Gschwind, J. Koehler, and J. Wong 2008. Applying patterns during business process modeling. In Proceedings of the 6th International Conference on Business Process Management (BPM'08). Springer, 4--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. E. Hirsch 2005. An index to quantify an individual's scientific research output. Proc. Nat. Acad. Sci. 102, 46.Google ScholarGoogle ScholarCross RefCross Ref
  13. Y. Hu, Y. Koren, and C. Volinsky 2008. Collaborative filtering for implicit feedback datasets. In Proceedings of the 8th IEEE International Conference on Data Mining (ICDM'08). IEEE Computer Society, 263--272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Johnson 2010. Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules. Morgan Kaufmann, San Fransisco. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. C. Klinkmuller, I. Weber, J. Mendling, H. Leopold, and A. Ludwig 2013. Increasing recall of process model matching by improved activity label matching. In Proceedings of the 11th International Conference on Business Process Management (BPM'13). 211--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Koren, R. Bell, and C. Volinsky 2009. Matrix factorization techniques for recommender systems. Comput. 42, 8, 30--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. Lin, C. Shi, and T. Ishida 2012. Dynamic service selection based on context-aware qos. In Proceedings of the 9th IEEE International Conference on Services Computing (SCC'12). IEEE Computer Society, 641--648. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Ngu, M. Carlson, Q. Sheng, and AIK, H. Young 2010. Semantic-based mashup of composite applications. IEEE Trans. Services Comput. 3, 1, 2--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Ogrinz 2009. Mashup Patterns: Designs and Examples for the Modern Enterprise. Addison-Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Omelette Consortium. 2013. D7.4: Evaluation of demonstrators report. Project deliverable. http://www.ict-omelette.eu/public_deliverables.Google ScholarGoogle Scholar
  21. S. Pietschmann, M. Voigt, A. Rumpel, and K. Meissner 2009. CRUISe: Composition of rich user interface services. In Proceedings of the 9th International Conference on Web Engineering (ICWE'09). Springer, 473--476. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. V. Riabov, E. Boillet, M. D. Feblowitz, Z. Liu, and A. Ranganathan 2008. Wishful search: Interactive composition of data mashups. In Proceedings of the 17th International Conference on World Wide Web (WWW'08). ACM Press, New York, 775--784. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. Rodriguez, F. Daniel, and F. Casati 2014a. Crowd-based mining of reusable process model patterns. In Proceedings of the 12th International Conference on Business Process Management (BPM'14). 51--66.Google ScholarGoogle ScholarCross RefCross Ref
  24. C. Rodriguez, S. Roy Chowdhury, F. Daniel, H. R. Motahari Nezhad, and F. Casati 2014b. Assisted mashup development: On the discovery and recommendation of mashup composition knowledge. In Web Services Foundations. Springer, 683--708.Google ScholarGoogle Scholar
  25. S. Roy Chowdhury, A. Birukou, F. Daniel, and F. Casati 2011a. Composition patterns in data flow based mashups. In Proceedings of the 16th European Conference on Pattern Languages of Programs (EuroPLoP'11). 27--28.Google ScholarGoogle Scholar
  26. S. Roy Chowdhury, F. Daniel, and F. Casati 2011b. Efficient, interactive recommendation of mashup composition knowledge. In Proceedings of the 9th International Conference on Service- Oriented Computing (ICSOC'11). 374--388. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Roy Chowdhury, C. Rodriguez, F. Daniel, and F. Casati 2012. Baya: Assisted mashup development as a service. In Proceedings of the 21st International Conference on World Wide Web Companion (WWW'12). ACM Press, New York, 409--412. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. B. Sarwar, G. Karypis, J. Konstan, and J. Riedl 2002. Incremental singular value decomposition algorithms for highly scalable recommender systems. In Proceedings of the 5th International Conference on Computer and Information Science (ICCIT'02). 27--28.Google ScholarGoogle Scholar
  29. B. M. Sarwar, G. Karypis, J. A. Konstan, and J. T. Riedl 2000. Application of dimensionality reduction in recommender system -- A case study. In Proceedings of the ACM WEBKDD Workshop.Google ScholarGoogle ScholarCross RefCross Ref
  30. G. Shani and A. Gunawardana 2011. Evaluating recommendation systems. In Recommender Systems Handbook. Springer, 257--297.Google ScholarGoogle Scholar
  31. K. T. Stolee and S. Elbaum 2010. Exploring the use of crowdsourcing to support empirical studies in software engineering. In Proceedings of the ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM'10). ACM Press, New York, 35:1--35:4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. X. Su and T. M. Khoshgoftaar 2009. A survey of collaborative filtering techniques. Adv. Artif. Intell. 2009, 4:2--4:2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. W. M. P. Van Der Aalst, A. H. M. Ter Hofstede, B. Kiepuszewski, and A. P. Barros 2003. Workflow patterns. Distrib. Parallel Databases 14, 5--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Wilson, F. Daniel, U. Jugel, and S. Soi 2011. Orchestrated user interface mashups using w3c widgets. In Proceedings of the 11th International Conference on Current Trends in Web Engineering (ICWE'11). Springer, 49--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. J. Wong and J. I. Hong 2007. Making mashups with marmite: Towards end-user programming for the web. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI'07). 1435--1444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. J. Yu, B. Benatallah, F. Casati, and F. Daniel 2008. Understanding mashup development. IEEE Internet Comput. 12, 5, 44--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Y. Zhou, D. Wilkinson, R. Schreiber, and R. Pan 2008. Large-scale parallel collaborative filtering for the netflix prize. In Proceedings of the 4th International Conference on Algorithmic Aspects in Information and Management (AAIM'08). Springer, 337--348. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Recommendation and Weaving of Reusable Mashup Model Patterns for Assisted Development

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!