2006
DOI: 10.1109/ms.2006.24
|View full text |Cite
|
Sign up to set email alerts
|

Modular software design with crosscutting interfaces

Abstract: Aspect-oriented programming languages such as AspectJ offer new mechanisms for decomposing systems into modules and composing modules into systems. This paper introduces crosscut programming interfaces (XPIs) as a practical approach to improving the modular designs of programs written using AspectJ-style AOP. It does not limit existing aspect-oriented mechanisms or require new ones.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
142
0
8

Year Published

2006
2006
2015
2015

Publication Types

Select...
7
2

Relationship

0
9

Authors

Journals

citations
Cited by 165 publications
(156 citation statements)
references
References 10 publications
0
142
0
8
Order By: Relevance
“…However, join point decapsulation in AspectJ is fully unconstrained, without even an option to re-establish encapsulation thus failing our goal to avoid a premature bias towards strictness nor flexibility. This is where approaches like open modules [2] and XPI [8] try to help, by making join points parts of the explicit module interface. We will discuss these approaches as we go through the four principles.…”
Section: Decapsulationmentioning
confidence: 99%
See 1 more Smart Citation
“…However, join point decapsulation in AspectJ is fully unconstrained, without even an option to re-establish encapsulation thus failing our goal to avoid a premature bias towards strictness nor flexibility. This is where approaches like open modules [2] and XPI [8] try to help, by making join points parts of the explicit module interface. We will discuss these approaches as we go through the four principles.…”
Section: Decapsulationmentioning
confidence: 99%
“…One might want to compare our join point policy to the pointcut interfaces in the open modules approach [2] or XPI [8]. Firstly, both approaches completely lack any support for controlling API decapsulation.…”
Section: Principlesmentioning
confidence: 99%
“…Once the interfaces are defined (and respected), aspect and base code become symmetrically oblivious to each others' design decisions. More recently, the interfaces that are defined by the design rules can be implemented as Explicit Pointcut Interfaces (XPI's) using AspectJ [27]. Using XPIs, pointcuts are declared globally and some constraints can be verified on these pointcuts using other pointcuts.…”
Section: Design Rules and Xpimentioning
confidence: 99%
“…Hence, the application of AO language features cannot be ad hoc and must follow deliberate design decisions. A number of studies have examined design and programming patterns and strategies to solve common problems in the development of modules and applications (Bynens et al, 2007;Griswold et al, 2006;Hanenberg and Schmidmeier, 2003a, b;Hanenberg and Unland, 2001;Laddad, 2002;Lagaisse and Joosen, 2006;Miles, 2004;Noble et al, 2007). However, there are few conclusive contributions concerning the use or application of AO patterns for framework development from scratch.…”
Section: Introductionmentioning
confidence: 99%