Map-Based Transparent Persistence for Very Large Models

  • Abel Gómez
  • Massimo Tisi
  • Gerson Sunyé
  • Jordi Cabot
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9033)

Abstract

The progressive industrial adoption of Model-Driven Engineering (MDE) is fostering the development of large tool ecosystems like the Eclipse Modeling project. These tools are built on top of a set of base technologies that have been primarily designed for small-scale scenarios, where models are manually developed. In particular, efficient runtime manipulation for large-scale models is an under-studied problem and this is hampering the application of MDE to several industrial scenarios.

In this paper we introduce and evaluate a map-based persistence model for MDE tools. We use this model to build a transparent persistence layer for modeling tools, on top of a map-based database engine. The layer can be plugged into the Eclipse Modeling Framework, lowering execution times and memory consumption levels of other existing approaches. Empirical tests are performed based on a typical industrial scenario, model-driven reverse engineering, where very large software models originate from the analysis of massive code bases. The layer is freely distributed and can be immediately used for enhancing the scalability of any existing Eclipse Modeling tool.

Keywords

Model Driven Engineering Model Persistence Very Large Models Key-Value Stores 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    CDO Hibernate Store (2014), http://wiki.eclipse.org/CDO/Hibernate_Store
  3. 3.
    CDO Model Repository (2014), http://www.eclipse.org/cdo/
  4. 4.
  5. 5.
    CDO Objectivity Store (2014), http://wiki.eclipse.org/CDO/Objectivity_Store
  6. 6.
    Eclipse Marketplace - Modeling Tools (2014), http://marketplace.eclipse.org/category/categories/modeling-tools
  7. 7.
    Eclipse Modeling Framework (2014), http://www.eclipse.org/modeling/emf/
  8. 8.
    Barmpis, K., Kolovos, D.S.: Comparative analysis of data persistence technologies for large-scale models. In: Proceedings of the 2012 Extreme Modeling Workshop, XM 2012, pp. 33–38. ACM, New York (2012)CrossRefGoogle Scholar
  9. 9.
    Benelallam, A., Gómez, A., Sunyé, G., Tisi, M., Launay, D.: Neo4EMF, A scalable persistence layer for EMF models. In: Cabot, J., Rubin, J. (eds.) ECMFA 2014. LNCS, vol. 8569, pp. 230–241. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  10. 10.
    Bergmann, G., Horváth, Á., Ráth, I., Varró, D., Balogh, A., Balogh, Z., Ökrös, A.: Incremental evaluation of model queries over EMF models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 76–90. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Bryan Hunt: MongoEMF (2014), https://github.com/BryanHunt/mongo-emf/
  12. 12.
    Cook, S., Jones, G., Kent, S., Wills, A.: Domain-Specific Development with Visual Studio DSL Tools, 1st edn. Addison-Wesley Professional (2007)Google Scholar
  13. 13.
    Gallo, F., Minot, R., Thomas, I.: The Object Management System of PCTE as a Software Engineering Database Management System. SIGPLAN Not. 22(1), 12–15 (1987)CrossRefGoogle Scholar
  14. 14.
    Jouault, F., et al.: An AmmA/ATL Solution for the GraBaTs 2009 Reverse Engineering Case Study. In: 5th Int. Workshop on Graph-Based Tools (2009)Google Scholar
  15. 15.
    Kelly, S., Lyytinen, K., Rossi, M.: Metaedit+ a fully configurable multi-user and multi-tool case and came environment. In: Constantopoulos, P., Vassiliou, Y., Mylopoulos, J. (eds.) CAiSE 1996. LNCS, vol. 1080, pp. 1–21. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  16. 16.
    Ledeczi, A., Maroti, M., et al.: The generic modeling environment. In: Workshop on Intelligent Signal Processing, vol. 17 (2001)Google Scholar
  17. 17.
    Markus Scheidgen: EMF fragments (2014), https://github.com/markus1978/emf-fragments/wiki
  18. 18.
    OMG: OMG MOF 2 XMI Mapping Specification version 2.4.1 (August 2011)Google Scholar
  19. 19.
    Espinazo Pagán, J., Sánchez Cuadrado, J., García Molina, J.: Morsa: A Scalable Approach for Persisting and Accessing Large Models. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 77–92. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Pagn, J.E., Molina, J.G.: Querying large models efficiently. Information and Software Technology 56(6), 586–622 (2014)CrossRefGoogle Scholar
  21. 21.
    Pohjonen, R., Tolvanen, J.P.: Automated production of family members: Lessons learned. In: 2nd International Workshop on Product Line Engineering-The Early Steps: Planning, Modeling, and Managing, pp. 49–57 (2002)Google Scholar
  22. 22.
    Ruscio, D.D., Paige, R.F., Pierantonio, A.: Guest editorial to the special issue on success stories in model driven engineering. Sci. Comput. Program. 89, 69–70 (2014)CrossRefGoogle Scholar
  23. 23.
    Scheidgen, M., Zubow, A., Fischer, J., Kolbe, T.H.: Automated and Transparent Model Fragmentation for Persisting Large Models. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 102–118. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  24. 24.
    Steel, J., Drogemuller, R., Toth, B.: Model interoperability in building information modelling. Software & Systems Modeling 11(1), 99–109 (2012)CrossRefGoogle Scholar
  25. 25.
    Wakeman, L., Jowett, J.: PCTE: The Standard for Open Repositories. Prentice-Hall, Inc., Upper Saddle River (1993)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Abel Gómez
    • 1
  • Massimo Tisi
    • 1
  • Gerson Sunyé
    • 1
  • Jordi Cabot
    • 1
  1. 1.AtlanMod TeamInria, Mines Nantes, LINANantesFrance

Personalised recommendations