Advertisement

Software & Systems Modeling

, Volume 14, Issue 3, pp 1273–1295 | Cite as

An interactive tool for UML class model evolution in database applications

  • Vukasin Milovanovic
  • Dragan Milicev
Regular Paper

Abstract

In the context of model-driven development of database applications with UML, the (usually relational) database schema is obtained automatically from the application’s structural (class) UML model. Changes in requirements often lead to modifications of the application’s structural model. Such changes, in turn, have to be propagated to the underlying database schema. Very often, especially when the system is in production with a large volume of users’ live data, the data is considered to be valuable enough to be preserved through these changes. This paper describes an approach to cope with the problem of model evolution with the ultimate requirement to preserve the data stored in the database. The algorithm interactively determines differences between structural UML models before and after the changes and resolves those differences into transformations in the relational database domain.

Keywords

Model evolution Schema evolution  Model differencing Schema matching  Object-relational mapping 

References

  1. 1.
    Lehman, M.M.: On understanding laws, evolution, and conservation in the large-program life cycle. J. Syst. Softw. 1, 213–221 (1980)CrossRefGoogle Scholar
  2. 2.
    Curino, C., Moon, H.J., Tanca, L., Zaniolo, C.: Schema evolution in Wikipedia: toward a web information system benchmark. In: International Conference on Enterprise Information Systems (ICEIS) (2008)Google Scholar
  3. 3.
    Conradi, R., Westfechtel, B.: Version models for software configuration management. ACM Comput. Surv. (CSUR) 30(2), 232–282 (1998)CrossRefGoogle Scholar
  4. 4.
    Kögel, M., Herrmannsdoerfer, M., Li, Y., Helming, J., David, J.: Comparing state- and operation-based change tracking on models. In: Enterprise Distributed Object Computing Conference (EDOC), 2010 14th IEEE, International, pp. 163–172 (2010)Google Scholar
  5. 5.
    Kögel, M., Herrmannsdörfer, 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, vol. 9 (2009)Google Scholar
  6. 6.
    Bellahsene, Z., Bonifati, A., Rahm, E.: Schema Matching and Mapping. Springer, Heidelberg (DE) (2011)zbMATHCrossRefGoogle Scholar
  7. 7.
    Euzenat, J., Shvaiko, P.: Ontology Matching. Springer, Heidelberg (DE) (2007)zbMATHGoogle Scholar
  8. 8.
    Shvaiko, P., Euzenat, J.: A survey of schema-based matching approaches. J. Data Semant. IV, 146–171 (2005)Google Scholar
  9. 9.
    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: Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models. Washington, DC, USA. IEEE Computer Society, pp. 1–6 (2009)Google Scholar
  10. 10.
    Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: An example is worth a thousand words: composite operation modeling by example. In: Model Driven Engineering Languages and Systems (MoDELS). Springer, Berlin/Heidelberg, pp. 271–285 (2009)Google Scholar
  11. 11.
    Lippe, E., Van Oosterom, N.: Operation-based merging. In: Proceedings of the Fifth ACM SIGSOFT Symposium on Software Development Environments. New York, NY, USA. ACM, pp. 78–87 (1992)Google Scholar
  12. 12.
  13. 13.
    Milicev, D.: Model-Driven Development with Executable UML. Wiley (Wrox series), London (2009)Google Scholar
  14. 14.
    Lin, Y., Gray, J., Jouault, F.: DSMDiff: a differentiation tool for domain-specific models. Eur. J. Inf. Syst. 16(4), 349–361 (2007)CrossRefGoogle Scholar
  15. 15.
    Eclipse Modeling Framework Compare Project. http://www.eclipse.org/emf/compare/
  16. 16.
    Treude, C., Berlik, S., Wenzel, S., Kelter, U.: Difference computation of large models. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 295–304 (2007)Google Scholar
  17. 17.
    Curino, C., Moon, J., Ham, M., Zaniolo, C.: The PRISM workbench: database schema evolution without tears. In: ICDE’09. IEEE 25th International Conference on Data Engineering, 2009. IEEE, pp. 1523–1526 (2009)Google Scholar
  18. 18.
    Moon, H.J., Curino, C.A., Deutsch, A., Hou, C.Y., Zaniolo, C.: Managing and querying transaction-time databases under schema evolution. Proc. VLDB Endow. 1(1), 882–895 (2008)CrossRefGoogle Scholar
  19. 19.
    Barnes, J.M.: Object-relational mapping as a persistence mechanism for object-oriented applications. Honors projects. Paper 6 (2007)Google Scholar
  20. 20.
    Ambler, S.W.: Mapping objects to relational databases: O/R mapping in detail. (2006). http://www.agiledata.org/essays/mappingObjects.html
  21. 21.
    Bernstein, P.A., Madhavan, J., Rahm, E.: Generic schema matching, ten years later. Proc. VLDB Endow. 4(11), 695–701 (2011)Google Scholar
  22. 22.
    Xing, Z., Stroulia, E.: UMLDiff: an algorithm for object-oriented design differencing. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, pp. 54–65 (2005)Google Scholar
  23. 23.
    Girschick, M.: Difference Detection and Visualization in UML Class Diagrams. Technical report TUD-CS-2006-5, TU Darmstadt (2006)Google Scholar
  24. 24.
    Kelter, U., Wehren, J., Niere, J.: A generic difference algorithm for UML models. Softw. Eng. 64, 105–116 (2005)Google Scholar
  25. 25.
    Falconer, S.M., Noy, N.F.: Interactive techniques to support ontology matching. In: Bellahsene, Z., Bonifati, A., Rahm, E. (eds.) Schema Matching and Mapping, pp. 29–52. Springer, Berlin (2011)Google Scholar
  26. 26.
    Do, H.H., Rahm, E.: Matching large schemas: approaches and evaluation. Inf. Syst. 32(6), 857–885 (2007)Google Scholar
  27. 27.
    Falconer, S.M., Storey, M.A.: A cognitive support framework for ontology mapping. In: Proceedings of International Semantic Web Conference (ISWC 2007), pp. 114–127. Busan, Korea (2007)Google Scholar
  28. 28.
    Noy, N.F., Musen, M.A.: The PROMPT suite: interactive tools for ontology merging and mapping. Int. J. Hum.-Comput. Stud. 59(6), 983–1024 (2003)CrossRefGoogle Scholar
  29. 29.
    Lanzenberger, M., Sampson, J.: Alviz—a tool for visual ontology alignment. In: Proceedings of the Conference on Information Visualization, pp. 430–440. London. IEEE Computer Society, Washington, DC (2006)Google Scholar
  30. 30.
  31. 31.
    Alexe, B., Chiticariu, L., Miller, R.J., Pepper, D., Tan, W.C.: Muse: a system for understanding and designing mappings. In: Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data, pp. 1281–1284 (2008)Google Scholar
  32. 32.
    Miller, R.J., Hernandez, M.A., Haas, L.M., Yan, L.L., Ho, C.T.H., Fagin, R., Popa, L.: The Clio project: managing heterogeneity. SIGMOD Rec. 30(1), 78–83 (2001)CrossRefGoogle Scholar
  33. 33.
    Rivera, J., Vallecillo, A.: Representing and operating with model differences. In: Proceedings of Objects, Components, Models and Patterns: 46th International Conference TOOLS EUROPE. Springer, PNBIP 11, pp. 141–160 (2008)Google Scholar
  34. 34.
    Hartung, M., Terwilliger, J., Rahm, E.: Recent advances in schema and ontology evolution. In: Bellahsene, Z., Bonifati, A., Rahm, E. (eds.) Schema Matching and Mapping, pp. 149–190. Springer, Berlin (2011)Google Scholar
  35. 35.
  36. 36.
    Dewson, R.: SQL Server Management Studio. In: Gennick, J., Castro, A., Fox, M. (eds.) Beginning SQL Server 2012 for Developers, pp. 31–49. Apress, New York (2012) Google Scholar
  37. 37.
    Database version control with IBM Optim Database Administrator V2.2. http://www.ibm.com/developerworks/data/library/techarticle/dm-0704henry/index.html
  38. 38.
    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
  39. 39.
    Vermolen, S.D., Visser, E.: Heterogeneous coupled evolution of software languages. In: MODELS ’08, vol. 5301 of LNCS, pp. 630–644. Springer (2008)Google Scholar
  40. 40.
  41. 41.
  42. 42.
    Terwilliger, J.F., Bernstein, P.A., Unnithan, A.: Worry-free database upgrades: automated model-driven evolution of schemas and complex mappings. In: Special Interest Group on Management of Data (SIGMOD): Proceedings of the 2010 ACM SIGMOD International Conference on Management of data, ACM, pp. 1191–1194 (2010)Google Scholar
  43. 43.
    Terwilliger, J.F., Bernstein, P.A., Unnithan, A.: Automated co-evolution of conceptual models, physical databases, and mappings. In: Lecture Notes in Computer Science, vol. 6412/2010, pp. 146–159 (2010)Google Scholar
  44. 44.
  45. 45.
    Cicchetti, A., Ruscio, D.D., Iovino, L., Pierantonio, A.: Managing the evolution of data-intensive web applications by model-driven techniques. Softw. Syst. Model. 12(1), 53–83 (2013)CrossRefGoogle Scholar
  46. 46.
    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
  47. 47.
    Hainaut, J.L.: The Transformational approach to database engineering. Generative and transformational techniques in software engineering (GTTSE). In: Lecture Notes in Computer Science, vol. 4143, pp. 95–143 (2006)Google Scholar
  48. 48.
    Domínguez, 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
  49. 49.
    Rose, L.M., Paige, R.F., Kolovos, D.S., Polack, F.A.: An analysis of approaches to model migration. In: Proceedings of the Joint MoDSE-MCCM Workshop, pp. 6–15 (2009)Google Scholar
  50. 50.
    Del Fabro, M.D., Valduriez, P.: Semi-automatic model integration using matching transformations and weaving models. In: Proceedings of the 2007 ACM Symposium on Applied Computing, pp. 963–970, ACM (2007)Google Scholar
  51. 51.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: ECOOP 2007-Object-Oriented Programming, Springer, Berlin, Heidelberg, pp. 600–624 (2007)Google Scholar
  52. 52.
    Specification, MOF QVT Final Adopted. OMG document 05-11-01 (2005)Google Scholar
  53. 53.
    Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: EDOC ’O8: Proceedings of the 12th IEEE International EDOC Conference, München, Germany (2008)Google Scholar
  54. 54.
    Vermolen, S.D., Wachsmuth, G., Visser, E.: Reconstructing complex metamodel evolution. In: Software Language Engineering, pp. 201–221. Springer, Berlin, Heidelberg (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.School of Electrical EngineeringUniversity of BelgradeBelgradeSerbia

Personalised recommendations