Studying the Understandability of Aspect State Machines Through the Weaving Activity

Shaukat Ali,Tao Yue
DOI: https://doi.org/10.1109/apsec.2012.104
2012-01-01
Abstract:Aspect-oriented Modeling (AOM) is a relatively recent, very active field of research and is assumed to yield several potential benefits such as enhanced modularization, easier evolution, increased reusability, and improved readability and understandability of models, as well as reduced modeling effort. However, credible, solid empirical evidence of such benefits is very rare. In this paper, we evaluate the understandability of state machines, when modeling crosscutting behavior using AOM and more specifically AspectSM, a UML profile extending the UML state machine notation to provide mechanisms to define aspects using state machines. With AspectSM, crosscutting behavior is modeled using so-called aspect state machines, which are woven into a base state machine (modeling core functionality) to produce a woven state machine. Modeling aspect state machines separately from the base state machine no doubt offers several abovementioned benefits but on the other hand poses extra challenges for a modeler to understand them because of implicit interactions between both aspect and base state machines. This paper reports a study, which was specifically designed to evaluate the understandability of aspect state machines. The understandability of aspect state machines in conjunction with a base state machine is evaluated by comparing woven state machines produced by subjects (subject woven state machines) with the woven state machines automatically generated by our weaver (reference woven state machines). Understandability is measured from the aspects of Completeness and Redundancy of a subject's woven state machine when compared with the corresponding reference woven state machine. Results of the study show that on average, we observed completeness of 71%, whereas we observed approximately 6% of redundancy. We also observed that subjects took significantly more time to weave more complex aspect state machines (with more states, transitions, and pointcuts).
What problem does this paper attempt to address?