A repository for scalable model management

Abstract

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.

This is a preview of subscription content, access via your institution.

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

References

  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–59

  2. 2.

    Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. ICSE 2011: 471–480.

  3. 3.

    Cánovas, J., García, J.: An architecture-driven modernization tool for calculating metrics. IEEE Software 27(4), 37–43 (2010)

    Article  Google 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)

  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)

  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)

  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)

  8. 8.

    The XML Metadata Interchange: http://www.omg.org/spec/XMI/

  9. 9.

    The Eclipse Modeling Framework: http://www.eclipse.org/emf

  10. 10.

    The CDO Model Repository: http://www.eclipse.org/cdo

  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) http://www.emfstore.org

  12. 12.

    Morsa prototype URL: http://www.modelum.es/morsa

  13. 13.

    MongoDB: http://www.mongodb.org

  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)

  15. 15.

    Clark, T., Sammut, P., Willans, J.: Applied Metamodelling: A Foundation for Language Driven Development, Ceteva (2004)

  16. 16.

    Meta-Object Facility: http://www.omg.org/spec/MOF/2.0/

  17. 17.

    Teneo: http://www.eclipse.org/modeling/emft/?project=teno#teneo

  18. 18.

    Stonebraker, M., Moore, D.: Object Relational DBMSs: The Next Great Wave. Morgan Kaufmann (1995)

  19. 19.

    Stonebraker, M.: SQL Databases vs NoSQL Databases. Communications of the ACM, ACM 53(4), 10–11 (2010)

  20. 20.

    Strauch, C.: NoSQL Databases. Stuttgart Media University (2011). http://www.christof-strauch.de/nosqldbs.pdf

  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)

  22. 22.

    Couch, DB.: couchdb.apache.org.

  23. 23.

    Chang, F. et al.: Bigtable: A Distributed Storage System for Structured Data (2006)

  24. 24.

    JavaScript Object Notation: http://www.json.org

  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). http://hal.inria.fr/hal-00711524

  26. 26.

    Grabats 2009 5th International Workshop on Graph-Based Tools: a reverse engineering case study, Zurich (Switzerland) (2009). http://is.tm.tue.nl/staff/pvgorp/events/grabats2009/

  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). http://www.modelbus.org.s

  28. 28.

    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. (2004). http://labs.google.com/papers/mapreduce-osdi04

  29. 29.

    Binary JSON: http://www.bsonspec.org

  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)

  31. 31.

    Subversion: http://subversion.apache.org

  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–68

  33. 33.

    MongoEMF: http://bryanhunt.wordpress.com/2011/03/15/mongo-emf/

  34. 34.

    Resource Description Framework: http://www.w3.org/RDF/

  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)

    Article  Google 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)

  37. 37.

    De Lara, J., Guerra, E.: Deep Meta-modelling with MetaDepth. TOOLS, pp. 1–20 (2010)

  38. 38.

    Bergmann, G. et al.: Integrating efficient model queryies in state-of-the-art EMF tools, pp. 1–8. Springer, New York (2012)

  39. 39.

    Atkinson, C., Kühne, T.: Meta-level Independent Modelling. International Workshop on Model Engineering, Paris (2000)

  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)

  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)

  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)

  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)

  45. 45.

    Rathore, R., Prinja, R.: An Overview of Mobile Database Caching. (2008)

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Javier Espinazo Pagán.

Additional information

This work is funded by the Spanish Ministry of Science (project TIN2009-11555) and Fundación Séneca (grant 14954/BPS/10).

Communicated by Prof. Tony Clark and Prof. Jon Whittle.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Pagán, J.E., Cuadrado, J.S. & Molina, J.G. A repository for scalable model management. Softw Syst Model 14, 219–239 (2015). https://doi.org/10.1007/s10270-013-0326-8

Download citation

Keywords

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