Morsa: A Scalable Approach for Persisting and Accessing Large Models

  • Javier Espinazo Pagán
  • Jesúss Sánchez Cuadrado
  • Jesús García Molina
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)


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 scalable way that allows their manipulation by client applications without fully loading them.

In this paper we propose Morsa, an approach that provides scalable access to large models through load on demand; model persistence is supported by a NoSQL database. We discuss some load on demand algorithms and database design alternatives. A prototype that integrates transparently with EMF is presented and its evaluation demonstrates that it is capable of fully loading large models with a limited amount of memory. Moreover, a benchmark has been executed, exhibiting better performance than the EMF XMI file-based persistence and the most representative model repository, CDO.


model persistence scalability large models 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Mohagheghi, P., Fernandez, M.A., Martell, J.A., Fritzsche, M., Gilani, W.: MDE Adoption in Industry: Challenges and Success Criteria. In: Chaudron, M.R.V. (ed.) MODELS 2008. LNCS, vol. 5421, pp. 54–59. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  2. 2.
    Baker, P., Loh, S.C., Weil, F.: Model-Driven Engineering in a Large Industrial Context — Motorola Case Study. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 476–491. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    The Eclipse Modeling Framework,
  4. 4.
    Kolovos, D., Paige, R., Polack, F.: Scalability: The Holy Grail of Model-Driven Engineering. In: Chaudron, M.R.V. (ed.) MODELS 2008. LNCS, vol. 5421, pp. 35–47. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  5. 5.
    Selic, B.: Personal Reflections on Automation, Programming, Culture and Model-based Software Engineering. Automated Software Engineering 15(3-4), 379–391 (2008)CrossRefGoogle Scholar
  6. 6.
    Canovas, J., Garca, J.: An architecture-driven modernization tool for calculating metrics. IEEE Software 27(4), 37–43 (2010)CrossRefGoogle Scholar
  7. 7.
    Varro, G., Friedl, K., Varro, D.: Adaptive Graph Pattern Matching for MOdel Transformations using Mode-sensitive Search Plans. ENTCS 152, 191–205 (2006)Google Scholar
  8. 8.
    The CDO Model Repository,
  9. 9.
    EMFStore: A model repository for EMF models. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Cape Town (South Africa) vol. 2, pp. 307–308 (2010),
  10. 10.
    Morsa prototype,
  11. 11.
    Stonebraker, M.: SQL Databases vs NoSQL Databases. Communications of the ACM 53(4), 10–11 (2010)CrossRefGoogle Scholar
  12. 12.
    DeCandia, G., Hastorun, D., et al.: Dynamo: Amazon’s Higly-Available Key-value Store. In: Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles, pp. 205–220. ACM, New York (2007)CrossRefGoogle Scholar
  13. 13.
    CouchDB: couchdb.apache.orgGoogle Scholar
  14. 14.
  15. 15.
    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters (2004),
  16. 16.
    Strauch, C.: NoSQL Databases. Stuttgart Media University (2011),
  17. 17.
    JavaScript Object Notation,
  18. 18.
    Grabats 2009 5th International Workshop on Graph-Based Tools: a reverse engineering case study, Zurich (Switzerland) (July 2009),
  19. 19.
    Blanc, X., Gervais, M.-P., Sriplakich, P.: Model Bus: Towards the Interoperability of Modelling Tools. In: Aßmann, U., Aksit, M., Rensink, A. (eds.) MDAFA 2003. LNCS, vol. 3599, pp. 17–32. Springer, Heidelberg (2005), CrossRefGoogle Scholar
  20. 20.
  21. 21.
    Jouault, F., Sottet, J.: An AmmA/ATL Solution for the Grabats 2009 Reverse Engineering Case Study. In: Grabats 2009 5th International Workshop on Graph-Based Tools, Zurich, Switzerland (July 2009)Google Scholar
  22. 22.
    Sriplakich, P., Blanc, X., Gervais, M.: Collaborative Software Engineering on Large-scale models: Requirements and Experience in ModelBus. In: Proceedings on the 2008 ACM Symposium on Applied Computing, pp. 674–681. ACM, New York (2008)CrossRefGoogle Scholar
  23. 23.
    Bhm, 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
  24. 24.
    Ibrahim, A., Cook, W.: Automatic by Traversal Profiling in Object Persistence Architectures. In: Hu, Q. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 50–73. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  25. 25.
    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, 1436–1448 (2005)CrossRefGoogle Scholar
  26. 26.
    Chang, F., Dean, J., et al.: Bigtable: A Distributed Storage System for Structured Data (2006)Google Scholar
  27. 27.
    Leong, H., Si, A.: On Adaptive Caching in Mobile Databases. In: Proceedings of the 1997 ACM Symposium on Applied Computing, pp. 302–309. ACM, New York (1997)CrossRefGoogle Scholar
  28. 28.
    Rathore, R., Prinja, R.: An Overview of Mobile Database Caching (2008),

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Javier Espinazo Pagán
    • 1
  • Jesúss Sánchez Cuadrado
    • 1
  • Jesús García Molina
    • 1
  1. 1.University of MurciaSpain

Personalised recommendations