Systematic Recovery of MDE Technology Usage

  • Juri Di Rocco
  • Davide Di Ruscio
  • Johannes Härtel
  • Ludovico Iovino
  • Ralf Lämmel
  • Alfonso Pierantonio
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10888)


MDE projects may use various MDE technologies (e.g., for model transformation, model comparison, or model/code generation) and thus, contain various MDE artifacts (such as models, metamodels, and model transformations). The details of using the MDE technologies and the relationships between the MDE artifacts are typically not accessible at a higher level of abstraction, which makes it hard to understand, build, and test the MDE projects and thus, to reuse the contained MDE artifacts. In this paper, we present a megamodel-based reverse engineering methodology and an infrastructure MDEprofiler for recovering details of using MDE technologies in MDE projects and modeling these details at a higher level of abstraction. We exemplify the approach for MDE projects that use ATL-based model transformations.


  1. 1.
    Tomassetti, F., Torchiano, M., Tiso, A., Ricca, F., Reggio, G.: Maturity of software modelling and model driven engineering: a survey in the Italian industry. In: Proceedings of the EASE, pp. 91–100 (2012)Google Scholar
  2. 2.
    Basciani, F., Di Rocco, J., Di Ruscio, D., Iovino, L., Pierantonio, A.: Model repositories: will they become reality? In: Proceedings of the CloudMDE@MoDELS 2015. CEUR Workshop Proceedings, vol. 1563, pp. 37–42 (2016)Google Scholar
  3. 3.
    Di Rocco, J., Di Ruscio, D., Iovino, L., Pierantonio, A.: Collaborative repositories in model-driven engineering. IEEE Softw. 32, 28–34 (2015)CrossRefGoogle Scholar
  4. 4.
    Kling, W., Jouault, F., Wagelaar, D., Brambilla, M., Cabot, J.: MoScript: a DSL for querying and manipulating model repositories. In: Sloane, A., Aßmann, U. (eds.) SLE 2011. LNCS, vol. 6940, pp. 180–200. Springer, Heidelberg (2012). Scholar
  5. 5.
    Stringfellow, C., Amory, C.D., Potnuri, D., Andrews, A.A., Georg, M.: Comparison of software architecture reverse engineering methods. Inf. Softw. Technol. 48, 484–497 (2006)CrossRefGoogle Scholar
  6. 6.
    Krikhaar, R.L.: Reverse architecting approach for complex systems. In: Proceedings of the ICSM, pp. 4–11. IEEE (1997)Google Scholar
  7. 7.
    Lämmel, R.: Relationship maintenance in software language repositories. Art Sci. Eng. Program. J. 1, 27 (2017)Google Scholar
  8. 8.
    Härtel, J., Härtel, L., Heinz, M., Lämmel, R., Varanovich, A.: Interconnected linguistic architecture. Art Sci. Eng. Program. J. 1, 27 (2017)Google Scholar
  9. 9.
    Härtel, J., Heinz, M., Lämmel, R.: EMF patterns of usage on GitHub. In: Proceedings of the ECMFA. LNCS. Springer (2018, to appear)CrossRefGoogle Scholar
  10. 10.
    Favre, J.-M., Lämmel, R., Varanovich, A.: Modeling the linguistic architecture of software products. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 151–167. Springer, Heidelberg (2012). Scholar
  11. 11.
    Favre, J., Lämmel, R., Leinberger, M., Schmorleiz, T., Varanovich, A.: Linking documentation and source code in a software chrestomathy. In: Proceedings of the WCRE, pp. 335–344. IEEE (2012)Google Scholar
  12. 12.
    Kolovos, D.S., Matragkas, N.D., Korkontzelos, I., Ananiadou, S., Paige, R.F.: Assessing the use of eclipse MDE technologies in open-source software projects. In: Proceedings of the OSS4MDEMODELS. CEUR Workshop Proceedings, vol. 1541, pp. 20–29 (2015)Google Scholar
  13. 13.
    Lämmel, R., Varanovich, A.: Interpretation of linguistic architecture. In: Cabot, J., Rubin, J. (eds.) ECMFA 2014. LNCS, vol. 8569, pp. 67–82. Springer, Cham (2014). Scholar
  14. 14.
    Murphy, G.C., Notkin, D.: Lightweight lexical source model extraction. ACM Trans. Softw. Eng. Methodol. 5, 262–292 (1996)CrossRefGoogle Scholar
  15. 15.
    Ferenc, R., Siket, I., Gyimóthy, T.: Extracting facts from open source software. In: Proceedings of the ICSM, pp. 60–69. IEEE (2004)Google Scholar
  16. 16.
    de Lara, J., Di Rocco, J., Di Ruscio, D., Guerra, E., Iovino, L., Pierantonio, A., Cuadrado, J.S.: Reusing model transformations through typing requirements models. In: Huisman, M., Rubin, J. (eds.) FASE 2017. LNCS, vol. 10202, pp. 264–282. Springer, Heidelberg (2017). Scholar
  17. 17.
    Kurtev, I., Bézivin, J., Jouault, F., Valduriez, P.: Model-based DSL frameworks. In: Companion to the 21st ACM SIGPLAN OOPSLA 2006, pp. 602–616. ACM (2006)Google Scholar
  18. 18.
    Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: Proceedings of the GPCE, pp. 249–254. ACM (2006)Google Scholar
  19. 19.
    Bowman, I.T., Holt, R.C.: Software architecture recovery using Conway’s law. In: Proceedings of the CASCON, p. 6. IBM (1998)Google Scholar
  20. 20.
    Lungu, M., Lanza, M., Gîrba, T.: Package patterns for visual architecture recovery. In: Proceedings of the CSMR, pp. 185–196. IEEE (2006)Google Scholar
  21. 21.
    Sartipi, K., Kontogiannis, K.: On Modeling software architecture recovery as graph matching. In: Proceedings of the ICSM, pp. 224–234. IEEE (2003)Google Scholar
  22. 22.
    Maqbool, O., Babri, H.A.: Hierarchical clustering for software architecture recovery. IEEE Trans. Softw. Eng. 33, 759–780 (2007)CrossRefGoogle Scholar
  23. 23.
    Hassan, A.E., Holt, R.C.: Architecture recovery of web applications. In: Proceedings of the ICSE, pp. 349–359. ACM (2002)Google Scholar
  24. 24.
    Antoniol, G., Canfora, G., Casazza, G., Lucia, A.D.: Information retrieval models for recovering traceability links between code and documentation. In: ICSM, pp. 40–49. IEEE (2000)Google Scholar
  25. 25.
    Kagdi, H.H., Maletic, J.I., Sharif, B.: Mining software repositories for traceability links. In: ICPC, pp. 145–154. IEEE (2007)Google Scholar
  26. 26.
    Karus, S., Gall, H.C.: A study of language usage evolution in open source software. In: Proceedings of the MSR, pp. 13–22. ACM (2011)Google Scholar
  27. 27.
    Lämmel, R., Pek, E., Starek, J.: Large-scale, AST-based API-usage analysis of open-source Java projects. In: SAC, pp. 1317–1324. ACM (2011)Google Scholar
  28. 28.
    Lämmel, R., Linke, R., Pek, E., Varanovich, A.: A framework profile of .NET. In: Proceedings of the WCRE, pp. 141–150. IEEE (2011)Google Scholar
  29. 29.
    Roover, C.D., Lämmel, R., Pek, E.: Multi-dimensional exploration of API usage. In: Proceedings of the ICPC, pp. 152–161. IEEE (2013)Google Scholar
  30. 30.
    Bézivin, J., Jouault, F., Valduriez, P.: On the need for Megamodels. In: Proceedings of the OOPSLA/GPCE: Best Practices for Model-Driven Software Development Workshop (2004)Google Scholar
  31. 31.
    Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the large and modeling in the small. In: Aßmann, U., Aksit, M., Rensink, A. (eds.) MDAFA 2003 and MDAFA 2004. LNCS, vol. 3599, pp. 33–46. Springer, Heidelberg (2005). Scholar
  32. 32.
    Sandro, A.D., Salay, R., Famelis, M., Kokaly, S., Chechik, M.: MMINT: a graphical tool for interactive model management. In: Proceedings of the MoDELS 2015 Demo and Poster Session. CEUR Workshop Proceedings, vol. 1554, pp. 16–19 (2016)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Juri Di Rocco
    • 1
  • Davide Di Ruscio
    • 1
  • Johannes Härtel
    • 2
  • Ludovico Iovino
    • 3
  • Ralf Lämmel
    • 2
  • Alfonso Pierantonio
    • 1
  1. 1.Department of Information Engineering, Computer Science and MathematicsUniversità degli Studi dell’AquilaL’AquilaItaly
  2. 2.Faculty of CSUniversity of Koblenz-LandauMainzGermany
  3. 3.Gran Sasso Science InstituteL’AquilaItaly

Personalised recommendations