On the reuse and recommendation of model refactoring specifications

被引:15
|
作者
Reimann, Jan [1 ]
Seifert, Mirko [2 ]
Assmann, Uwe [1 ]
机构
[1] Tech Univ Dresden, Inst Software & Multimediatech, D-01062 Dresden, Germany
[2] DevBoost GmbH, D-10179 Berlin, Germany
来源
SOFTWARE AND SYSTEMS MODELING | 2013年 / 12卷 / 03期
关键词
Generic model refactoring; Role-based refactoring; Refactoring reuse; Refactoring recommendation; Role modelling; TRANSFORMATION;
D O I
10.1007/s10270-012-0243-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 (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 (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.
引用
收藏
页码:579 / 596
页数:18
相关论文
共 50 条
  • [1] On the reuse and recommendation of model refactoring specifications
    Jan Reimann
    Mirko Seifert
    Uwe Aßmann
    [J]. Software & Systems Modeling, 2013, 12 : 579 - 596
  • [2] Analogical reuse of requirements specifications: A computational model
    Spanoudakis, G
    Constantopoulos, P
    [J]. APPLIED ARTIFICIAL INTELLIGENCE, 1996, 10 (04) : 281 - 305
  • [3] Refactoring for reuse: an empirical study
    Alomar, Eman Abdullah
    Wang, Tianjia
    Raut, Vaibhavi
    Mkaouer, Mohamed Wiem
    Newman, Christian
    Ouni, Ali
    [J]. INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2022, 18 (01) : 105 - 135
  • [4] Refactoring for reuse: an empirical study
    Eman Abdullah Alomar
    Tianjia Wang
    Vaibhavi Raut
    Mohamed Wiem Mkaouer
    Christian Newman
    Ali Ouni
    [J]. Innovations in Systems and Software Engineering, 2022, 18 : 105 - 135
  • [5] Refactoring Real-time Specifications
    Smith, Graeme
    McComb, Tim
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2008, 214 (0C) : 359 - 380
  • [6] Changing programs correctly:: Refactoring with specifications
    Bannwart, Fabian
    Mueller, Peter
    [J]. FM 2006: FORMAL METHODS, PROCEEDINGS, 2006, 4085 : 492 - 507
  • [7] Refactoring object-Z specifications
    McComb, T
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, PROCEEDINGS, 2004, 2984 : 69 - 83
  • [8] Refactoring object constraint language specifications
    Correa, Alexandre
    Werner, Claudia
    [J]. SOFTWARE AND SYSTEMS MODELING, 2007, 6 (02): : 113 - 138
  • [9] Refactoring object constraint language specifications
    Alexandre Correa
    Cláudia Werner
    [J]. Software & Systems Modeling, 2007, 6 : 113 - 138
  • [10] Improving Use Case Specifications by Means of Refactoring
    Marcos, C.
    Rago, A.
    Pace, J. A. D.
    [J]. IEEE LATIN AMERICA TRANSACTIONS, 2015, 13 (04) : 1135 - 1140