Skip to main content
Log in

Managing the evolution of data-intensive Web applications by model-driven techniques

  • Theme Section
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

The adoption of Model-Driven Engineering (MDE) in the development of Web Applications permitted to decouple the functional description of applications from the underlying implementation platform. This is of paramount relevance for preserving the intellectual property encoded in models and making applications, languages and processes resilient to technological changes. This paper proposes a model-driven approach for supporting the migration and evolution of data-intensive Web applications. In particular, model differencing techniques are considered to realize a migration facility capable of detecting the modifications a model underwent during its lifecycle and to automatically derive from them the programs that are capable of migrating/adapting also those aspects which are not directly derivable from the source models, as for instance the data persistently stored in a database and the page layout usually written using graphic templates. The approach is validated by considering applications described with the beContent and WebML modeling languages.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aksit M., Kurtev I., Bézivin J.: Technological Spaces: an initial appraisal. International Federated Conference (DOA, ODBASE, CoopIS), Industrial Track, Los Angeles (2002)

    Google Scholar 

  2. Alanen, M., Porres, I.: Difference and Union of Models. In: UML 2003—The Unified Modeling Language, vol. 2863 LNCS, pp. 2–17. Springer, Berlin (2003)

  3. Bézivin J.: On the unification power of models. J. Softw. Syst. Model. (SoSyM) 4(2), 171–188 (2005)

    Article  Google Scholar 

  4. Brun, C., Pierantonio, A.: Model differences in the eclipse modeling framework. Upgrade, Special Issue on Model-Driven Software Development, April–May (2008)

  5. Ceri S., Fraternali P., Bongio A.: Web modeling language (WebML): a modeling language for designing web sites. Comput. Netw. 33(1–6), 137–157 (2000)

    Article  Google Scholar 

  6. Cicchetti A., Di Ruscio D.: Decoupling web application concerns through weaving operations. Sci. Comput. Programm. 70(1), 62–86 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  7. Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: 12th International IEEE Enterprise Distributed Object Computing Conference, ECOC 2008, 15–19 September 2008, Munich, Germany, pp. 222–231. IEEE Computer Society (2008)

  8. Cicchetti A., Di Ruscio D., Pierantonio A.: A metamodel independent approach to difference representation. J. Object Technol. 6(9), 165–185 (2007)

    Article  Google Scholar 

  9. Cicchetti, A., Di Ruscio, D., Eramo, R., Maccarrone, F., Pierantonio, A.: beContent: A model-driven platform for designing and maintaining web applications. In: Proceedings of the 9th International Conference on Web Engineering, ICWE 2009, San Sebastián, Spain, June 24–26, vol. 5648 of LNCS, pp. 518–522. Springer, Berlin (2009)

  10. Curino C.A., Moon H.J., Zaniolo C.: Graceful database schema evolution: the PRISM workbench. Proc. VLDB Endowment 1(1), 761–772 (2008)

    Google Scholar 

  11. Di Ruscio D., Muccini H., Pierantonio A.: A data modeling approach to web application synthesis. Int J. Web Eng. Technol. 1(3), 320–337 (2004)

    Article  Google Scholar 

  12. Dominguez E, Lloret J., Rubio A.L., Zapata M.A.: MeDEA: a database evolution architecture with traceability. Data Knowl. Eng. 65(3), 419–441 (2008)

    Article  Google Scholar 

  13. Frasincar, F., Houben, G., Vdovjak, R.: Specification framework for engineering adaptive web applications. In: Proceedings of the 11th International World Wide Web Conference, WWW 2002, Web Engineering Track, Honolulu, USA (2002)

  14. Garzotto, F., Baresi, L., Maritati, M.: W2000 as a MOF metamodel. In: The 6th World Multiconference on Systemics, Cybernetics and Informatics-Web Engineering track, Orlando, USA (2002)

  15. Gómez, J., Cachero, C.: OO-H method: extending UML to model web interfaces. In: Information Modeling for Internet Applications, pp. 144–173. IGI Publishing, Hershey (2003)

  16. Jakob, M., Schwarz, H., Kaiser, F., Mitschang, B.: Towards an Operation Model for Generated Web Applications. In: ICWE ’06: Workshop Proceedings of the sixth International Conference on Web Engineering, p. 7. ACM Press, New York (2006)

  17. Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: Proceedings of the 5th International Conference on Generative Programming and Component Engineering (GPCE ’06), pp. 249–254. ACM, New York, NY, USA (2006)

  18. Jouault F., Kurtev I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) MoDELS Satellite Events, vol. 3844 of LNCS, pp. 128–138. Springer, Berlin (2005)

    Google Scholar 

  19. Koch, N., Kraus, A.: The expressive power of UML-based Web Engineering. In: 2nd International Work on Web-oriented Software Technology, IWWOST, pp. 105–119. CYTED (2002)

  20. Koch, N., Kraus, A.: Towards a common metamodel for the development of web applications. In: International Conference on Web Engineering (ICWE 2003), vol. 2722 of LNCS, pp. 497–506. Springer, Berlin (2003)

  21. Koegel, M., Herrmannsdoerfer, M., Helming, J., Li, Y.: State-based vs. operation-based change tracking. In: Proceedings of the Joint ModSE-MCCM Workshop on Models and Evolution, ModSE-MCCM’09 (2009)

  22. Kolovos, D.S.: Establishing correspondences between models with the epsilon comparison language. In: ECMDA-FA ’09: Proceedings of the 5th European Conference on Model Driven Architecture—Foundations and Applications, pp. 146–157. Springer, Heidelberg (2009)

  23. Kolovos, D.S., Di Ruscio, D., Pierantonio, A., Paige, R.F.: Different models for model matching: an analysis of approaches to support model differencing. In: CVSM ’09: Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models, pp. 1–6. IEEE Computer Society, Washington, DC, USA (2009)

  24. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model comparison: a foundation for model composition and model transformation testing. In: Proceedings of the International Workshop on Global integrated model management (GaMMa ’06), Shanghai (China), pp. 13–20. ACM Press, New York (2006)

  25. Lämmel, R.: Coupled software transformations (extended abstract). In: First International Workshop on Software Evolution Transformations, Nov (2004)

  26. Lehman, M.M., Belady, L.A. (eds): Program evolution: processes of software change. Academic Press, San Diego (1985)

    Google Scholar 

  27. Lin, Y., Gray, J., Jouault, F.: DSMDiff: A differentiation tool for domain-specific models. Eur. J. Inf. Syst. 16(4):349–361, August 2007 (Special Issue on Model-Driven Systems Development)

  28. Murugesan, S.: Web engineering: modelling and implementing web applications, Chap. 2. Web Application Development: Challenges and the Role of Web Engineering, pp. 7–32. Springer, Berlin (2007)

  29. Nguyen, T.N.: Model-based version and configuration management for a web engineering lifecycle. In: WWW ’06: Proceedings of the 15th International Conference on World Wide Web, pp. 437–446. ACM, New York (2006)

  30. Ohst D., Welle M., Kelter U.: Differences between versions of UML diagrams. SIGSOFT Softw. Eng. Notes 28(5), 227–236 (2003)

    Article  Google Scholar 

  31. Ploski J., Hasselbring W., Rehwinkel J., Schwierz S.: Introducing version control to database-centric applications in a small enterprise. IEEE Softw. 24(1), 38–44 (2007)

    Article  Google Scholar 

  32. Read R.C., Corneil D.G.: The graph isomorphism disease. J. Graph Theory 1(4), 339–363 (2006)

    Article  MathSciNet  Google Scholar 

  33. Ricca F., Chao L.: Special section on web systems evolution. Int. J. Softw. Tools Technol. Transf. (STTT) 11, 419–425 (2009)

    Article  Google Scholar 

  34. Rivera, J.E., Vallecillo, A.: Representing and Operating with model differences. In: Objects, Components, Models and Patterns, vol. 11 of LNBIP, pp. 141–160. Springer, Berlin (2008)

  35. Rossi G., Pastor O., Schwabe D., Olsina L.: Web Engineering: Modelling and Implementing Web Applications. Human–Computer Interaction Series. Springer, Berlin (2007)

    Google Scholar 

  36. Schauerhuber A., Wimmer M., Kapsammer E., Schwinger W., Retschitzegger W.: Bridging webml to model-driven engineering: from document type definitions to meta object facility. Softw IET 1(3), 81–97 (2007)

    Article  Google Scholar 

  37. Schmidt D.C.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  38. Schwabe, D., Rossi, G.: An object oriented approach to Web-based applications design. Theor. Pract. Object Syst. 4(4):207–225. Wiley, New York (1998)

  39. Schwinger W., Retschitzegger W., Schauerhuber A., Kappel G., Wimmer M., Pröll B., Castro Cachero C., Casteleyn S., De Troyer O., Fraternali P., Garrigos I., Garzotto F., Ginige A., Houben G., Koch N., Moreno N., Pastor O., Paolini P., Ferragud Pelechano V., Rossi G., Schwabe D., Tisi M., Vallecillo A., van der Sluijs K., Zhang G.: A survey on web modeling approaches for ubiquitous web applications. Int. J. Web Inf. Syst. (IJWIS) 4(3), 234–305 (2008)

    Google Scholar 

  40. Shankaranarayanan, G., Ram, S.: Research issues in database schema evolution: the road not taken. Working Paper #2003-15, University of Arizona (2003)

  41. Thiran P., Hainaut J.L., Houben G.J., Benslimane D.: Wrapper-based evolution of legacy information systems. ACM Trans. Softw. Eng. Methodol. 15(4), 329–359 (2006)

    Article  Google Scholar 

  42. Vermolen, S., Visser, E.: Heterogeneous coupled evolution of software languages. In: MoDELS ’08: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems, pp. 630–644. Springer, Berlin (2008)

  43. Visser, E.: WebDSL: A case study in domain-specific language engineering. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) International Summer School on Generative and Transformational Techniques in Software Engineering (GTTSE 2007), vol. 5235 of Lecture Notes in Computer Science, pp. 291–373. Springer, Heidelberg (2008)

  44. Visser J.: Coupled transformation of schemas, documents, queries, and constraints. Electron. Notes Theor. Comput. Sci. 200(3), 3–23 (2008)

    Article  Google Scholar 

  45. Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In: 20th IEEE/ACM ASE, pp. 54–65. ACM, New York (2005)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Davide Di Ruscio.

Additional information

Communicated by Gustavo Rossi, Nora Koch, Geert-Jan Houben, and Antonio Vallecillo.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cicchetti, A., Di Ruscio, D., Iovino, L. et al. Managing the evolution of data-intensive Web applications by model-driven techniques. Softw Syst Model 12, 53–83 (2013). https://doi.org/10.1007/s10270-011-0193-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-011-0193-0

Keywords

Navigation