skip to main content
research-article

Generating database migrations for evolving web applications

Published:22 October 2011Publication History
Skip Abstract Section

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.

References

  1. T. Alves, P. Silva, and J. Visser. Constraint-aware schema transformation. In Ninth International Workshop on Rule-Based Programming, 2008.Google ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Herrmannsdoerfer, S. Benz, and E. Juergens. COPE - automating coupled evolution of metamodels and models. In ECOOP 2009 - Object-Oriented Programming. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle Scholar
  11. R. Lämmel. Coupled software transformations (extended abstract). In First International Workshop on Software Evolution Transformations, Nov. 2004.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Visser. Coupled transformation of schemas, documents, queries, and constraints. Electron. Notes Theor. Comput. Sci., 200 (3): 3--23, 2008. ISSN 1571-0661. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Generating database migrations for evolving web applications

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 47, Issue 3
        GCPE '11
        March 2012
        179 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2189751
        Issue’s Table of Contents
        • cover image ACM Conferences
          GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineering
          October 2011
          194 pages
          ISBN:9781450306898
          DOI:10.1145/2047862

        Copyright © 2011 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 22 October 2011

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!