Software & Systems Modeling

, Volume 14, Issue 1, pp 219–239 | Cite as

A repository for scalable model management

  • Javier Espinazo Pagán
  • Jesús Sánchez Cuadrado
  • Jesús García Molina
Special Section Paper


Applying model-driven engineering (MDE) in industrial-scale systems requires managing complex models which may be very large. These models must be persisted in a way that allows their manipulation by client applications without fully loading them. In this paper, we propose Morsa, a model repository that provides scalable manipulation of large models through load on demand and incremental store; model persistence is supported by a NoSQL database. We discuss some load on demand and incremental store algorithms as well as a database design. A prototype that integrates transparently with EMF is presented, and its evaluation demonstrates that it is capable of fully managing large models with a limited amount of memory. Moreover, a set of benchmarks has been executed, exhibiting better performance than the EMF XMI file-based persistence and the most widely used model repository, CDO.


MDE Model persistence Model repositories Model scalability Large models NoSQL  Document databases 


  1. 1.
    Monaheghehi et al.: MDE Adoption in Industry: Challenges and Success Criteria. Proceedings on the Workshop on Challenges in MDE, MoDELS september 2008, Springer, Toulouse (France), pp. 54–59Google Scholar
  2. 2.
    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. ICSE 2011: 471–480.Google Scholar
  3. 3.
    Cánovas, J., García, J.: An architecture-driven modernization tool for calculating metrics. IEEE Software 27(4), 37–43 (2010)CrossRefGoogle Scholar
  4. 4.
    Gray, J., Zhang, J., Roychoudhury, S., Wu, H., Sudarsan, R., Gokhale, A., Neema, E., Shi, F., Bapty, T.: Model-driven program transformation of a large avionics framework. Generative Programming and Component Engineering (GPCE), Springer, pp. 361–378 (2004)Google Scholar
  5. 5.
    Díaz, O., Puente, G., Cánovas, J., García, J.: Harvesting models from web 2.0 databases. Software Systems and Modeling, Springer, (2011)Google Scholar
  6. 6.
    Kolovos, D., Paige, R., Polack, F.: Scalability: The Holy Grail of Model-Driven Engineering. Proceedings on the Workshop on Challenges in MDE, MoDELS september 2008, Springer, Toulouse (France), pp. 35–47 (2008)Google Scholar
  7. 7.
    Selic, B.: Personal Reflections on Automation, Programming, Culture and Model-based Software Engineering. Automated Software Engineering, Springer 15(3–4), 379–391 (2008)Google Scholar
  8. 8.
    The XML Metadata Interchange:
  9. 9.
    The Eclipse Modeling Framework:
  10. 10.
    The CDO Model Repository:
  11. 11.
    Koegel, M., Helming, J.: EMFStore: A model repository for EMF models. Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Cape Town (South Africa) vol. 2, pp. 307–308 (2010)
  12. 12.
    Morsa prototype URL:
  13. 13.
  14. 14.
    Espinazo-Pagán, J., Sánchez Cuadrado, J., García Molina, J.: Morsa: A Scalable Approach for Persisting and Accessing Large Models. Proceedings on the 14th International Model Driven Engineering Languages and Systems (MoDELS) Conference, Springer, Wellington (New Zealand), pp. 77–92 (2011)Google Scholar
  15. 15.
    Clark, T., Sammut, P., Willans, J.: Applied Metamodelling: A Foundation for Language Driven Development, Ceteva (2004)Google Scholar
  16. 16.
    Meta-Object Facility:
  17. 17.
  18. 18.
    Stonebraker, M., Moore, D.: Object Relational DBMSs: The Next Great Wave. Morgan Kaufmann (1995)Google Scholar
  19. 19.
    Stonebraker, M.: SQL Databases vs NoSQL Databases. Communications of the ACM, ACM 53(4), 10–11 (2010)Google Scholar
  20. 20.
    Strauch, C.: NoSQL Databases. Stuttgart Media University (2011).
  21. 21.
    DeCandia, G. et al.: Dynamo: Amazon’s Higly-Available Key-value Store. Proceedings of 21st ACM SIGOPS Symposium on Operating Systems Principles, ACM, pp. 205–220 (2007)Google Scholar
  22. 22.
    Couch, DB.: Scholar
  23. 23.
    Chang, F. et al.: Bigtable: A Distributed Storage System for Structured Data (2006)Google Scholar
  24. 24.
    JavaScript Object Notation:
  25. 25.
    Caue, C., Didonet, M., Tisi, M.: Transforming Very Large Models in the Cloud: A Research Roadmap. CloudMDE 2012 Workshop at the ECMFA 2012 Conference, Copenhagën (2012).
  26. 26.
    Grabats 2009 5th International Workshop on Graph-Based Tools: a reverse engineering case study, Zurich (Switzerland) (2009).
  27. 27.
    Blanc, X., Gervais, M., Sriplakich, P.: ModelBus: Towards the Interoperability of Modelling Tools. MDA-FA 2003/2004, LNCS 3599, Springer, pp. 17–32 (2005).
  28. 28.
    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. (2004).
  29. 29.
  30. 30.
    Jouault, F., Sottet, J.: An AmmA/ATL Solution for the Grabats 2009 Reverse Engineering Case Study. Grabats 2009 5th International Workshop on Graph-Based Tools, Zurich (Switzerland) (2009)Google Scholar
  31. 31.
  32. 32.
    Sriplakich, P., Blanc, X., Gervais, M.: Collaborative Software Engineering on Large-scale models: Requirements and Experience in ModelBus. Proceedings on the 2008 ACM Symposium on Applied Computing, ACM, pp. 674–68Google Scholar
  33. 33.
  34. 34.
    Resource Description Framework:
  35. 35.
    Varrò, D., Pataricza, A.: VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. Software Syst. Model 2(3), 187–210 (2003)CrossRefGoogle Scholar
  36. 36.
    Aschauer, T., Dauenhauer G., Pree W.: Representation and Traversal of Large Clabject Models. In Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems (MODELS ’09), Springer, pp. 17–31 (2009)Google Scholar
  37. 37.
    De Lara, J., Guerra, E.: Deep Meta-modelling with MetaDepth. TOOLS, pp. 1–20 (2010)Google Scholar
  38. 38.
    Bergmann, G. et al.: Integrating efficient model queryies in state-of-the-art EMF tools, pp. 1–8. Springer, New York (2012)Google Scholar
  39. 39.
    Atkinson, C., Kühne, T.: Meta-level Independent Modelling. International Workshop on Model Engineering, Paris (2000)Google Scholar
  40. 40.
    Espinazo-Pagán, J., García-Molina, J.: A homogeneous repository for collaborative MDD. Proceedings on the 1st International Workshop on Model Comparison in Practice IWCMP 2010 (Málaga, Spain), ACM, pp. 56–65 (2010)Google Scholar
  41. 41.
    Böhm, C., Lorey, J., Fenz, D., Kny, E., Pohl, M., Naumann, F.: Creating voiD Descriptions for Web-scale Data. Winner of the 2010 Billion Triple Track Semantic Web Challenge (2010)Google Scholar
  42. 42.
    Ibrahim, A., Cook, W.: Automatic by Traversal Profiling in Object Persistence Architectures. Proceedings on the 20th European Conference on Object-Oriented Programming, Springer, Nantes (France), pp. 50–73 (2006)Google Scholar
  43. 43.
    Han, W., Whang, K., Moon, Y.: A Formal Framework for Prefetching Based on the Type-Level Access Pattern in Object-Relational DBMSs. IEEE Transactions on Knowledge and Data Engineering 17, pp. 1436–1448 (2005)Google Scholar
  44. 44.
    Leong, H., Si, A.: On Adaptive Caching in Mobile Databases. Proceedings of the 1997 ACM symposium on Applied computing, pp. 302–309 (1997)Google Scholar
  45. 45.
    Rathore, R., Prinja, R.: An Overview of Mobile Database Caching. (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Javier Espinazo Pagán
    • 1
  • Jesús Sánchez Cuadrado
    • 2
  • Jesús García Molina
    • 1
  1. 1.Universidad de MurciaMurciaSpain
  2. 2.Universidad Autónoma de MadridMadridSpain

Personalised recommendations