Weaving Crosscutting Concerns into Distributed Transactions in Aspect
Class
Article
Department
Computer Science
Faculty Mentor
Stephen Clyde
Presentation Type
Poster Presentation
Abstract
Implementing crosscutting concerns for transactions is difficult, even using Aspect-Oriented Programming Languages (AOPL) such as AspectJ. Many of these challenges are because the context of transaction-related crosscutting concern is often a context consisting of loosely-coupled abstractions like dynamically generated identifiers, timestamps, and tentative value sets for distributed resources. Current AOPL do not provide joinpoints and pointcuts for weaving of advice into high-level abstractions, like transactions. Other challenges stem from essential complexity in the nature of the data, operations on the data, or the volume of data, and accidental complexity comes from the way that the problem is being solved even using common transaction frameworks. This paper describes an extension to AspectJ, called TransJ, with which developers can implement transaction-related concerns in cohesive and loosely coupled aspects. It also presents a preliminary experiment that we hope will provide evidence of improvement in reusability without sacrificing performance of applications requiring transactions.
Start Date
4-9-2015 12:00 PM
Weaving Crosscutting Concerns into Distributed Transactions in Aspect
Implementing crosscutting concerns for transactions is difficult, even using Aspect-Oriented Programming Languages (AOPL) such as AspectJ. Many of these challenges are because the context of transaction-related crosscutting concern is often a context consisting of loosely-coupled abstractions like dynamically generated identifiers, timestamps, and tentative value sets for distributed resources. Current AOPL do not provide joinpoints and pointcuts for weaving of advice into high-level abstractions, like transactions. Other challenges stem from essential complexity in the nature of the data, operations on the data, or the volume of data, and accidental complexity comes from the way that the problem is being solved even using common transaction frameworks. This paper describes an extension to AspectJ, called TransJ, with which developers can implement transaction-related concerns in cohesive and loosely coupled aspects. It also presents a preliminary experiment that we hope will provide evidence of improvement in reusability without sacrificing performance of applications requiring transactions.