Weaving Crosscutting Concerns into Distributed Transactions in Aspect

Presenter Information

Anas AlsobehFollow
Stephen ClydeFollow

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

This document is currently not available here.

Share

COinS
 
Apr 9th, 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.