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.
Similar content being viewed by others
References
Aksit M., Kurtev I., Bézivin J.: Technological Spaces: an initial appraisal. International Federated Conference (DOA, ODBASE, CoopIS), Industrial Track, Los Angeles (2002)
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)
Bézivin J.: On the unification power of models. J. Softw. Syst. Model. (SoSyM) 4(2), 171–188 (2005)
Brun, C., Pierantonio, A.: Model differences in the eclipse modeling framework. Upgrade, Special Issue on Model-Driven Software Development, April–May (2008)
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)
Cicchetti A., Di Ruscio D.: Decoupling web application concerns through weaving operations. Sci. Comput. Programm. 70(1), 62–86 (2008)
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)
Cicchetti A., Di Ruscio D., Pierantonio A.: A metamodel independent approach to difference representation. J. Object Technol. 6(9), 165–185 (2007)
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)
Curino C.A., Moon H.J., Zaniolo C.: Graceful database schema evolution: the PRISM workbench. Proc. VLDB Endowment 1(1), 761–772 (2008)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Lämmel, R.: Coupled software transformations (extended abstract). In: First International Workshop on Software Evolution Transformations, Nov (2004)
Lehman, M.M., Belady, L.A. (eds): Program evolution: processes of software change. Academic Press, San Diego (1985)
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)
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)
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)
Ohst D., Welle M., Kelter U.: Differences between versions of UML diagrams. SIGSOFT Softw. Eng. Notes 28(5), 227–236 (2003)
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)
Read R.C., Corneil D.G.: The graph isomorphism disease. J. Graph Theory 1(4), 339–363 (2006)
Ricca F., Chao L.: Special section on web systems evolution. Int. J. Softw. Tools Technol. Transf. (STTT) 11, 419–425 (2009)
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)
Rossi G., Pastor O., Schwabe D., Olsina L.: Web Engineering: Modelling and Implementing Web Applications. Human–Computer Interaction Series. Springer, Berlin (2007)
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)
Schmidt D.C.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)
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)
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)
Shankaranarayanan, G., Ram, S.: Research issues in database schema evolution: the road not taken. Working Paper #2003-15, University of Arizona (2003)
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)
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)
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)
Visser J.: Coupled transformation of schemas, documents, queries, and constraints. Electron. Notes Theor. Comput. Sci. 200(3), 3–23 (2008)
Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In: 20th IEEE/ACM ASE, pp. 54–65. ACM, New York (2005)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Gustavo Rossi, Nora Koch, Geert-Jan Houben, and Antonio Vallecillo.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-011-0193-0