Skip to main content

Advertisement

Log in

How do I find reusable models?

  • Regular Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

Models play a major role in model-based development and serve as the main artifacts that stakeholders aim to achieve. As it is difficult to develop good-quality models, repositories of models start emerging for reuse purposes. Yet, these repositories face several challenges, such as model representation, scalability, heterogeneity, and how to search for models. In this paper, we aim to address the challenge of querying model repositories by proposing a generic search framework that looks for models that match the intention of the user. The framework is based on a greedy search approach using a similarity function that considers type similarity, structure similarity, and label similarity. We evaluate the framework’s efficiency on different model types: UML class diagrams, Human Know-How, and ME maps. We further compare it with existing alternatives. The evaluation indicates that the framework achieved high performance within a bounded time, and the framework can be adapted to different modeling languages for searching related, reusable models.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. https://wiki.dbpedia.org/.

  2. https://spacy.io/.

  3. Note that in a preliminary experiment, we also tested the framework with attributes and operations and got poor results.

  4. http://mar-search.org/.

  5. https://www.eclipse.org/emfatic/.

  6. http://mar-search.org/status.

  7. https://pypi.org/project/pyCore/.

  8. https://github.com/Maximbrg/igsa.

  9. https://scikit-posthocs.readthedocs.io/en/latest/generated/scikit_posthocs.posthoc_nemenyi_friedman/.

