Software Evolution Based Sequence Diagrams Merging
The need to merge software artifacts seems inherent
to modern software development. Distribution of development over
several teams and breaking tasks into smaller, more manageable
pieces are an effective means to deal with the kind of complexity. In
each case, the separately developed artifacts need to be assembled as
efficiently as possible into a consistent whole in which the parts still
function as described. In addition, earlier changes are introduced into
the life cycle and easier is their management by designers.
Interaction-based specifications such as UML sequence diagrams
have been found effective in this regard. As a result, sequence
diagrams can be used not only for capturing system behaviors but
also for merging changes in order to create a new version. The
objective of this paper is to suggest a new approach to deal with the
problem of software merging at the level of sequence diagrams by
using the concept of dependence analysis that captures, formally, all
mapping, and differences between elements of sequence diagrams
and serves as a key concept to create a new version of sequence
diagram.
[1] T. Mens, “A State-of-the-Art Survey on Software Merging”, IEEE
Trans. on Software Engineering, Vol 28 No 5, pp. 449–462.
[2] P. Brosch, G. Kappel, P. Langer, M. Seidl, K. Wieland, and M.
Wimmer, “An Introduction to Model Versioning”, Proc. Of the 12th
international conference on Formal Methods for the Design of
Computer, Communication, and Software Systems, SFM 2012, Springer-
Verlag Berlin Heidelberg, pp. 336–398.
[3] H. Liang, Z. Diskin, J. Dingel, and E. Posse, “A General Approach for
Scenario Integration”,Proc. ofthe11th International Conference on
Model Driven Engineering Languages and Systems, MoDELS’08, 2008.
[4] E. Ogheneovo, “On the Relationship between Software Complexity and
Maintenance Costs”. Journal of Computer and Communications, vol2,
pp. 1-16, 2014.
[5] D. Ohst, M. Welle, and U. Kelter, “Differences between versions of
UML diagrams”, Proc. of ESEC/FSE-11, pages 227–236, New York,
NY, USA.ACM Press. [6] S. Segura, R. M. Hierons, D. Benavides, and A. Ruiz-Cortes,
“Automated metamorphic testing on the analyses of feature models”.
Information and Software Technology, vol53, No 3, pp.245–258, 2011.
[7] M. Sabetzadeh, S. Nejati, S. Liaskos, S. M. Easterbrook, and M.
Chechik, “Consistency checking of conceptual models via model
merging”. Proc. of Requirement Engineering, RE 2007.IEEE,pp. 221-
230, 2007.
[8] K. Letkeman, “Comparing and Merging UML Models in IBM Rational
Software Architect”, IBM, Aug. 2005.
[9] A. Mehra, J. Grundy, and J. Hosking, “A Generic Approach to
Supporting Diagram Differencing and Merging for Collaborative
Design”, Proc. of the 20th IEEE/ACM International Conference on
Automated Software Engineering, ASE’05, pages 204–213, 2005.
[10] J.A. Stafford, A. L. Wolf, and M. Caporuscio “The Application of
Dependence Analysis to Software Architecture Descriptions”,
3rdInternational School on Formal Methods for the Design of
Computer, Communication and Software Systems: Software
Architectures, SFM 2003, Bertinoro, Italy, September 22-27, pp. 52-62,
2003.
[11] T. Kim, Y. Song, and L. Chung, “Software architecture analysis: a
dynamic slicing approach”, International Journal of Computer &
Information Science, vol 1, no 2, pp. 91-103, 2000.
[12] J. Zhao, “Using dependence analysis to support software architecture
understanding”, CoRR, vol. cs.SE/0105009, 2001.
[13] B. Li, “Managing Dependencies in Component-Based Systems Based on
Matrix Model” Proc. of Net. Object. Days, pp. 22-25, 2003.
[14] B. Li, Y. Zhou, Y. Wang, and J. Mo, “Matrix-based component
dependence representation and its applications in software quality
assurance” SIGPLAN Notices, vol 40, no 11, pp. 29–36, 2005.
[15] J. Lalchandani, “Static Slicing of UML Architectural Models”, Journal
of Object Technology, vol 8, no 1, pp. 159-188, 2009.
[16] S. Kumar, D. P. Mohapatra, “Test Case Generation from Behavioral
UML Models”, International Journal of Computer Applications, vol 6,
no8, September 2010.
[17] Y. Wang, J. DeWitt, and J. Cai, “X -Diff: An Effective Change
Detection Algorithm for XML Documents”, Proc. of19th Intern.
Conference on Data Engineering, India, pp. 519-530.
[18] J. Raymond, E. Gardiner, and P. Willett, “RASCAL: Calculation of
Graph Similarity using Maximum Common Edge Subgraphs”, The
Computer Journal, vol45, no 6, pp. 631-644, 2002.
[19] P. Samuel, R. Mall, “Slicing-Based Test Case Generation from UML
Activity Diagrams”, ACM SIGSOFT Software Engineering Notes, Vol
34 No 6, November 2009.
[1] T. Mens, “A State-of-the-Art Survey on Software Merging”, IEEE
Trans. on Software Engineering, Vol 28 No 5, pp. 449–462.
[2] P. Brosch, G. Kappel, P. Langer, M. Seidl, K. Wieland, and M.
Wimmer, “An Introduction to Model Versioning”, Proc. Of the 12th
international conference on Formal Methods for the Design of
Computer, Communication, and Software Systems, SFM 2012, Springer-
Verlag Berlin Heidelberg, pp. 336–398.
[3] H. Liang, Z. Diskin, J. Dingel, and E. Posse, “A General Approach for
Scenario Integration”,Proc. ofthe11th International Conference on
Model Driven Engineering Languages and Systems, MoDELS’08, 2008.
[4] E. Ogheneovo, “On the Relationship between Software Complexity and
Maintenance Costs”. Journal of Computer and Communications, vol2,
pp. 1-16, 2014.
[5] D. Ohst, M. Welle, and U. Kelter, “Differences between versions of
UML diagrams”, Proc. of ESEC/FSE-11, pages 227–236, New York,
NY, USA.ACM Press. [6] S. Segura, R. M. Hierons, D. Benavides, and A. Ruiz-Cortes,
“Automated metamorphic testing on the analyses of feature models”.
Information and Software Technology, vol53, No 3, pp.245–258, 2011.
[7] M. Sabetzadeh, S. Nejati, S. Liaskos, S. M. Easterbrook, and M.
Chechik, “Consistency checking of conceptual models via model
merging”. Proc. of Requirement Engineering, RE 2007.IEEE,pp. 221-
230, 2007.
[8] K. Letkeman, “Comparing and Merging UML Models in IBM Rational
Software Architect”, IBM, Aug. 2005.
[9] A. Mehra, J. Grundy, and J. Hosking, “A Generic Approach to
Supporting Diagram Differencing and Merging for Collaborative
Design”, Proc. of the 20th IEEE/ACM International Conference on
Automated Software Engineering, ASE’05, pages 204–213, 2005.
[10] J.A. Stafford, A. L. Wolf, and M. Caporuscio “The Application of
Dependence Analysis to Software Architecture Descriptions”,
3rdInternational School on Formal Methods for the Design of
Computer, Communication and Software Systems: Software
Architectures, SFM 2003, Bertinoro, Italy, September 22-27, pp. 52-62,
2003.
[11] T. Kim, Y. Song, and L. Chung, “Software architecture analysis: a
dynamic slicing approach”, International Journal of Computer &
Information Science, vol 1, no 2, pp. 91-103, 2000.
[12] J. Zhao, “Using dependence analysis to support software architecture
understanding”, CoRR, vol. cs.SE/0105009, 2001.
[13] B. Li, “Managing Dependencies in Component-Based Systems Based on
Matrix Model” Proc. of Net. Object. Days, pp. 22-25, 2003.
[14] B. Li, Y. Zhou, Y. Wang, and J. Mo, “Matrix-based component
dependence representation and its applications in software quality
assurance” SIGPLAN Notices, vol 40, no 11, pp. 29–36, 2005.
[15] J. Lalchandani, “Static Slicing of UML Architectural Models”, Journal
of Object Technology, vol 8, no 1, pp. 159-188, 2009.
[16] S. Kumar, D. P. Mohapatra, “Test Case Generation from Behavioral
UML Models”, International Journal of Computer Applications, vol 6,
no8, September 2010.
[17] Y. Wang, J. DeWitt, and J. Cai, “X -Diff: An Effective Change
Detection Algorithm for XML Documents”, Proc. of19th Intern.
Conference on Data Engineering, India, pp. 519-530.
[18] J. Raymond, E. Gardiner, and P. Willett, “RASCAL: Calculation of
Graph Similarity using Maximum Common Edge Subgraphs”, The
Computer Journal, vol45, no 6, pp. 631-644, 2002.
[19] P. Samuel, R. Mall, “Slicing-Based Test Case Generation from UML
Activity Diagrams”, ACM SIGSOFT Software Engineering Notes, Vol
34 No 6, November 2009.
@article{"International Journal of Information, Control and Computer Sciences:71109", author = "Zine-Eddine Bouras and Abdelouaheb Talai", title = "Software Evolution Based Sequence Diagrams Merging", abstract = "The need to merge software artifacts seems inherent
to modern software development. Distribution of development over
several teams and breaking tasks into smaller, more manageable
pieces are an effective means to deal with the kind of complexity. In
each case, the separately developed artifacts need to be assembled as
efficiently as possible into a consistent whole in which the parts still
function as described. In addition, earlier changes are introduced into
the life cycle and easier is their management by designers.
Interaction-based specifications such as UML sequence diagrams
have been found effective in this regard. As a result, sequence
diagrams can be used not only for capturing system behaviors but
also for merging changes in order to create a new version. The
objective of this paper is to suggest a new approach to deal with the
problem of software merging at the level of sequence diagrams by
using the concept of dependence analysis that captures, formally, all
mapping, and differences between elements of sequence diagrams
and serves as a key concept to create a new version of sequence
diagram.", keywords = "System behaviors, sequence diagram merging,
dependence analysis, sequence diagram slicing.", volume = "9", number = "9", pages = "2098-8", }