2003
DOI: 10.1093/comjnl/46.5.542
|View full text |Cite
|
Sign up to set email alerts
|

Aspectual Collaborations: Combining Modules and Aspects

Abstract: Complex behavior often resists clean modularization in object-oriented languages. Aspectoriented programming tackles this problem by providing ¤exible module boundaries that can span and partition classes. However, in order to achieve this ¤exibility, valuable modularity mechanisms, such as encapsulation and external composition, are lost. The ability to separately compile or reason about a modular unit is also compromised. We propose that this tradeoff is not necessary, and that by expressing aspects as part … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

6
55
0

Year Published

2005
2005
2006
2006

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 59 publications
(61 citation statements)
references
References 40 publications
(27 reference statements)
6
55
0
Order By: Relevance
“…Lieberherr et al describe Aspectual Collaborations, a construct that allows programmers to write aspects and code in separate modules and then compose them together into a third module [15]. Since they propose a full aspect-oriented language, their system is much richer and more flexible than ours, but its semantics are not formally defined.…”
mentioning
confidence: 99%
“…Lieberherr et al describe Aspectual Collaborations, a construct that allows programmers to write aspects and code in separate modules and then compose them together into a third module [15]. Since they propose a full aspect-oriented language, their system is much richer and more flexible than ours, but its semantics are not formally defined.…”
mentioning
confidence: 99%
“…These interfaces are computed from a whole program's configuration and provide a bi-directional mapping from methods to associated advice, and from advice to advised methods. This 23 certainly is helpful in reasoning about control effects of advice that may apply at a given join point or program point. As such it could be used in conjunction with MAO's annotations to determine whether the advice being applied has potential control effects.…”
Section: Related Workmentioning
confidence: 99%
“…Generally, these systems attach interfaces to base code elements that either permit or prohibit advice from being applied, or describe what advice has been applied. So, Pointcut Interfaces [17], Open Modules [1,26], Aspectual Collaborations [23], and XPIs [15,31] all require code to declare or specify the join points to which aspects may be attached. In contrast our focus is on specifying aspects and their effects.…”
Section: Related Workmentioning
confidence: 99%
“…This is one way of limiting the power of aspects and still gaining significant benefits from them. Other approaches are presented in [6,33,50]. We also need mechanisms so that code can protect itself from aspects without interfering too much with the power of aspects.…”
Section: Open Problemsmentioning
confidence: 99%