Evolutionary Metamodeling.

semanticscholar(2011)

引用 23|浏览3
暂无评分
摘要
Model-based software development promises to increase productivity and quality through domain-specific modeling languages. In response, modeling languages are receiving increased adoption in industry. With the integration of modeling languages into industrial development practice, their maintenance is gaining importance. Like software, modeling languages and thus their metamodels are subject to evolution due to changing requirements. When a metamodel is adapted to the new requirements, existing models may no longer conform to it. To be able to use the existing models with the evolved modeling language, they need to be migrated. Support for model migration in response to metamodel adaptation faces two challenges. First, to reduce migration effort, the model migration needs to be automated as far as possible. However, there is no empirical knowledge about the extent to which model migration can be automated in practice. Second, the model migration needs to ensure that the meaning of a possibly unknown set of models is preserved. However, existing approaches require to specify the migration after the complete metamodel adaptation, thereby losing the intention behind the changes. This thesis contributes to both challenges. First, to determine the potential for automating model migration in practice, we performed an empirical study on the histories of two industrial metamodels. The study showed that models can be migrated automatically in practice. Moreover, we found out that effort can be significantly reduced by reuse of recurring migrations, while expressiveness is required to define custom migrations. Second, we present our novel method COPE that provides the desired level of reuse and expressiveness. To not lose the intention behind the metamodel changes, COPE records the model migration together with the metamodel adaptation—we call this the coupled evolution of metamodels and models. COPE records the coupled evolution as a sequence of coupled operations in an explicit history model. Each coupled operation encapsulates both metamodel adaptation as well as reconciling model migration. Recurring coupled operations can be reused through a library to significantly reduce migration effort. Expressiveness is provided by custom coupled operations which need to be specified manually. Using the history model, existing models can be automatically migrated to the adapted version of the metamodel. To demonstrate the applicability of COPE in practice, we used it in six real-life case studies to automate model migration in response to metamodel adaptation. We applied COPE to reverse engineer the coupled evolution, used it to directly evolve a modeling language, and compared it to other model migration and transformation tools. All the case studies show that more than 95% of the coupled evolution can be covered by reusable coupled operations and that only very few custom migrations are required. Moreover, the comparison case studies indicate that recording the changes in a history model is more likely to lead to a semantics-preserving model migration than specifying the migration after the changes occurred. Finally, the case studies revealed that COPE supports an evolutionary process for developing a modeling language. To show that, we propose methods to recommend operations for metamodel improvement by analyzing the built models and to extend the operations to also adapt the semantics definition of the modeling language.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要