• DocumentCode
    176254
  • Title

    A Heuristic-Based Approach to Refactor Crosscutting Behaviors in UML State Machines

  • Author

    Khan, Muhammad Uzair ; Iqbal, Muhamamd Zohaib ; Ali, Shady

  • Author_Institution
    Software Quality Eng. & Testing Lab. (QUEST), Nat. Univ. of Comput. & Emerging Sci., Islamabad, Pakistan
  • fYear
    2014
  • fDate
    Sept. 29 2014-Oct. 3 2014
  • Firstpage
    557
  • Lastpage
    560
  • Abstract
    UML state machines are commonly used to model the state-based behavior of communication and control systems to support various activities such as test cases and code generation. Standard UML state machines are well suited to model functional behavior, however extra-functional behavior such as robustness and security can also be directly modeled on them, but this often results in cluttered models since extra-functional behaviors are often crosscutting. Such modeling crosscutting behavior directly on UML state machines is a common practice. Aspect-Oriented Modeling (AOM) allows systematically modeling of crosscutting behavior and has shown to provide a scalable solution in the recent years. However, due to lack of familiarity of AOM in both academic and industry, extra-functional behavior is often modeled directly on UML state machines and as a result those UML state machines are difficult to read and maintain. To improve the readability of already developed UML state machines and ease maintenance, we propose a set of heuristics, derived from two industrial cases studies, implemented in a tool to automatically identify commonly observed crosscutting behaviors in UML state machines and refactor them as Aspect State Machines. Such refactoring makes the state machines easier to maintain and comprehend. We present the results of applying our proposed heuristics to the existing UML state machines of two industrial case studies developed for model-based testing.
  • Keywords
    Unified Modeling Language; aspect-oriented programming; finite state machines; software maintenance; UML state machine; aspect state machine; aspect-oriented modeling; heuristic-based approach; refactor crosscutting behavior; state-based behavior; Context; Java; Recycling; Robustness; Saturn; Testing; Unified modeling language; Aspect-Oriented Modeling; Heuristics; Model Refactoring; UML State machine;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
  • Conference_Location
    Victoria, BC
  • ISSN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSME.2014.94
  • Filename
    6976138