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
fDate :
Sept. 29 2014-Oct. 3 2014
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;
Conference_Titel :
Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
Conference_Location :
Victoria, BC
DOI :
10.1109/ICSME.2014.94