MOOGLE: A Model Search Engine

  • Daniel Lucrédio
  • Renata P. de M. Fortes
  • Jon Whittle
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5301)


Models are becoming increasingly important in the software 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.


Model Search Software Reuse Model-Driven Development 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools. Wiley, Chichester (2004)Google Scholar
  2. 2.
    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, Canada (2004)Google Scholar
  3. 3.
    Isakowitz, T., Kauffman, R.J.: Supporting Search for Reusable Software Objects. IEEE Transactions on Software Engineering 22(6) (1996)Google Scholar
  4. 4.
    OMG: XML Metadata Interchange (XMI) Specification. Technical report, Object Management Group (2006)Google Scholar
  5. 5.
    Deursen, A.v., Klint, P., Visser, J.: Domain-Specific Languages: An Annotated Bibliography. SIGPLAN Notices 35(6), 26–36 (2000)CrossRefGoogle Scholar
  6. 6.
    Lucrédio, D., Almeida, E.S.d., Prado, A.F.d.: A Survey on Software Components Search and Retrieval. In: 30th IEEE EUROMICRO Conference, Component-Based Software Engineering Track, Rennes - France, pp. 152–159. IEEE Computer Soceity Press, Los Alamitos (2004)Google Scholar
  7. 7.
    Lucrédio, D., Gavioli, A., Prado, A.F.d., Biajiz, M., Almeida, E.S.d., Meira, S.R.d.L., Yamamoto, C.H.: Component retrieval using metric indexing. In: The 2004 IEEE International Conference on Information Reuse and Integration (IEEE IRI-2004), Las Vegas - USA. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  8. 8.
    Garcia, V.C., Lucrédio, D., Durão, F., Santos, E.C.R., Almeida, E.S.D., Fortes, R.P.: From Specification to Experimentation: A Software Component Search Engine Architecture. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 82–97. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Prieto-Díaz, R.: Implementing Faceted Classification for Software Reuse. Communications of the ACM 34(5) (1991)Google Scholar
  10. 10.
    Grossman, D., Frieder, O.: Information Retrieval. Algorithms and Heuristics, 2nd edn. Springer, Heidelberg (2004)zbMATHGoogle Scholar
  11. 11.
    Robin, J., Ramalho, F.: Can Ontologies Improve Web Search Engine Effectiveness Before the Advent of the Semantic Web? In: XVIII Brazilian Symposium on Databases, Manaus, Amazonas, Brazil, pp. 157–169 (2003)Google Scholar
  12. 12.
    Frakes, W.B., Pole, T.P.: An Empirical Study of Representation Methods for Reusable Software Components. IEEE Transactions on Software Engineering 20(8) (1994)Google Scholar
  13. 13.
    Ye, Y., Fischer, G.: Supporting Reuse By Delivering Task-Relevant and Personalized Information. In: ICSE 2002 - 24th International Conference on Software Engineering, Orlando, Florida, USA, pp. 513–523 (2002)Google Scholar
  14. 14.
    Shafi, S., Rather, R.A.: Precision and Recall of Five Search Engines for Retrieval of Scholarly Information in the Field of Biotechnology. Webology 2(2) (2005)Google Scholar
  15. 15.
    Gulla, J.A., Vos, B.v.d., Thiel, U.: An abductive, linguistic approach to model retrieval. Data and Knowledge Engineering 23(1), 17–31 (1997)zbMATHCrossRefGoogle Scholar
  16. 16.
    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)MathSciNetGoogle Scholar
  17. 17.
    Kozlenkov, A., Fasoulas, V., Sanchez, F., Spanoudakis, G., Zisman, A.: A framework for architecture-driven service discovery. In: SOSE 2006: Proceedings of the 2006 international workshop on Service-oriented software engineering, Shanghai, China, pp. 67–73 (2006)Google Scholar
  18. 18.
    Akehurst, D.H., Behzad, B.: On Querying UML Data Models with OCL (2001)Google Scholar
  19. 19.
    OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Technical report, Object Management Group (2008)Google Scholar
  20. 20.
    Furfaro, F.: Querying semi-structured data with graph grammars. In: International Conference on Information Technology: Coding and Computing (2002)Google Scholar
  21. 21.
    Gaspari, M., Guidi, D.: Towards an ontology-guided search engine. Technical report, Department of Computer Science - University of Bologna (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Daniel Lucrédio
    • 1
  • Renata P. de M. Fortes
    • 1
  • Jon Whittle
    • 2
  1. 1.Institute of Mathematical and Computer ScienceUSP. Av. Trabalhador São-CarlenseSão CarlosBrazil
  2. 2.Computing Department - InfoLab21Lancaster UniversityLancasterUK

Personalised recommendations