Refactoring of Statecharts

被引:0
|
作者
Abadi, Moria [1 ]
Feldman, Yishai A. [2 ]
机构
[1] Tel Aviv Univ, Tel Aviv, Israel
[2] IBM Haifa Res Lab, Haifa, Israel
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Statecharts are an important tool for specifying the behavior of reactive systems, and development tools can automatically generate object-oriented code from them. As the system is refactored, it is necessary to modify the associated statecharts as well, performing operations such as grouping or ungrouping states, extracting part of a statechart into a separate class, and merging states and transitions. Refactoring tools embedded in object-oriented development environments are making it much easier for developers to modify their programs. However, tool support for refactoring statecharts does not yet exist. As a result, developers avoid making certain changes that are too difficult to perform manually, even though design quality deteriorates. Methodologically, statecharts were meant to enable a systems engineer to describe a complete system, which would then be refined into a concrete implementation (object-oriented or other). This process is not supported by object-oriented development environments, which force each statechart to be specified as part of a class. Automated tool support for refactoring statecharts will also make this kind of refinement possible. This paper describes a case study that shows the usefulness of refactoring support for statecharts, and presents an initial catalog of relevant refactorings. We show that a top-down refinement process helps identify the tasks and classes in a natural way.
引用
收藏
页码:50 / +
页数:3
相关论文
共 50 条
  • [21] A COMPOSITIONAL AXIOMATIZATION OF STATECHARTS
    HOOMAN, JJM
    RAMESH, S
    DEROEVER, WP
    [J]. THEORETICAL COMPUTER SCIENCE, 1992, 101 (02) : 289 - 335
  • [22] Hybrid MARTE statecharts
    Liu, Jing
    Liu, Ziwei
    He, Jifeng
    Mallet, Frederic
    Ding, Zuohua
    [J]. FRONTIERS OF COMPUTER SCIENCE, 2013, 7 (01) : 95 - 108
  • [23] Refactoring
    Ralf Reißing
    [J]. Informatik-Spektrum, 1999, 22 (3) : 210 - 211
  • [24] Refactoring
    Fowler, M
    [J]. TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS - TOOLS 34, PROCEEDINGS, 2000, : 437 - 437
  • [25] Refactoring as a Lifeline: Lessons Learned from Refactoring
    Abdel-Hamid, Amr Noaman
    [J]. 2013 AGILE CONFERENCE (AGILE), 2013, : 129 - 136
  • [26] Refactoring Inspection Support for Manual Refactoring Edits
    Alves, Everton L. G.
    Song, Myoungkyu
    Massoni, Tiago
    Machado, Patricia D. L.
    Kim, Miryung
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (04) : 365 - 383
  • [27] Refactoring Graphs: Assessing Refactoring over Time
    Brito, Aline
    Hora, Andre
    Valente, Marco Tulio
    [J]. PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 367 - 377
  • [28] Manual Refactoring Changes with Automated Refactoring Validation
    Ge, Xi
    Murphy-Hill, Emerson
    [J]. 36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014), 2014, : 1095 - 1105
  • [29] Semantics of UML statecharts in PVS
    Aredo, DB
    [J]. 7TH WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL IX, PROCEEDINGS: COMPUTER SCIENCE AND ENGINEERING: II, 2003, : 77 - 82
  • [30] Executable object modeling with statecharts
    Harel, D
    Gery, E
    [J]. PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1996, : 246 - 257