skip to main content
research-article

Textual and Content-Based Search in Repositories of Web Application Models

Published:01 March 2014Publication History
Skip Abstract Section

Abstract

Model-driven engineering relies on collections of models, which are the primary artifacts for software development. To enable knowledge sharing and reuse, models need to be managed within repositories, where they can be retrieved upon users’ queries. This article examines two different techniques for indexing and searching model repositories, with a focus on Web development projects encoded in a domain-specific language. Keyword-based and content-based search (also known as query-by-example) are contrasted with respect to the architecture of the system, the processing of models and queries, and the way in which metamodel knowledge can be exploited to improve search. A thorough experimental evaluation is conducted to examine what parameter configurations lead to better accuracy and to offer an insight in what queries are addressed best by each system.

References

  1. Acerbis, R., Bongio, A., Brambilla, M., and Butti, S. 2007. Webratio 5: An eclipse-based case tool for engineering web applications. In Proceedings of the 7th International Conference on Web Engineering (ICWE’07). L. Baresi, P. Fraternali, and G.-J. Houben Eds., Lecture Notes in Computer Science, vol. 4607, Springer, 501--505. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Akehurst, D. H. and Bordbar, B. 2001. On querying uml data models with ocl. In Proceedings of the 4th International Conference on the Unified Modeling Language, Modeling Languages, Concepts, and Tools. Springer, 91--103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Anda, B., Hansen, K., Gullesen, I., and Thorsen, H. 2006. Experiences from introducing uml-based development in a large safety-critical project. Empirical Softw. Engin. 11, 4, 555--581. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Artech Consultores S. R. L. 2012. Genexus marketplace. http://marketplace.genexus.com.Google ScholarGoogle Scholar
  5. AtlanMod Group. 2012. AtlanMod zoos. http://www.emn.fr/z-info/atlanmod/index.php/Zoos.Google ScholarGoogle Scholar
  6. Bajracharya, S., Ossher, J., and Lopes, C. 2009. Sourcerer: An internet-scale software repository. In Proceedings of the ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation (SUITE’09). 1--4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Belhajjame, K. and Brambilla, M. 2011. Ontological description and similarity-based discovery of business process models. Int. J. Inf. Syst. Modeling Des. 2, 47--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ben Khalifa, H., Khayati, O., and Ghezala, H. 2008. A behavioral and structural components retrieval technique for software reuse. In Proceedings of the Conference on Advanced Software Engineering and Its Applications (ASEA’08). 134--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bilenko, M., Mooney, R., Cohen, W., Ravikumar, P., and Fienberg, S. 2003. Adaptive name matching in information integration. IEEE Intell. Syst. 18, 5, 16--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bislimovska, B., Bozzon, A., Brambilla, M., and Fraternali, P. 2011a. Content-based search of model repositories with graph matching techniques. In Proceedings of the 3rd International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation (SUITE’11). ACM Press, New York, 5--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bislimovska, B., Bozzon, A., Brambilla, M., and Fraternali, P. 2011b. Graph-based search over web application model repositories. In Proceedings of the 11th International Conference on Web Engineering (ICWE’11). Springer, 90--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Bozzon, A., Brambilla, M., and Fraternali, P. 2010. Searching repositories of web application models. In Proceedings of the International Conference on Web Engineering. 1--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Bozzon, A., Brambilla, M., and Ceri, S. 2012. Answering search queries with crowdsearcher. In Proceedings of the 21st International Conference on World Wide Web (WWW’12). ACM Press, New York, 1009--1018. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Brambilla, M., Bongio, A., Butti, S., Fraternali, P., Kling, W., Molteni, E., and Seidewitz, E. 2013. Interaction flow modeling language (ifml). Standardization specification ptc/2013-03-08, Object Management Group (OMG). http://www.omg.org/spec/IFML/.Google ScholarGoogle Scholar
  15. Bunke, H. 2000. Graph matching: Theoretical foundations, algorithms, and applications. In Proceedings of the International Conference on Vision Interface. 82--88.Google ScholarGoogle Scholar
  16. Calì, A., Gottlob, G., Orsi, G., and Pieris, A. 2012. Querying uml class diagrams. In Proceedings of the 15th International Conference on Foundations of Software Science and Computational Structures (FOSSACS’12). Lecture Notes in Computer Science, vol. 7213, Springer, 1--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Ceri, S., Fraternali, P., and Bongio, A. 2000. Web modeling language (webml): A modeling language for designing web sites. Comput. Netw. 33, 1, 137--157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ceri, S., Fraternali, P., Bongio, A., Brambilla, M., Comai, S., and Matera, M. 2003. Designing Data-Intensive Web Applications. Morgan Kaufmann. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Chatterjee, S., Juvekar, S., and Sen, K. 2009. Sniff: A search engine for java using free-form queries. In Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering held as part of the Joint European Conferences on Theory and Practice of Software (ETAPS/FASE’09). Springer, 385--400. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Conallen, J. 2000. Building Web Applications with UML. Addison-Wesley Longman, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Cook, S. A. 1971. The complexity of theorem-proving procedures. In Proceedings of the 3rd Annual ACM Symposium on Theory of Computing (STOC’71). ACM Press, New York, 151--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Dijkman, R., Dumas, M., and García-Bañuelos, L. 2009. Graph matching algorithms for business process model similarity search. In Proceedings of the 7th International Conference on Business Process Management (BPM’09). Springer, 48--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Dijkman, R., Dumas, M., van Dongen, B., Käärik, R., and Mendling, J. 2011. Similarity of business process models: Metrics and evaluation. Inf. Syst. 36, 2, 498--516. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Dijkstra, E. W. 1959. A note on two problems in connexion with graphs. Numerische Mathematik 1, 1, 269--271. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Fernández, M., Cantador, I., and Castells, P. 2006. CORE: A tool for collaborative ontology reuse and evaluation. In Proceedings of the 4th International Workshop on Evaluation of Ontologies for the Web (EON’06), held at the 15th International World Wide Web Conference (WWW’06).Google ScholarGoogle Scholar
  26. Frakes, W. B. and Nejmeh, B. A. 1987. Software reuse through information retrieval. SIGIR Forum 21, 1--2, 30--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. France, R., Bieman, J., and Cheng, B. H. C. 2006. Repository for model driven development (remodd). In Proceedings of the International Conference on Models in Software Engineering (MoDELS’06). Springer, 311--317. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. France, R., Bieman, J., Mandalaparty, S., Cheng, B., and Jensen, A. 2012. Repository for model driven development (remodd). In Proceedings of the 34th International Conference on Software Engineering (ICSE’12). IEEE Press, 1471--1472. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Goguen, J., Nguyen, D., Meseguer, J., Zhang, D., and Berzins, V. 1996. Software component search. J. Syst. Integration 6, 1, 93--134.Google ScholarGoogle ScholarCross RefCross Ref
  30. Gomes, P., Pereira, F. C., Paiva, P., Seco, N., Carreiro, P., Ferreira, J. L., and Bentol, C. 2004. Using wordnet for case-based retrieval of uml models. AI Comm. 17, 1, 13--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Gómez, J. and Cachero, C. 2003. Information modeling for internet applications. In OO-H Method: Extending UML to Model Web Interfaces, Idea Group Publishing, Hershey, PA, 144--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Gómez, J., Bia, A., and Párraga, A. 2007. Tool support for model-driven development of web applications. Int. J. Inf. Technol. Web Engin. 2, 3, 65--78.Google ScholarGoogle ScholarCross RefCross Ref
  33. Gregory, L. and Kittler, J. 2002. Using graph search techniques for contextual colour retrieval. In Proceedings of the Joint IAPR International Workshop on Structural, Syntactic, and Statistical Pattern Recognition. 193--213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Grigori, D., Corrales, J. C., Bouzeghoub, M., and Gater, A. 2010. Ranking bpel processes for service discovery. IEEE Trans. Services Comput. 3, 178--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Holmes, R. and Murphy, G. C. 2005. Using structural context to recommend source code examples. In Proceedings of the 27th International Conference on Software Engineering (ICSE’05). ACM Press, New York, 117--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Hutchinson, J., Rouncefield, M., and Whittle, J. 2011. Model-driven engineering practices in industry. In Proceedings of the 33rd International Conference on Software Engineering (ICSE’11). ACM Press, New York, 633--642. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Hylton, J. 1996. Identifying and merging related bibliographic records. Ph.D. thesis, Massachusetts Institute of Technology.Google ScholarGoogle Scholar
  38. Järvelin, K. and Kekäläinen, J. 2002. Cumulated gain-based evaluation of ir techniques. ACM Trans. Inf. Syst. 20, 422--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Jin, T., Wang, J., and Wen, L. 2011. Efficient retrieval of similar business process models based on structure. In Proceedings of the Confederated International Conference on On the Move to Meaningful Internet Systems (OTM’11). 56--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Joho, H. 2011. Diane kelly: Methods for evaluating interactive information retrieval systems with users foundation and trends in information retrieval. Inf. Retr. 14, 2, 204--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Kiefer, C., Bernstein, A., Lee, H. J., Klein, M., and Stocker, M. 2007. Semantic process retrieval with isparql. In Proceedings of the 4th European Semantic Web Conference (ESWC’07). 609--623. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Kleppe, A. G., Warmer, J., and Bast, W. 2003. MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley Longman, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Kling, W., Jouault, F., Wagelaar, D., Brambilla, M., and Cabot, J. 2011. Moscript: A dsl for querying and manipulating model repositories. In Proceedings of the 4th International Conference on Software Language Engineering (SLE’11). A. M. Sloane and U. Aßmann Eds., Lecture Notes in Computer Science, vol. 6940, Springer, 180--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Kraus, A., Knapp, A., and Koch, N. 2007. Model-driven generation of web applications in uwe. In CEUR Workshop Proceedings Series, vol. 261, N. Koch, A. Vallecillo, and G.-J. Houben Eds., CEUR-S.org.Google ScholarGoogle Scholar
  45. Kunze, M. and Weske, M. 2010. Metric trees for efficient similarity search in large process model repositories. In Business Process Management Workshops, M. zur Muehlen and J. Su Eds., Lecture Notes in Business Information Processing, vol. 66, Springer, 535--546.Google ScholarGoogle Scholar
  46. Levenhstein, V. 1966. Binary codes capable of correcting deletions, insertions, and reversals. Soviet Physics-Doklady 10, 8, 707--710.Google ScholarGoogle Scholar
  47. Liu, H., Liu, G., Wang, Y., and Liu, D. 2012. A novel behavioral similarity measure for artifact-oriented business processes. Adv. Intell. Syst. Comput. 136, 2012, 81--88.Google ScholarGoogle Scholar
  48. Lucrédio, D., de M. Fortes, R., and Whittle, J. 2010. MOOGLE: A model search engine. In Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems. 296--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Manning, C. D., Raghavan, P., and Schütze, H. 2008. Introduction to Information Retrieval. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Markovic, I., Pereira, A., and Stojanovic, N. 2008. A framework for querying in business process modelling. In Proceedings of the Multikonferenz Wirtschaftsinformatik (MKWI’08).Google ScholarGoogle Scholar
  51. McMillan, C., Grechanik, M., Poshyvanyk, D., Xie, Q., and Fu, C. 2011. Portfolio: Finding relevant functions and their usage. In Proceedings of the 33rd International Conference on Software Engineering (ICSE’11). ACM Press, New York, 111--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. McMillan, C., Grechanik, M., Poshyvanyk, D., Fu, C., and Xie, Q. 2012. Exemplar: A source code search engine for finding highly relevant applications. IEEE Trans. Softw. Engin. 38, 5, 1067--1087. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Mendix. 2012. The mendix app store. https://appstore.mendix.com.Google ScholarGoogle Scholar
  54. Mendling, J., van Dongen, B. F., and van der Aalst, W. M. P. 2007. On the degree of behavioral similarity between business process models. http://wwwis.win.tue.nl/~wvdaalst/publications/p430.pdf.Google ScholarGoogle Scholar
  55. Messmer, B. 1996. Efficient graph matching algorithms for preprocessed model graphs. Ph.D. thesis, University of Bern, Switzerland.Google ScholarGoogle Scholar
  56. MIT. 2012. MIT Process Handbook. http://ccs.mit.edu/ph/.Google ScholarGoogle Scholar
  57. Mohagheghi, P. and Dehlen, V. 2008. Where is the proof? - A review of experiences from applying mde in industry. In Proceedings of the 4th European Conference on Model Driven Architecture: Foundations and Applications (ECMDA-FA’08). Springer, 432--443. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Niemann, M., Siebenhaar, M., Schulte, S., and Steinmetz, R. 2012. Comparison and retrieval of process models using related cluster pairs. Comput. Industry 63, 2, 168--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. OMG. 2011. Interaction flow modeling language (ifml) request for proposal. http://www.omg.org/cgibin/doc?ad/11-12-06.Google ScholarGoogle Scholar
  60. Outsystems, Inc. 2012. The agilenetwork component store. https://www.outsystems.com/NetworkSolutions/Home.aspx.Google ScholarGoogle Scholar
  61. Platzer, C. and Dustdar, S. 2005. A vector space search engine forweb services. In Proceedings of the 3rd European Conference on Web Services (ECOWS’05). 62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Qiao, M., Akkiraju, R., and Rembert, A. 2011. Towards efficient business process clustering and retrieval: Combining language modeling and structure matching. In Proceedings of the 9th International Conference on Business Process Management (BPM’11). 199--214. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. ReMoDD Team. 2012. ReMoDD the repository for model-driven development. http://www.cs.colostate.edu/remodd/v1/.Google ScholarGoogle Scholar
  64. Rossi, G. and Schwabe, D. 2008. Modeling and implementing web applications with oohdm. In Web Engineering: Modelling and Implementing Web Applications, G. Rossi, O. Pastor, D. Schwabe, and L. Olsina Eds., Human-Computer Interaction Series. Springer, 109--155.Google ScholarGoogle Scholar
  65. Sanfeliu, A. and King-Sun, F. 1983. A distancemeasure between attributed relational graphs for pattern recognition. IEEE Trans. Syst. Man, Cybernet. 13, 3, 353--362.Google ScholarGoogle ScholarCross RefCross Ref
  66. Seacord, R. C., Hissam, S. A., and Wallnau, K. C. 1998. Agora: A search engine for software components. IEEE Internet Comput. 2, 6, 62--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Shao, Q., Sun, P., and Chen, Y. 2009. Wise: A workflow information search engine. In Proceedings of the IEEE International Conference on Data Engineering (ICDE’09). IEEE Computer Society, 1491--1494. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Shapiro, L. and Haralick, R. 1981. Structural descriptions and inexact matching. IEEE Trans. Pattern Anal. Mach. Intell. 5, 504--519. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Street, A. P. and Street, D. J. 1987. Combinatorics of Experimental Design. Oxford University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Syeda-Mahmood, T., Shah, G., Akkiraju, R., Ivan, A.-A., and Goodwin, R. 2005. Searching service repositories by combining semantic and ontological matching. In Proceedings of the IEEE International Conference on Web Services (ICWS’05). IEEE Computer Society, 13--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. WebRatio S. R. L. 2012. The webratio store. http://store.webratio.com.Google ScholarGoogle Scholar
  72. YesSoftware, Inc. 2012. CodeCharge marketplace. http://www.codecharge.com/marketplace.Google ScholarGoogle Scholar
  73. Zhuge, H. 2002. A process matching approach for flexible workflow process reuse. Inf. Softw. Technol. 44, 8, 445--450.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Textual and Content-Based Search in Repositories of Web Application Models

        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

        • Published in

          cover image ACM Transactions on the Web
          ACM Transactions on the Web  Volume 8, Issue 2
          March 2014
          226 pages
          ISSN:1559-1131
          EISSN:1559-114X
          DOI:10.1145/2600093
          Issue’s Table of Contents

          Copyright © 2014 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 March 2014
          • Accepted: 1 September 2013
          • Revised: 1 May 2013
          • Received: 1 August 2012
          Published in tweb Volume 8, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader