Software & Systems Modeling

, Volume 12, Issue 1, pp 53–83 | Cite as

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

  • Antonio Cicchetti
  • Davide Di Ruscio
  • Ludovico Iovino
  • Alfonso Pierantonio
Theme Section

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.

Keywords

Migration Data-intensive Web applications Model differencing Coupled evolution Ecore 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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)Google Scholar
  3. 3.
    Bézivin J.: On the unification power of models. J. Softw. Syst. Model. (SoSyM) 4(2), 171–188 (2005)CrossRefGoogle Scholar
  4. 4.
    Brun, C., Pierantonio, A.: Model differences in the eclipse modeling framework. Upgrade, Special Issue on Model-Driven Software Development, April–May (2008)Google Scholar
  5. 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)CrossRefGoogle Scholar
  6. 6.
    Cicchetti A., Di Ruscio D.: Decoupling web application concerns through weaving operations. Sci. Comput. Programm. 70(1), 62–86 (2008)MathSciNetMATHCrossRefGoogle Scholar
  7. 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)Google Scholar
  8. 8.
    Cicchetti A., Di Ruscio D., Pierantonio A.: A metamodel independent approach to difference representation. J. Object Technol. 6(9), 165–185 (2007)CrossRefGoogle Scholar
  9. 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)Google Scholar
  10. 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. 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)CrossRefGoogle Scholar
  12. 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)CrossRefGoogle Scholar
  13. 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)Google Scholar
  14. 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)Google Scholar
  15. 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)Google Scholar
  16. 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)Google Scholar
  17. 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)Google Scholar
  18. 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. 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)Google Scholar
  20. 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)Google Scholar
  21. 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)Google Scholar
  22. 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)Google Scholar
  23. 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)Google Scholar
  24. 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)Google Scholar
  25. 25.
    Lämmel, R.: Coupled software transformations (extended abstract). In: First International Workshop on Software Evolution Transformations, Nov (2004)Google Scholar
  26. 26.
    Lehman, M.M., Belady, L.A. (eds): Program evolution: processes of software change. Academic Press, San Diego (1985)Google Scholar
  27. 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)Google Scholar
  28. 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)Google Scholar
  29. 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)Google Scholar
  30. 30.
    Ohst D., Welle M., Kelter U.: Differences between versions of UML diagrams. SIGSOFT Softw. Eng. Notes 28(5), 227–236 (2003)CrossRefGoogle Scholar
  31. 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)CrossRefGoogle Scholar
  32. 32.
    Read R.C., Corneil D.G.: The graph isomorphism disease. J. Graph Theory 1(4), 339–363 (2006)MathSciNetCrossRefGoogle Scholar
  33. 33.
    Ricca F., Chao L.: Special section on web systems evolution. Int. J. Softw. Tools Technol. Transf. (STTT) 11, 419–425 (2009)CrossRefGoogle Scholar
  34. 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)Google Scholar
  35. 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. 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)CrossRefGoogle Scholar
  37. 37.
    Schmidt D.C.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  38. 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)Google Scholar
  39. 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. 40.
    Shankaranarayanan, G., Ram, S.: Research issues in database schema evolution: the road not taken. Working Paper #2003-15, University of Arizona (2003)Google Scholar
  41. 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)CrossRefGoogle Scholar
  42. 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)Google Scholar
  43. 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)Google Scholar
  44. 44.
    Visser J.: Coupled transformation of schemas, documents, queries, and constraints. Electron. Notes Theor. Comput. Sci. 200(3), 3–23 (2008)CrossRefGoogle Scholar
  45. 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)Google Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Antonio Cicchetti
    • 1
  • Davide Di Ruscio
    • 2
  • Ludovico Iovino
    • 2
  • Alfonso Pierantonio
    • 2
  1. 1.MRTC Research Centre at the Mälardalen UniversityVästeråsSweden
  2. 2.Computer Science DepartmentUniversity of L’AquilaL’AquilaItaly

Personalised recommendations