COEVOLUTION PATTERNS TO DETECT AND MANAGE UML DIAGRAMS CHANGES

Authors

  • Bassam Atieh Rajabi
  • Sai Peck Lee

DOI:

https://doi.org/10.47839/ijc.18.4.1617

Keywords:

Coevolution, Patterns, UML, Coloured Petri Nets, Software Change.

Abstract

UML diagrams are divided into different perspectives in modelling a problem domain. Preserving coevolution among these diagrams is very crucial so that they can be updated continuously to reflect software changes. Formal methods such as Coloured Petri Nets (CPNs) are widely used in detecting and handling coevolution between software artifacts. Although ample progress has been made, it still remains much work to be done in further improving the effectiveness and accuracy of the state-of-the-art coevolution techniques in managing changes in UML diagrams. In this research, a set of 84 coevolution patterns for supporting coevolution among UML diagrams are proposed to trace the diagrams’ inconsistencies and to determine the change impact incrementally after updating diagrams elements. Coevolution patterns are applied to UML class, object, activity, statechart, and sequence diagrams to cover the different perspectives of UML diagrams. The researcher uses CPNs as a formal language of modelling case study models for the proposed patterns. CPNs tools simulation and monitoring toolboxes are used to validate and monitor the proposed coevolution patterns models and to collect quantitative data about the patterns.

References

E. Gamma, et al., Design Patterns: Rlements of Reusable Object Oriented Software,: Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA, 1995.

E. Gamma, et al., Design patterns: Abstraction and Reuse of Object-oriented Design, Springer, 2001.

I. Côté, and M. Heisel, “Supporting evolution by models, components, and patterns,” Proceedings of the 1 Workshop des GI-Arbeitskreises Langlebige Softwaresysteme (L2S2): “Design for Future – Langlebige Softwaresysteme”, 2009, pp. 39-51.

B. Zamani, and G. Butler, “Pattern language verification in model driven design,” Information Sciences, vol. 237, pp. 343-355, 2013.

A.A. Abbasi, A Pattern Language for Evolution Reuse in Component-based Software Architectures,” Dublin City University, 2015.

P. Sapna, and H. Mohanty, “Ensuring consistency in relational repository of UML models,” Proceedings of the 10th IEEE International Conference on Information Technology, (ICIT'2007), 2007, pp. 217-222.

S. Lehnert, A Review of Software Change Impact Analysis, Ilmenau University of Technology, Tech. Rep, 2011.

A. Khalil, and J. Dingel, Supporting the Evolution of UML Models in Model Driven Software Development: A Survey, School of Computing, Queen’s University, Technical Report 2013-602, 2013.

A. Egyed, “Automatically detecting and tracking inconsistencies in software design models,” IEEE Transactions on Software Engineering, vol. 37, issue 2, pp. 188-204, 2011.

A. Egyed, et al., “Maintaining consistency across engineering artifacts,” Computer, vol. 51, issue 2, pp. 28-35, 2018.

M. Elaasar, and L. Briand, An Overview of UML Consistency Management, Carleton University, Canada, Technical Report SCE-04-18, 2004.

A. Sharaff, “A methodology for validation of OCL constraints using coloured Petri nets,” International Journal of Scientific & Engineering Research, vol. 4, no. 1, pp. 1-6, 2013.

J.P. Puissant, Resolving Inconsistencies in Model-Driven Engineering using Automated Planning, PhD thesis, University de Mons, 2012.

F.J. Lucas, F. Molina, and A. Toval, “A systematic review of UML model consistency management,” Information and Software Technology, vol. 51, issue 12, pp. 1631-1645, 2009.

M. Langhammer, “Co-evolution of component-based architecture-model and object-oriented source code,” Proceedings of the 18th International Doctoral Symposium on Components and Architecture, 2013, pp. 37-42.

J. García, O. Diaz, and M. Azanza, “Model transformation co-evolution: A semi-automatic approach,” Software Language Engineering, Springer, 2013, pp. 144-163.

Z. Protic, Configuration Management for Models: Generic Methods for Model Comparison and Model Co-evolution, PhD Thesis, Eindhoven University of Technology, Eindhoven, The Netherlands, 2011.

A. Kusel, et al., “Systematic co-evolution of OCL expressions,” Proceedings of the 11th Asia-Pacific Conference on Conceptual Modelling (APCCM 2015), Sydney, Australia, 27-30 January 2015, pp. 33-42.

A. Demuth, et al., “Co-evolution of metamodels and models through consistent change propagation,” Journal of Systems and Software, vol. 111, pp. 281-297, 2016.

D. Torre, et al., “A systematic identification of consistency rules for UML diagrams,” Journal of Systems and Software, vol. 144, pp. 121-142, 2018.

B.A. Rajabi, and S.P. Lee, “Change management technique for supporting object oriented diagrams changes,” Computer Systems Science and Engineering, vol. 32, no. 1, pp. 49-63, 2017.

B.A. Rajabi, and S.P. Lee, “Consistent integration between object oriented and coloured Petri nets models,” The International Arab Journal of Information Technology, vol. 11, issue 4, pp. 406-415, 2014.

B.A. Rajabi, and L. Sai Peck, “Change management framework to support UML diagrams changes,” The International Arab Journal of Information Technology, vol. 16, issue 4, pp. 720-730, 2019.

Downloads

Published

2019-12-31

How to Cite

Rajabi, B. A., & Lee, S. P. (2019). COEVOLUTION PATTERNS TO DETECT AND MANAGE UML DIAGRAMS CHANGES. International Journal of Computing, 18(4), 471-482. https://doi.org/10.47839/ijc.18.4.1617

Issue

Section

Articles