References

  1. Abrahão, S., Bourdeleau, F., Cheng, B., Kokaly, S., Paige, R., Stöerrle, H., Whittle, J.: User experience for model-driven engineering: challenges and future directions. In: 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 229– 236 (2017)

  2. Wexler, M.N.: The who, what and why of knowledge mapping. J. Knowl. Manage. (2001)

  3. Pandey, D., Suman, U., Ramani, A.K.: An effective requirement engineering process model for software development and requirements management. In: 2010 International Conference on Advances in Recent Technologies in Communication and Computing, pp. 287– 291 (2010). IEEE

  4. Agt-Rickauer, H., Kutsche, R.-D., Sack, H.: Domore-a recommender system for domain modeling. In: the 6th International Conference on Model-Driven Engineering and Software Development, pp. 71– 82 (2018)

  5. Robles, G., Ho-Quang, T., Hebig, R., Chaudron, M.R.V., Fernandez, M.A.: An extensive dataset of UML models in GITHUB. In: Proceedings of the 14th International Conference on Mining Software Repositories. MSR ’17, pp. 519– 522. IEEE Press, ( 2017)

  6. Hebig, R., Quang, T.H., Chaudron, M.R.V., Robles, G., Fernandez, M.A.: The quest for open source projects that use UML: mining GITHUB. In: The ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems. MODELS ’16, pp. 173– 183 (2016)

  7. Basciani, F., Rocco, J.D., Ruscio, D.D., Iovino, L., Pierantonio, A.: Model repositories: will they become reality?. In: the 3rd International Workshop on Model-Driven Engineering, pp. 37– 42 (2015)

  8. Yuan, Z., Yan, L., Ma, Z.: Structural similarity measure between UML class diagrams based on UCG. Requirements Engineering, 1–17 (2019)

  9. López, J.A.H., Cuadrado, J.S.: Mar: a structure-based search engine for models. In: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 57– 67 (2020)

  10. Bragilovski, M., Makias, Y., Shamshila, M., Stern, R., Sturm, A.: Searching for class models. In: Augusto, A., Gill, A., Nurcan, S., Reinhartz-Berger, I., Schmidt, R., Zdravkovic, J. (eds.) Enterprise, Business-Process and Information Systems Modeling - 22nd International Conference, BPMDS 2021, and 26th International Conference, EMMSAD 2021, Held at CAiSE 2021, Melbourne, VIC, Australia, June 28-29, 2021, Proceedings. Lecture Notes in Business Information Processing, vol. 421, pp. 277– 292. Springer (2021)

  11. Bragilovski, M., Makias, Y., Shamshila, M., Stern, R., Sturm, A.: Model-based knowledge searching. In: Ghose, A.K., Horkoff, J., Souza, V.E.S., Parsons, J., Evermann, J. (eds.) Conceptual Modeling - 40th International Conference, ER 2021, Virtual Event, October 18-21, 2021, Proceedings. Lecture Notes in Computer Science, vol. 13011, pp. 242– 256. Springer, (2021)

  12. Di Rocco, J., Di Sipio, C., Di Ruscio, D., Nguyen, P.T.: A GNN-based recommender system to assist the specification of metamodels and models. In: 2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS), IEEE. pp. 70– 81 (2021)

  13. Antunes, G., Bakhshandeh, M., Borbinha, J., Cardoso, J., Dadashnia, S., Di Francescomarino, C., Dragoni, M., Fettke, P., Gal, A., Ghidini, C., et al.: The process model matching contest 2015 vol. 248. Geellschaft für Informatik ( 2015)

  14. Dumas, M., García-Bañuelos, L., Dijkman, R.M.: Similarity search of business process models. IEEE Data Eng. Bull. 32(3), 23–28 (2009)

    Google Scholar 

  15. Ehrig, M., Koschmider, A., Oberweis, A.: Measuring similarity between semantic business process models. APCCM 7, 71–80 (2007)

    Google Scholar 

  16. Dijkman, R., Dumas, M., Van Dongen, B., Käärik, R., Mendling, J.: Similarity of business process models: metrics and evaluation. Inf. Syst. 36(2), 498–516 (2011)

    Article  Google Scholar 

  17. Messmer, B.: Efficient graph matching algorithms for preprocessed model graphs [ph. d. thesis]. University of Bern 58 (1996)

  18. Melnik, S., Garcia-Molina, H., Rahm, E.: Similarity flooding: a versatile graph matching algorithm and its application to schema matching. In: Proceedings 18th International Conference on Data Engineering, IEEE. pp. 117– 128 (2002)

  19. Ferrucci, D., Brown, E., Chu-Carroll, J., Fan, J., Gondek, D., Kalyanpur, A.A., Lally, A., Murdock, J.W., Nyberg, E., Prager, J., et al.: Building Watson: an overview of the Deepqa project. AI Mag. 31(3), 59–79 (2010)

    Google Scholar 

  20. Paredaens, J., Peelman, P., Tanca, L.: G-log: a graph-based query language. IEEE Trans. Knowl. Data Eng. 7(3), 436–453 (1995)

    Article  Google Scholar 

  21. Wang, Y., Khan, A., Wu, T., Jin, J., Yan, H.: Semantic guided and response times bounded top-k similarity search over knowledge graphs. In: 36th International Conference on Data Engineering (ICDE), IEEE, pp. 445– 456 (2020)

  22. Han, S., Zou, L., Yu, J.X., Zhao, D.: Keyword search on RDF graphs-a query graph assembly approach. In: Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, pp. 227– 236 ( 2017)

  23. Zou, L., Huang, R., Wang, H., Yu, J.X., He, W., Zhao, D.: Natural language question answering over RDF: a graph data driven approach. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, pp. 313– 324 (2014)

  24. Hu, S., Zou, L., Zhang, X.: A state-transition framework to answer complex questions over knowledge base. In: Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pp. 2098– 2108 (2018)

  25. Pérez, J., Arenas, M., Gutierrez, C.: Semantics and complexity of sparql. ACM Trans. Database Syst. (TODS) 34(3), 1–45 (2009)

    Article  Google Scholar 

  26. Angles, R., Arenas, M., Barceló, P., Hogan, A., Reutter, J., Vrgoč, D.: Foundations of modern query languages for graph databases. ACM Comput. Surv. (CSUR) 50(5), 1–40 (2017)

    Article  Google Scholar 

  27. Prud’hommeaux, E., Seaborne, A., et al.: SPARQL query language for RDF. W3C Recommendation (2008) (2017)

  28. Francis, N., Green, A., Guagliardo, P., Libkin, L., Lindaaker, T., Marsault, V., Plantikow, S., Rydberg, M., Selmer, P., Taylor, A.: Cypher: An evolving query language for property graphs. In: Proceedings of the 2018 International Conference on Management of Data, pp. 1433– 1445 (2018)

  29. Rodriguez, M.A.: The gremlin graph traversal machine and language (invited talk). In: Proceedings of the 15th Symposium on Database Programming Languages, pp. 1– 10 (2015)

  30. Robles, K., Fraga, A., Morato, J., Llorens, J.: Towards an ontology-based retrieval of UML class diagrams. Inf. Softw. Technol. 54(1), 72–86 (2012)

    Article  Google Scholar 

  31. Al-Khiaty, M.A.-R., Ahmed, M.: UML class diagrams: similarity aspects and matching. Lect. Notes Softw. Eng. 4(1), 41 (2016)

    Article  Google Scholar 

  32. Nikiforova, O., Gusarovs, K., Kozacenko, L., Ahilcenoka, D., Ungurs, D.: An approach to compare UML class diagrams based on semantical features of their elements. In: the Tenth International Conference on Software Engineering Advances, pp. 147– 152 (2015)

  33. Xing, Z., Stroulia, E.: Umldiff: an algorithm for object-oriented design differencing. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 54– 65 (2005)

  34. Salami, H.O., Ahmed, M.: Retrieving sequence diagrams using genetic algorithm. In: 2014 11th International Joint Conference on Computer Science and Software Engineering (JCSSE), pp. 324– 330 ( 2014). IEEE

  35. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education (2008)

  36. Arasu, A., Cho, J., Garcia-Molina, H., Paepcke, A., Raghavan, S.: Searching the web. ACM Trans. Internet Technol. (TOIT) 1(1), 2–43 (2001)

    Article  Google Scholar 

  37. Robertson, S., Zaragoza, H.: The Probabilistic Relevance Framework: BM25 and Beyond. Now Publishers Inc, (2009)

  38. Bislimovska, B., Bozzon, A., Brambilla, M., Fraternali, P.: Graph-based search over web application model repositories. In: International Conference on Web Engineering, pp. 90– 104 (2011). Springer

  39. Lucrédio, D., M Fortes, R.P.d., Whittle, J.: Moogle: A model search engine. In: International Conference on Model Driven Engineering Languages and Systems, pp. 296– 310 (2008) Springer

  40. Barmpis, K., Kolovos, D.S.: Towards scalable querying of large-scale models. In: European Conference on Modelling Foundations and Applications, pp. 35– 50 (2014) Springer

  41. Kling, W., Jouault, F., Wagelaar, D., Brambilla, M., Cabot, J.: Moscript: A DSL for querying and manipulating model repositories. In: International Conference on Software Language Engineering, pp. 180– 200 (2011) Springer

  42. Reinhartz-Berger, I.: Towards automatization of domain modeling. Data Knowl. Eng. 69(5), 491–515 (2010). https://doi.org/10.1016/j.datak.2010.01.002

    Article  Google Scholar 

  43. Klau, G.W.: A new graph-based method for pairwise global network alignment. BMC Bioinf. 10(1), 1–9 (2009)

    Google Scholar 

  44. Sturm, A., Gross, D., Wang, J., Yu, E.: Means-ends based know-how mapping. J. Knowl. Manag. 21, 454–473 (2017). https://doi.org/10.1108/JKM-04-2016-0173

    Article  Google Scholar 

  45. Pareti, E.H. Paolo; Klein: The Human Know-How Dataset. https://doi.org/10.7488/ds/1394 (2014)

  46. Bargilovski, M., Stern, R., Sturm, A.: Searching Models. https://dropbox.com/sh/2bx32q3f860shgw/AACkXilbNPQuaCkGieMeWR7Wa?dl=0 (2021)

  47. Zimmerman, D.W., Zumbo, B.D.: Relative power of the Wilcoxon test, the Friedman test, and repeated-measures Anova on ranks. J. Exp. Educ. 62(1), 75–86 (1993)

    Article  Google Scholar 

  48. Woolson, R.F.: Wilcoxon Signed-Rank Test. Wiley encyclopedia of clinical trials, pp. 1–3 (2007)

  49. Pereira, D.G., Afonso, A., Medeiros, F.M.: Overview of Friedman’s test and post-hoc analysis. Commun. Stat. Simul. Comput. 44(10), 2636–2653 (2015)

    Article  MathSciNet  Google Scholar 

  50. McNemar, Q.: Note on the sampling error of the difference between correlated proportions or percentages. Psychometrika 12(2), 153–157 (1947)

    Article  CAS  PubMed  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Arnon Sturm.

Additional information

Communicated by Alfonso Pierantonio.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bragilovski, M., Stern, R. & Sturm, A. How do I find reusable models?. Softw Syst Model 23, 85–102 (2024). https://doi.org/10.1007/s10270-023-01103-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-023-01103-7

Keywords

Navigation