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 条
  • [21] Categorical limits and reuse of algebraic specifications
    Cafezeiro, I
    Haeusler, EH
    [J]. ADVANCES IN LOGIC, ARTIFICIAL INTELLIGENCE AND ROBOTICS, 2002, 85 : 216 - 223
  • [22] Refactoring to improve the understandability of specifications written in object constraint language
    Correa, A.
    Werner, C.
    Barros, M.
    [J]. IET SOFTWARE, 2009, 3 (02) : 69 - 90
  • [23] Automatic Clone Recommendation for Refactoring Based on the Present and the Past
    Yue, Ruru
    Gao, Zhe
    Meng, Na
    Xiong, Yingfei
    Wang, Xiaoyin
    Morgenthaler, J. David
    [J]. PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2018, : 115 - 126
  • [24] Proactive Clone Recommendation System for Extract Method Refactoring
    Yoshida, Norihiro
    Numata, Seiya
    Choi, Eunjong
    Inoue, Katsuro
    [J]. 2019 IEEE/ACM 3RD INTERNATIONAL WORKSHOP ON REFACTORING (IWOR 2019), 2019, : 67 - 70
  • [26] A case study in refactoring a legacy component for reuse in a product line
    Kolb, R
    Muthig, D
    Patzke, T
    Yamauchi, K
    [J]. ICSM 2005: PROCEEDINGS OF THE 21ST IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2005, : 369 - 378
  • [27] Reuse of formal specifications through default theories
    Veloso, SRM
    da Silva, JCP
    [J]. IC-AI'2000: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, VOL 1-III, 2000, : 1293 - 1298
  • [28] Recommending Model Refactoring Rules from Refactoring Examples
    Mokaddem, Chihab Eddine
    Sahraoui, Houari
    Syriani, Eugene
    [J]. 21ST ACM/IEEE INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS (MODELS 2018), 2018, : 257 - 267
  • [29] Evolution and reuse of language specifications for DSLs (ERLS)
    Cleenewerck, T
    Czarnecki, K
    Striegnitz, J
    Völter, M
    [J]. OBJECT-ORIENTED TECHNOLOGY, 2004, 3344 : 187 - 201
  • [30] Using formal specifications for component retrieval and reuse
    Penix, J
    Alexander, P
    [J]. PROCEEDINGS OF THE THIRTY-FIRST HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, VOL III: EMERGING TECHNOLOGIES TRACK, 1998, : 356 - 365