Like all software artifacts, metamodels frequently evolve in response to various factors, such as technological advances or changing user requirements. When a metamodel evolves, a simple change can affect all associated artifacts, including models, code generators, transformation rules and consistency constraints. As a result, these artifacts may no longer be compliant. The main challenge is how to adapt and maintain the consistency and conformity of the initial artifacts to the updated metamodel. Several approaches have been proposed, focusing exclusively on model co-evolution during metamodel evolution. In this paper, we propose an approach to address the evolution of the UML Sequence Diagram metamodel. Our approach consists in calculating and analyzing the differences between the initial metamodel and the evolved metamodel. These differences are used to define transformation rules that enable the models to co-evolve. We illustrate our approach with a practical example.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

An Approach for UML Sequence Diagram Models/MetaModels Co-evolution Using Transformation Rules

  • Asma Chouikh,
  • Khaled Khalfaoui,
  • ELHillali Kerkouche,
  • Allaoua Chaoui

摘要

Like all software artifacts, metamodels frequently evolve in response to various factors, such as technological advances or changing user requirements. When a metamodel evolves, a simple change can affect all associated artifacts, including models, code generators, transformation rules and consistency constraints. As a result, these artifacts may no longer be compliant. The main challenge is how to adapt and maintain the consistency and conformity of the initial artifacts to the updated metamodel. Several approaches have been proposed, focusing exclusively on model co-evolution during metamodel evolution. In this paper, we propose an approach to address the evolution of the UML Sequence Diagram metamodel. Our approach consists in calculating and analyzing the differences between the initial metamodel and the evolved metamodel. These differences are used to define transformation rules that enable the models to co-evolve. We illustrate our approach with a practical example.