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 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.
This work is funded by the Spanish Ministry of Science (project TIN2009-11555) and Fundación Séneca (grant 14954/BPS/10).
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
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)
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)
The Eclipse Modeling Framework, http://www.eclipse.org/emf
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)
Selic, B.: Personal Reflections on Automation, Programming, Culture and Model-based Software Engineering. Automated Software Engineering 15(3-4), 379–391 (2008)
Canovas, J., Garca, J.: An architecture-driven modernization tool for calculating metrics. IEEE Software 27(4), 37–43 (2010)
Varro, G., Friedl, K., Varro, D.: Adaptive Graph Pattern Matching for MOdel Transformations using Mode-sensitive Search Plans. ENTCS 152, 191–205 (2006)
The CDO Model Repository, http://www.eclipse.org/cdo
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), http://www.emfstore.org
Morsa prototype, http://www.modelum.es/morsa
Stonebraker, M.: SQL Databases vs NoSQL Databases. Communications of the ACM 53(4), 10–11 (2010)
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)
CouchDB: couchdb.apache.org
MongoDB, http://www.mongodb.org
Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters (2004), http://labs.google.com/papers/mapreduce-osdi04
Strauch, C.: NoSQL Databases. Stuttgart Media University (2011), http://www.christof-strauch.de/nosqldbs.pdf
JavaScript Object Notation, http://www.json.org
Grabats 2009 5th International Workshop on Graph-Based Tools: a reverse engineering case study, Zurich (Switzerland) (July 2009), http://is.tm.tue.nl/staff/pvgorp/events/grabats2009/
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), http://www.modelbus.org
Binary JSON, http://www.bsonspec.org
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)
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)
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)
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)
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)
Chang, F., Dean, J., et al.: Bigtable: A Distributed Storage System for Structured Data (2006)
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)
Rathore, R., Prinja, R.: An Overview of Mobile Database Caching (2008), http://www-users.cs.umn.edu/~rohinip/Rohini_Prinja/Research_files/8701Project.pdf
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Espinazo Pagán, J., Sánchez Cuadrado, J., García Molina, J. (2011). Morsa: A Scalable Approach for Persisting and Accessing Large Models. In: Whittle, J., Clark, T., Kühne, T. (eds) Model Driven Engineering Languages and Systems. MODELS 2011. Lecture Notes in Computer Science, vol 6981. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24485-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-24485-8_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24484-1
Online ISBN: 978-3-642-24485-8
eBook Packages: Computer ScienceComputer Science (R0)