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 条
  • [31] Evolution and reuse of language specifications for DSLs (ERLS)
    Cleenewerck, T
    Czarnecki, K
    Striegnitz, J
    Völter, M
    OBJECT-ORIENTED TECHNOLOGY, 2004, 3344 : 187 - 201
  • [32] Using formal specifications for component retrieval and reuse
    Penix, J
    Alexander, P
    PROCEEDINGS OF THE THIRTY-FIRST HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, VOL III: EMERGING TECHNOLOGIES TRACK, 1998, : 356 - 365
  • [33] Object oriented reuse through algebraic specifications
    Favre, L
    TOOLS 28: TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES, PROCEEDINGS, 1998, 28 : 101 - 112
  • [34] A reuse-oriented framework for hierarchical specifications
    Coudert, S
    Le Gall, P
    ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, PROCEEDINGS, 2000, 1816 : 438 - 453
  • [35] TRex - The refactoring and metrics tool for TTCN-3 test specifications
    Baker, Paul
    Evans, Dominic
    Grabowski, Jens
    Neukirchen, Helmut
    Zeiss, Benjamin
    TAIC PART - TESTING: ACADEMIC & INDUSTRIAL CONFERENCE - PRACTICE AND RESEARCH TECHNIQUES, PROCEEDINGS, 2006, : 90 - +
  • [36] Requirements-driven Reuse Recommendation
    Abbas, Muhammad
    Saadatmand, Mehrdad
    Enoiu, Eduard Paul
    SPLC '21: PROCEEDINGS OF THE 25TH ACM INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL A, 2021,
  • [37] Interactive and Guided Architectural Refactoring with Search-Based Recommendation
    Lin, Yun
    Peng, Xin
    Cai, Yuanfang
    Dig, Danny
    Zheng, Diwen
    Zhao, Wenyun
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 535 - 546
  • [38] Refactoring a legacy component for reuse in a software product line: a case study
    Kolb, R
    Muthig, D
    Patzke, T
    Yamauchi, K
    JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE, 2006, 18 (02): : 109 - 132
  • [39] An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse Tasks
    Fleming, Scott D.
    Scaffidi, Chris
    Piorkowski, David
    Burnett, Margaret
    Bellamy, Rachel
    Lawrance, Joseph
    Kwan, Irwin
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2013, 22 (02)
  • [40] Need for Direct and Indirect Potable Water Reuse Specifications
    Cotruvo, Joseph A.
    Bell, Katherine Y.
    JOURNAL AMERICAN WATER WORKS ASSOCIATION, 2014, 106 (02): : 28 - 30