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.
Similar content being viewed by others
References
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
Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. ICSE 2011: 471–480.
Cánovas, J., García, J.: An architecture-driven modernization tool for calculating metrics. IEEE Software 27(4), 37–43 (2010)
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)
Díaz, O., Puente, G., Cánovas, J., García, J.: Harvesting models from web 2.0 databases. Software Systems and Modeling, Springer, (2011)
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)
Selic, B.: Personal Reflections on Automation, Programming, Culture and Model-based Software Engineering. Automated Software Engineering, Springer 15(3–4), 379–391 (2008)
The XML Metadata Interchange: http://www.omg.org/spec/XMI/
The Eclipse Modeling Framework: http://www.eclipse.org/emf
The CDO Model Repository: http://www.eclipse.org/cdo
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
Morsa prototype URL: http://www.modelum.es/morsa
MongoDB: http://www.mongodb.org
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)
Clark, T., Sammut, P., Willans, J.: Applied Metamodelling: A Foundation for Language Driven Development, Ceteva (2004)
Meta-Object Facility: http://www.omg.org/spec/MOF/2.0/
Teneo: http://www.eclipse.org/modeling/emft/?project=teno#teneo
Stonebraker, M., Moore, D.: Object Relational DBMSs: The Next Great Wave. Morgan Kaufmann (1995)
Stonebraker, M.: SQL Databases vs NoSQL Databases. Communications of the ACM, ACM 53(4), 10–11 (2010)
Strauch, C.: NoSQL Databases. Stuttgart Media University (2011). http://www.christof-strauch.de/nosqldbs.pdf
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)
Couch, DB.: couchdb.apache.org.
Chang, F. et al.: Bigtable: A Distributed Storage System for Structured Data (2006)
JavaScript Object Notation: http://www.json.org
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
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/
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
Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. (2004). http://labs.google.com/papers/mapreduce-osdi04
Binary JSON: http://www.bsonspec.org
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)
Subversion: http://subversion.apache.org
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
MongoEMF: http://bryanhunt.wordpress.com/2011/03/15/mongo-emf/
Resource Description Framework: http://www.w3.org/RDF/
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)
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)
De Lara, J., Guerra, E.: Deep Meta-modelling with MetaDepth. TOOLS, pp. 1–20 (2010)
Bergmann, G. et al.: Integrating efficient model queryies in state-of-the-art EMF tools, pp. 1–8. Springer, New York (2012)
Atkinson, C., Kühne, T.: Meta-level Independent Modelling. International Workshop on Model Engineering, Paris (2000)
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)
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)
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)
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)
Leong, H., Si, A.: On Adaptive Caching in Mobile Databases. Proceedings of the 1997 ACM symposium on Applied computing, pp. 302–309 (1997)
Rathore, R., Prinja, R.: An Overview of Mobile Database Caching. (2008)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Tony Clark and Prof. Jon Whittle.
This work is funded by the Spanish Ministry of Science (project TIN2009-11555) and Fundación Séneca (grant 14954/BPS/10).
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-013-0326-8