Title

Modular Aspect-Oriented Design Rule Enforcement With Xpidrs

Keywords

Aspect-oriented programming; Aspectj language; Design rules; JML language; Runtime assertion checking

Abstract

Aspect-oriented programming (AOP) is a popular technique for modularizing crosscutting concerns. However, constructs aimed at supporting crosscutting modularity may break class modularity. For example, to understand a method call may require a whole-program analysis to determine what advice applies and what that advice does. Moreover, in AspectJ, advice is coupled to the parts of the program advised, the base code, so the meaning of advice may change when the base code changes. Such coupling also hinders parallel development between base code and aspects. We propose some simple modifications to the design of crosscut programming interfaces (XPIs) to include expressive design rule specifications. We call our form of XPIs crosscutting programming interfaces with design rules (XPIDRs). The XPIDR-based approach, by design, supports modular runtime checking and parallel development by decoupling aspects from base code. We also show how XPIDRs allow specification of interesting control flow effects, such as when advice does (or does not) proceed. We have implemented XPIDRs as a simple contract extension to AspectJ. Since XPIDRs do not require any new AspectJ constructs, they can be adopted easily by the AspectJ community. Copyright © 2013 ACM.

Publication Date

4-15-2013

Publication Title

FOAL 2013 - Proceedings of the 12th Workshop on Foundations of Aspect-Oriented Languages

Number of Pages

13-17

Document Type

Article; Proceedings Paper

Personal Identifier

scopus

DOI Link

https://doi.org/10.1145/2451598.2451603

Socpus ID

84875976500 (Scopus)

Source API URL

https://api.elsevier.com/content/abstract/scopus_id/84875976500

This document is currently not available here.

Share

COinS