...
首页> 外文期刊>Software and systems modeling >On the reuse and recommendation of model refactoring specifications
【24h】

On the reuse and recommendation of model refactoring specifications

机译:关于模型重构规范的重用和推荐

获取原文
获取原文并翻译 | 示例
           

摘要

Refactorings can be used to improve the structure of software artefacts while preserving the semantics of the encapsulated information. Various types of refactorings have been proposed and implemented for programming languages (e.g., Java or C#). With the advent of Model-Driven Software Development (MDSD), a wealth of modelling languages rises and the need for restructuring models similar to programs has emerged. Since parts of these modelling languages are often very similar, we consider it beneficial to reuse the core transformation steps of refactorings across languages. In this sense, reusing the abstract transformation steps and the abstract participating elements suggests itself. Previous work in this field indicates that refactorings can be specified generically to foster their reuse. However, existing approaches can handle certain types of modelling languages only and solely reuse refactorings once per language. In this paper, a novel approach based on role models to specify generic refactorings is presented. Role models are suitable for this problem since they support declaration of roles which have to be played in a certain context. Assigned to generic refactoring, contexts are different refactorings and roles are the participating elements. We discuss how this resolves the limitations of previous works, as well as how specific refactorings can be defined as extensions to generic ones. The approach was implemented in our tool Refactory based on the Eclipse Modeling Framework (EMF) and evaluated using multiple modelling languages and refactorings. In addition, this paper investigates on the recommendation of refactoring specifications. This is motivated by the fact that language designers have many possibilities to enable refactorings in their modelling languages with regard to the language structures. To overcome this problem and to support language designers in deciding which refactorings to enable, we propose a solution and a prototypical implementation.
机译:重构可用于改善软件伪像的结构,同时保留封装信息的语义。对于编程语言(例如,Java或C#),已经提出并实现了各种类型的重构。随着模型驱动软件开发(MDSD)的出现,大量的建模语言应运而生,并出现了对重组类似于程序的模型的需求。由于这些建模语言的某些部分通常非常相似,因此我们认为重用跨语言重构的核心转换步骤是有益的。从这个意义上讲,重用抽象的转换步骤和抽象的参与元素表明了自己。该领域的先前工作表明,重构可以通用地指定以促进其重用。但是,现有方法只能处理某些类型的建模语言,并且每种语言只能重复使用一次重构。在本文中,提出了一种基于角色模型来指定通用重构的新颖方法。角色模型适用于此问题,因为它们支持声明必须在特定上下文中扮演的角色。分配给通用重构的上下文是不同的重构,角色是参与的元素。我们将讨论如何解决先前工作的局限性,以及如何将特定的重构定义为通用重构的扩展。该方法是在我们基于Eclipse建模框架(EMF)的工具Refactory中实现的,并使用多种建模语言和重构进行了评估。另外,本文研究了重构规范的建议。这是由于语言设计人员有很多可能性可以在其建模语言中进行关于语言结构的重构。为了克服这个问题并支持语言设计人员确定启用哪些重构,我们提出了一种解决方案和一种原型实现。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号