Skip to main content
Log in

Unique identification of elements in evolving software models

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

Abstract

Evolving models are often managed in file-based software configuration management systems. This causes the identification problem: if the model elements are not assigned with globally unique identifiers, we cannot identify them over time. However, if such identifiers would be given, they can be misleading because the elements to which they are assigned might change completely. As a consequence, evolution becomes incomprehensible, partial transformation is hampered, and sufficient management of inter-model relationships (e.g. traceability links) is impeded. This article presents an approach to identify model elements or even complete model fragments over time. It establishes a fine-grained history representation to describe model evolution. The representation contains identification links between the elements of different model revisions allowing us to identify elements of a given revision in other revisions or variants of the model. Due to the explicit expression of model evolution, it further enables the capturing of changes that have been applied to the fine-grained elements inside a model.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

Notes

  1. Kelter and Schmidt [22] also defines a symmetric difference which denotes a set of unchanged elements and two inserting transformations. Here we only use the asymmetric definition of a difference.

  2. This can be the case if a model element has been copied so that the descendant revision contains duplicates.

  3. www.mysql.com.

  4. www.eclipse.org/uml2.

  5. www.mathworks.com/products/simulink.

  6. www.eclipse.org/modeling/emf.

References

  1. Aizenbud-Reshef, N., Nolan, B.T., Rubin, J., Shaham-Gafni, Y.: Model traceability. IBM Syst. J. 45(3), 515–525 (2006)

    Article  Google Scholar 

  2. Alanen, M., Porres, I.: Difference and union of models. In: UML 2003—The Unified Modeling Language. Lecture Notes in Computer Science, vol. 2863, pp. 2–17. Springer, Berlin, October 2003

  3. Amar, B., Leblanc, H., Coulettee, B.: A traceability engine dedicated to model transformation for software engineering. In: Proceedings of the ECMDA Traceability Workshop (ECMDA-TW) 2008 (2008)

  4. Antoniol, G., Canfora, G., Casazza, G., De Lucia, A., Merlo, E.: Recovering traceability links between code and documentation. IEEE Trans. Softw. Eng. 28(10), 970–983 (2002)

    Article  Google Scholar 

  5. Antoniol, G., Guéhéneuc, Y.-G., Merlo, E., Tonella, P.: Mining the Lexicon used by programmers during software evolution. In: Proceedings of the 23rd International Conference on Software Maintenance (ICSM’07), pp. 14–23, October 2007

  6. Babich, W.A.: Software Configuration Management: Coordination for Team Productivity. Addison-Wesley (1986)

  7. Bendix, L., Emanuelsson, P.: Diff and merge support for model based development. In: Proceedings of the 2008 International Workshop on Comparison and Versioning of Software Models (CVSM’08), pp. 31–34, May 2008

  8. Bruegge, B., Dutoit, A.H., Wolf, T.: Sysiphus: enabling informal collaboration in global software development. In: Proceedings of the First International Conference on Global Software Engineering (ICGSE’06), October 2006

  9. Cleland-Huang, J., Chang, C.K., Christensen, M.: Event-based traceability for managing evolutionary change. IEEE Trans. Softw. Eng. 29(9), 796–810 (2003)

    Article  Google Scholar 

  10. Colombo, P., Del Bianco, V., Lavazza, L.: Fine-grained integrated management of software configurations and traceability relations. In: Proceedings of the 3rd International Conference on Software and Data Technologies (ICSOFT’08), pp. 159–164. INSTICC Press (2008)

  11. De Lucia, A., Fasano, F., Oliveto, R., Tortora, G.: ADAMS re-trace: a traceability recovery tool. In: Proceedings of 9th European Conference on Software Maintenance and Reengineering (CSMR’05), pp. 32–41 (2005)

  12. Eclipse Foundation: EMF Connected Data Objects (CDO). http://wiki.eclipse.org/index.php/CDO (2010)

  13. Farail, P., Gaufillet, P., Canals, A., Le Camus, C., Sciamma, D., Michel, P., Cregut, X., Pantel, M.: The TOPCASED project: a Toolkit in Open source for Critical Aeronautic SystEms Design. In: Proceedings of the 3rd Embedded Real Time Software Conference (ERTS’06), January 2006

  14. Fogel, K., Bar, M.: Open Source Development with CVS. Paraglyph Press (2003)

  15. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, New York (1999)

    Google Scholar 

  16. Girschick, M.: UMLDiff: Erkennung und Analyse von Unterschieden in Klassendiagrammen und Sequenzdiagrammen. Diploma Thesis (German), Technical University of Darmstadt (2002)

  17. Godfrey, M.W., Tu, Q.: Tracking structural evolution using origin analysis. In: Proceedings of the International Workshop on Principles of Software Evolution (IWPSE’02), May 2002

  18. Godfrey, M.W., Zou, L.: Using origin analysis to detect merging and splitting of source code entities. IEEE Trans. Softw. Eng. 31(2). February 2005

  19. Gorek, G.-D.: Untersuchungen zum Abgleich vager Modelle in der Systemanalyse. Diploma Thesis (German), University of Siegen (2010)

  20. Jouault, F.: Loosely coupled traceability for ATL. In: Proceedings of the ECMDA Traceability Workshop (ECMDA-TW) 2005, pp. 29–37 (2005)

  21. Kehrer, T., Ihler, E.: Process-integrated refinement patterns in UML. In: Proceedings of the 21st International Conference on Software & Systems Engineering and their Applications (ICSSEA’08) (2008)

  22. Kelter, U., Schmidt, M.: Comparing state machines. In: Proceedings of the 2008 International Workshop on Comparison and Versioning of Software Models (CVSM’08), May 2008

  23. Kelter, U., Wehren, J., Niere, J.: A generic difference algorithm for UML models. In: Proceedings of Software Engineering, pp. 105–116, March 2005

  24. Kögel, M.: Towards software configuration management for unified models. In: Proceedings of the 2008 International Workshop on Comparison and Versioning of Software Models (CVSM’08) (2008)

  25. 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 First International Workshop on Global Integrated Model Management Co-Located with ICSE (GAMMA’06), May 2006

  26. Kolovos, D.S., Di Ruscio, D., Paige, R.F., Pierantonio, A.: Different models for model matching: an analysis of approaches to support model differencing. In: Proceedings of 2nd Workshop on Comparison and Versioning of Software Models (CVSM’09). IEEE Computer Society, May 2009

  27. Könemann, P.: Model-independent differences. In: Proceedings of 2nd Workshop on Comparison and Versioning of Software Models (CVSM’09), pp. 37–42. IEEE Press, May 2009

  28. Lin, Y., Gray, J., Jouault, F.: DSMDiff: a differentiation tool for domain-specific models. Eur. J. Inf. Syst. 16(4), 349–361 (2007)

    Google Scholar 

  29. Mäder, P., Gotel, O.C.Z., Philippow, I.: Enabling automated traceability maintenance by recognizing development activities applied to models. In: Proceedings of 23rd International Conference on Automated Software Engineering (ASE’08), September 2008

  30. Maletic, J.I., Collard, M.L., Simoes, B.: An XML based approach to support the evolution of model-to-model traceability links. In: Proceedings of the 3rd ACM International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE’05), November 2005

  31. Marcus, A., Maletic, J.I.: Recovering documentation-to-source-code traceability links using latent semantic indexing. In: Proceedings of the 27th International Conference on Software Engineering (ICSE’05), pp. 125–135 (2005)

  32. Mehra, A., Grundy, J.C., Hosking, J.G.: A generic approach to supporting diagram differencing and merging for collaborative design. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005), pp. 204–213. ACM, New York, November 2005

  33. Melnik, S., Garcia-Molina, H., Rahm, E.: Similarity flooding: a versatile graph matching algorithm and its application to schema matching. In: Proceedings of the 18th International Conference on Data Engineering (ICDE) (2002)

  34. Murta, L.G.P., Chessman, C., Prudencio, J.G., Werner, C.M.L.: Towards Odyssey-VCS 2: improvements over a UML-based version control system. In: Proceedings of the 2008 International Workshop on Comparison and Versioning of Software Models (CVSM’08), May 2008

  35. Murta, L.G.P., van der Hoek, A., Werner, C.M.L.: Continuous and automated evolution of architecture-to-implementation traceability links. Autom. Softw. Eng. 15(1), 75–107 (2008)

    Article  Google Scholar 

  36. Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: Proceedings of the 29th International Conference on Software Engineering (ICSE’07), pp. 54–64. IEEE Computer Society (2007)

  37. Object Management Group: http://www.omg.org/spec/OCL/2.2/ (2010)

  38. Ohst, D., Welle, M., Kelter, U.: Difference tools for analysis and design documents. In: Proceedings of the 19th International Conference on Software Maintenance (ICSM 2003), pp. 13–22. IEEE Computer Society, September 2003

  39. Oliveira, H.L.R., Murta, L.G.P., Werner, C.M.L.: Odyssey-VCS: a flexible version control system for UML model elements. In: Proceedings of the 12th International Workshop on Software Configuration Management (SCM’05), pp. 1–16, September 2005

  40. Pilato, C.M., Collins-Sussman, B., Fitzpatrick, B.W.: Version Control with Subversion. O’Reilly (2008)

  41. Reddy, R., France, R., Ghosh, S., Fleurey, F., Baudry, B.: Model composition—a signature-based approach. In: Proceedings of Aspect Oriented Modeling (AOM) Workshop Associated to MoDELS’05, October 2005

  42. Rho, J., Wu, C.: An efficient version model of software diagrams. In: Proceedings of the Fifth Asia Pacific Software Engineering Conference (APSEC’98), pp. 236–243, December 1998

  43. Schmidt, M., Gloetzner, T.: Constructing difference tools for models using the SiDiff framework. In: Proceedings of the 30th International Conference on Software Engineering (ICSE’08), 947f, May 2008

  44. Schneider, C.: CoObRA: Eine Plattform zur Verteilung und Replikation komplexer Objektstrukturen mit optimistischen Sperrkonzepten. PhD thesis (in German), University of Kassel, Germany, December 2007

  45. Schwarz, H., Ebert, J., Winter, A.: Graph-based traceability: a comprehensive approach. Softw. Syst. Model. 9(4), 473–492 (2010)

    Article  Google Scholar 

  46. Selonen, P., Kettunen, M.: Metamodel-based inference of inter-model correspondence. In: Proceedings of 11th European Conference on Software Maintenance and Reengineering (CSMR’07), pp. 71–80, March 2007

  47. IEEE Computer Society: Mining Software Repositories—Working-Conference Series. http://msrconf.org

  48. Spanoudakis, G., Zisman, A.: Software traceability: a Roadmap. In: Handbook of Software Engineering and Knowledge Engineering, vol. 3. Recent Advances, pp. 395–428. World Scientific, Singapore (2005)

  49. Treude, C., Berlik, S., Wenzel, S., Kelter, U.: Difference computation of large models. In: Proceedings of 6th Joint Meeting of ESEC/FSE 2007, pp. 295–304, September 2007

  50. Vanhooff, B., van Baelen, S., Joosen, W., Berbers, Y.: Traceability as input for model transformations. In: Proceedings of the ECMDA Traceability Workshop (ECMDA-TW) 2007, pp. 37–46 (2007)

  51. von Knethen, A.: Change-oriented requirements traceability: support for evolution of embedded systems. In: Proceedings of the International Conference on Software Maintenance (ICSM’02), pp. 482–485 (2002)

  52. Wenzel, S.: Scalable visualization of model differences. In: Proceedings of the 2008 International Workshop on Comparison and Versioning of Software Models (CVSM’08), pp. 41–46, May 2008

  53. Wenzel, S., Hutter, H., Kelter, U.: Tracing model elements. In: Proceedings of the 23rd International Conference on Software Maintenance (ICSM’07), pp. 104–113. IEEE Computer Society, October 2007

  54. Wenzel, S., Kelter, U.: Analyzing model evolution. In: Proceedings of the 30th International Conference on Software Engineering (ICSE’08), pp. 831–834 (2008)

  55. Winkler, S., von Pilgrim, J.: A survey of traceability in requirements engineering and model driven development. Softw. Syst. Model. 9(4), 529–565 (2010)

    Article  Google Scholar 

  56. Xing, Z., Stroulia, E.: Analyzing the evolutionary history of the logical design of object-oriented software. IEEE Trans. Softw. Eng. 31(10), 850–868 (2005)

    Article  Google Scholar 

  57. 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 (ASE’05), pp. 54–65. ACM Press, November 2005

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sven Wenzel.

Additional information

Communicated by Dr. D. Tamzalit, B. Schätz, D. Deridder and A. Pierantonio.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wenzel, S. Unique identification of elements in evolving software models. Softw Syst Model 13, 679–711 (2014). https://doi.org/10.1007/s10270-012-0311-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-012-0311-7

Keywords

Navigation