Return to search

Transactional pointcuts for aspect-oriented programming

In dynamic pointcut-advice join point models of Aspect-Oriented Programming (AOP), join points are typically selected and advised independently of each other. That is, the relationships between join points are not considered in join point selection and advice. But these inter-relationships are key to the designation and advice of arbitrary pieces of code
when modularizing concerns such as exception handling and synchronization. Without a mechanism for associating join points, one must instead refactor (if possible) into one method the two or more related join points that are to be advised together. In practice, join points are often not independent. Instead, they form part of a higher-level operation that implements the intent of the developer (e.g. managing a resource). This relationship should
be made more explicit.
We extend the dynamic pointcut-advice join point model to make possible the designation, reication, and advice of interrelated join points. The Transactional Pointcut (transcut), which is a realization of this extended model, is a special join point designator that selects sets of interrelated join points. Each match of a transcut is a set of join points that are related through control ow, dataow, or both. This allows transcuts to dene new types
of join points (pieces of computation) by capturing the key points of a computation and to provide effective access for their manipulation (i.e. advice). Essentially, transcuts almost eliminate the need for refactoring to expose join points, which is shown by others to have a signicant negative effect on software quality.
The transcut construct was implemented as an extension to the AspectJ language and integrated into the AspectBench compiler. We used transcuts to modularize the concern of exception handling in two real-world software systems. The results show that transcuts are effective in designating target join points without unnecessary refactorings, even when the target code is written obliviously to the potential aspectization.

Identiferoai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:AEU.10048/1669
Date06 1900
CreatorsSadat Kooch Mohtasham, Seyed Hossein
ContributorsH. James Hoover, Computing Science, Kenny Wong, Computing Science, Jose Nelson Amaral, Computing Science, John C. Bowman, Mathematical and Statistical Sciences, Gregor Kiczales, Computer Science, University of British Columbia
Source SetsLibrary and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada
Languageen_US
Detected LanguageEnglish
TypeThesis
Format569244 bytes, application/pdf
Relationhttp://portal.acm.org/citation.cfm?doid=1621607.1621615

Page generated in 0.0024 seconds