Abstract
WebDSL is a domain-specific language for the implementation of dynamic web applications with a rich data model. It provides developers with object-oriented data modeling concepts but abstracts over implementation details for persisting application data in relational databases. When the underlying data model of an application evolves, persisted application data has to be migrated. While implementing migration at the database level breaks the abstractions provided by WebDSL, an implementation at the data model level requires to intermingle migration with application code. In this paper, we present a domain-specific language for the coupled evolution of data models and application data. It allows to specify data model evolution as a separate concern at the data model level and can be compiled to migration code at the database level. Its linguistic integration with WebDSL enables static checks for evolution validity and correctness.
- T. Alves, P. Silva, and J. Visser. Constraint-aware schema transformation. In Ninth International Workshop on Rule-Based Programming, 2008.Google Scholar
- P. Berdaguer, A. Cunha, H. Pacheco, and J. Visser. Coupled schema transformation and data conversion for XML and SQL. In Practical Aspects of Declarative Languages (PADL 2007), volume 4354 of LNCS, pages 290--304. Springer, 2007. Google Scholar
Digital Library
- A. Cicchetti, D. D. Ruscio, R. Eramo, and A. Pierantonio. Automating co-evolution in model-driven engineering. In Enterprise Distributed Object Computing Conference (EDOC 2008). IEEE, 2008. Google Scholar
Digital Library
- A. Cunha, J. Oliveira, and J. Visser. Type-safe two-level data transformation. In Formal Methods Europe (FME 2006), volume 4085 of LNCS, pages 284--299. Springer, 2006. Google Scholar
Digital Library
- A. Gupta, I. S. Mumick, and V. S. Subrahmanian. Maintaining views incrementally. In International conference on management of data (SIGMOD 1993), pages 157--166, New York, NY, USA, 1993. ACM. Google Scholar
Digital Library
- J.-L. Hainaut, C. Tonneau, M. Joris, and M. Chandelon. Schema transformation techniques for database reverse engineering. In Proceedings of the 12th Intl. Conf. on the Entity-Relationship Approach (ER 1993), pages 364--375, London, UK, 1994. Springer-Verlag. Google Scholar
Digital Library
- M. Herrmannsdoerfer, S. Benz, and E. Juergens. COPE - automating coupled evolution of metamodels and models. In ECOOP 2009 - Object-Oriented Programming. Springer, 2009. Google Scholar
Digital Library
- M. Herrmannsdoerfer, S. D. Vermolen, and G. Wachsmuth. An extensive catalog of operators for the coupled evolution of metamodels and models. In Software Language Engineering, Third International Conference (SLE 2010), LNCS. Springer, 2010. Google Scholar
Digital Library
- J. Hoßler, M. Soden, and H. Eichler. Coevolution of models, metamodels and transformations. In Models and Human Reasoning, pages 129--154, Berlin, 2005. Wissenschaft und Technik Verlag.Google Scholar
- L. C. L. Kats, K. T. Kalleberg, and E. Visser. Domain-specific languages for composable editor plugins. In Proceedings of the Ninth Workshop on Language Descriptions, Tools, and Applications (LDTA 2009), Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, April 2009.Google Scholar
- R. Lämmel. Coupled software transformations (extended abstract). In First International Workshop on Software Evolution Transformations, Nov. 2004.Google Scholar
- R. Lämmel and W. Lohmann. Format evolution. In RETIS 01: Proc. 7th International Conference on Reverse Engineering for Information Systems, volume 155 of [email protected], pages 113--134. OCG, 2001.Google Scholar
- M. Pizka and E. Juergens. Tool supported multi level language evolution. In In Proceedings of SVM'07: Software and Services Variability Management Workshop Concepts, Models and Tools, 2007.Google Scholar
- S. D. Vermolen and E. Visser. Heterogeneous coupled evolution of software languages. In Model Driven Engineering Languages and Systems (Models 2008), volume 5301 of LNCS, pages 630--644. Springer, 2008. Google Scholar
Digital Library
- S. D. Vermolen, G. Wachsmuth, and E. Visser. Reconstructing complex metamodel evolution. In Software Language Engineering, Fourth International Conference, SLE 2011, Braga, Portugal, Revised Selected Papers, Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2012. To Appear. Google Scholar
Digital Library
- E. Visser. WebDSL: A case study in domain-specific language engineering. In Generative and Transformational Techniques in Software Engineering (GTTSE 2007), volume 5235 of LNCS. Springer, 2008. Google Scholar
Digital Library
- J. Visser. Coupled transformation of schemas, documents, queries, and constraints. Electron. Notes Theor. Comput. Sci., 200 (3): 3--23, 2008. ISSN 1571-0661. Google Scholar
Digital Library
- G. Wachsmuth. Metamodel adaptation and model co-adaptation. In ECOOP 2007 - Object-Oriented Programming, volume 4609 of LNCS, pages 600--624. Springer Berlin / Heidelberg, 2007. Google Scholar
Digital Library
Index Terms
Generating database migrations for evolving web applications
Recommendations
Generating database migrations for evolving web applications
GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineeringWebDSL is a domain-specific language for the implementation of dynamic web applications with a rich data model. It provides developers with object-oriented data modeling concepts but abstracts over implementation details for persisting application data ...
Journey of Database Migration from RDBMS to NoSQL Data Stores
Big-Data-Analytics in Astronomy, Science, and EngineeringAbstractMigration is a complex process involving many challenges while migrating from an existing system to a new one. Database migration involves schema transformation, migration of data, complex query support, and indexing. This paper presents a) ...
Incremental Data Migration for Multi-database Systems
SNPD '12: Proceedings of the 2012 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed ComputingNowadays, database systems are one of the most popular and essential software programs in computer systems. Many computers are installed a database system and users maybe want to use these database systems as one system. The multi-database system is one ...







Comments