Skip to main content
Log in

MOOGLE: a metamodel-based model search engine

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Models are becoming increasingly important in the software development process. As a consequence, the number of models being used is increasing, and so is the need for efficient mechanisms to search them. Various existing search engines could be used for this purpose, but they lack features to properly search models, mainly because they are strongly focused on text-based search. This paper presents Moogle, a model search engine that uses metamodeling information to create richer search indexes and to allow more complex queries to be performed. The paper also presents the results of an evaluation of Moogle, which showed that the metamodel information improves the accuracy of the search.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Apache. Lucene. http://lucene.apache.org/

  2. Apache. SOLR. http://lucene.apache.org/solr/

  3. Baeza-Yates, R., Cunto, W., Manber, U., Wu, S.: Proximity matching using fixed-query trees. In: Combinatorial Pattern Matching. Proceedings of the 5th Annual Symposium, CPM 94, Asilomar, CA, USA, 5–8 June. Lecture Notes in Computer Science, vol. 807/1994, pp. 198–212. Springer, Berlin (1994)

  4. De Lucia, A., Fasano, F., Oliveto, R., Tortora, G.: ADAMS re-trace: a traceability recovery tool. In: European Conference on Software Maintenance and Reengineering, pp. 32–41, IEEE Computer Society, Los Alamitos (2005)

  5. De Lucia A., Fasano F., Oliveto R., Tortora G.: Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans. Softw. Eng. Methodol. 16(4), 13 (2007)

    Article  Google Scholar 

  6. De Lucia, A., Oliveto, R., Tortora, G.: ADAMS re-trace: traceability link recovery via latent semantic indexing. In ICSE ’08: Proceedings of the 30th International Conference on Software Engineering, pp. 839–842. ACM Press, New York (2008)

  7. De Andrea L., Rocco O., Genoveffa T.: Assessing ir-based traceability recovery tools through controlled experiments. Emp. Softw. Eng. 14(1), 57–92 (2009)

    Article  Google Scholar 

  8. Deerwester S., Dumais S.T., Furnas G.W., Landauer T.K., Harshman R.: Indexing by latent semantic analysis. J. Am. Soc. Inform. Sci. 41, 391–407 (1990)

    Article  Google Scholar 

  9. Eclipse. Eclipse UML2 project. Available in Eclipse website. http://www.eclipse.org/modeling/mdt/?project=uml2

  10. Eclipse. EMF—Eclipse Modeling Framework. Available in Eclipse website. http://www.eclipse.org/modeling/emf/

  11. Eclipse. GMF- Graphical Modeling Framework. Available in Eclipse website. http://www.eclipse.org/modeling/gmf/

  12. Eclipse. Eclipse modeling project. http://www.eclipse.org/modeling/ (2009)

  13. Frakes W.B., Fox C.J.: Sixteen questions about software reuse. Commun. ACM 38(06), 75–87 (1995)

    Article  Google Scholar 

  14. Frakes, W.B., Pole, T.P.: An empirical study of representation methods for reusable software components. IEEE Trans. Softw. Eng. 20(8), (1994)

  15. Garcia, V, C., Lucrédio, D., Durão, F.A., Santos, E.C.R., de Almeida, E.S., de Mattos Fortes Fortes, R.P., de Lemos Meira, S.R.: From specification to the experimentation: A software component search engine architecture. In: 9th International Symposium on Component-Based Software Engineering (CBSE), Sweden, 2006. Lecture Notes in Computer Science. Springer, Berlin (2006)

  16. Gaspari, M., Guidi, D.: Towards an ontology-guided search engine. Technical report, Department of Computer Science, University of Bologna (2003)

  17. Gomes P., Pereira F.C., Paiva P., Seco N., Carreiro P., Ferreira J.L., Bento C.: Using WordNet for case-based retrieval of UML models. AI Commun. 17(1), 12–23 (2004)

    MathSciNet  Google Scholar 

  18. Graphviz. Graph visualization software. http://www.graphviz.org

  19. Greenfield J., Short K., Cook S., Kent S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools. Wiley, New York (2004)

    Google Scholar 

  20. Grossman D.A., Frieder O.: Information Retrieval. Algorithms and Heuristics, 2nd edn. Springer, Dordrecht (2004)

    MATH  Google Scholar 

  21. Gulla J.A., van der Vos B., Thiel U.: An abductive, linguistic approach to model retrieval. Data Knowl. Eng. 23(1), 17–31 (1997)

    Article  MATH  Google Scholar 

  22. Hellan, L., Dimitrova-Vulchanova, M.: Preliminary notes on a framework for ‘Lexically Dependent Grammar’. In: Lecture Series at International Summer Institute in Syntax. Central Institute of English and Foreign Languages, Hyderabad (1994)

  23. Henninger S.: An evolutionary approach to constructing effective software reuse repositories. ACM Trans. Softw Eng. Methodol. 6(2), 111–140 (1997)

    Article  Google Scholar 

  24. Hill, E., Pollock, L., Vijay-Shanker, K.: Automatically capturing source code context of nl-queries for software maintenance and reuse. In ICSE ’09: Proceedings of the 2009 IEEE 31st International Conference on Software Engineering, pp. 232–242. IEEE Computer Society, Washington, DC (2009)

  25. IEEE std 1003.1-2008: standard for information technology-portable operating system interface (POSIX)—base specifications, issue 7

  26. Isakowitz, T., Kauffman, R.J.: Supporting search for reusable software objects. IEEE Trans. Softw. Eng. 22(6), (1996)

  27. Kozlenkov, A., Fasoulas, V., Sanchez, F., Spanoudakis, G., Zisman, A.: A framework for architecture-driven service discovery. In SOSE ’06: Proceedings of the 2006 International Workshop on Service-Oriented Software Engineering, pp. 67–73, Shanghai, China (2006)

  28. Lucrédio D., de Almeida E.S., do Prado A.F.: A survey on software components search and retrieval. In: Steinmetz, R., Mauthe, A. (eds) 30th IEEE EUROMICRO Conference. Component-Based Software Engineering Track, pp. 152–159. IEEE Computer Society Press, Rennes (2004)

    Google Scholar 

  29. Lucrédio, D., de Mattos Fortes, R.P., Whittle, J.: MOOGLE: a model search engine. In: Czarnecki, K., Ober, I., Bruel, J.M., Uhl, A., Völter, M. (eds.) MoDELS. Lecture Notes in Computer Science, vol. 5301, pp. 296–310. Springer, Berlin (2008)

  30. Marcus, A., Sergeyev, A., Rajlich, V., Maletic, J.I.: An information retrieval approach to concept location in source code. In: WCRE ’04: Proceedings of the 11th Working Conference on Reverse Engineering, pp. 214–223. IEEE Computer Society, Washington, DC (2004)

  31. Mascena, J.C.C.P., de Lemos Meira, S.R., de Almeida, E.S., Cardoso Garcia, V.: Towards an effective integrated reuse environment. In: 5Th ACM International Conference on Generative Programming and Component Engineering (GPCE), short paper, Portland, Oregon, USA (2006)

  32. Matheson, D., France, R., Beiman, J., Alexander, R., DeWitt, J., McEachen, N.: Managed evolution of model driven development approach to software-based solutions. In: OOPSLA and GPCE Workshop. Vancouver, British Columbia (2004)

  33. OMG. XML metadata interchange (XMI) specification. Technical report, Object Management Group (2006)

  34. Poshyvanyk, D., Marcus, A., Dong, Y.: Jiriss—an eclipse plug-in for source code exploration. In: ICPC ’06: Proceedings of the 14th IEEE International Conference on Program Comprehension, pp. 252–255. IEEE Computer Society, Washington, DC (2006)

  35. Poshyvanyk, D., Marcus, A., Dong, Y., Sergeyev, A.: Iriss—a source code exploration tool. In: Proceedings of the 21st IEEE International Conference on Software Maintenance—Industrial and Tool. ICSM 2005, 25–30 Sept 2005, Budapest, Hungary, pp. 69–72 (2005)

  36. Poshyvanyk, D., Petrenko, M., Marcus, A., Xie, X., Liu, D.: Source code exploration with google. In: IEEE International Conference on Software Maintenance, pp. 334–338. IEEE Computer Society, Los Alamitos (2006)

  37. Prieto-Díaz R.: Implementing faceted classification for software reuse. Commun. ACM 34(5), 88–97 (1991)

    Article  Google Scholar 

  38. Rajlich, V., Wilde, N.: The role of concepts in program comprehension. In IWPC ’02: Proceedings of the 10th International Workshop on Program Comprehension, p. 271. IEEE Computer Society, Washington, DC (2002)

  39. Robin, J., Ramalho, F.: Can ontologies improve web search engine effectiveness before the advent of the semantic web? In: XVIII Brazilian Symposium on Databases, pp. 157–169, Manaus, Amazonas, Brazil (2003)

  40. Shafi, S.M., Rather, R.A.: Precision and recall of five search engines for retrieval of scholarly information in the field of biotechnology. Webology 2(2), Article 12 (2005) http://www.webology.ir/2005/v2n2/a12.html

  41. UMLGraph. Automated drawing of UML diagrams. http://www.umlgraph.org

  42. van Deursen A., Klint P., Visser J.: Domain-specific languages: an annotated bibliography. SIGPLAN Notices 35(6), 26–36 (2000)

    Article  Google Scholar 

  43. Vanderbilt University. GME—Generic Modeling Environment. http://www.isis.vanderbilt.edu/projects/gme

  44. Vanderlei, T.A., Garcia, V.C., de Almeida, E.S., de Lemos Meira, S.R.: Folksonomy in a software component search engine cooperative classification through shared metadata. In: XX Brazilian Symposium on Software Engineering. Tool Session, Florianópolis, Brazil (2006)

  45. W3C. XQuery 1.0: An XML query language—W3C recommendation. 23 January 2007. Technical report, World Wide Web Consortium (2007)

  46. Whittle J., Bundy A., Boulton R.J.: Proofs-as-programs as a framework for the design of an analogy-based ML editor. Formal Asp. Comput. 13(3–5), 403–421 (2002)

    Article  MATH  Google Scholar 

  47. Whittle J., Cumming A.: Evaluating environments for functional programming. Int. J. Hum. Comput. Stud 52(5), 847–878 (2000)

    Article  Google Scholar 

  48. Ye, Y., Fischer, G.: Supporting reuse by delivering task-relevant and personalized information. In: ICSE 2002, 24th International Conference on Software Engineering, pp. 513–523, Orlando, Florida, USA (2002)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Lucrédio.

Additional information

Communicated by Prof. Krzysztof Czarnecki.

This work was developed at the ISE Department of George Mason University, USA, University of São Paulo, Brazil and Federal University of São Carlos, Brazil, with partial support from Microsoft Research and Brazilian institutions CAPES (process 0657/07-7), CNPq (process 141975/2008-3), FAPESP (process 2008/11476-8) and the National Institute of Science and Technology for Software Engineering (INES, http://www.ines.org.br), funded by CNPq and FACEPE, Grants 573964/2008-4 and APQ-1037-1.03/08.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lucrédio, D., de M. Fortes, R.P. & Whittle, J. MOOGLE: a metamodel-based model search engine. Softw Syst Model 11, 183–208 (2012). https://doi.org/10.1007/s10270-010-0167-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-010-0167-7

Keywords

Navigation