2004
DOI: 10.21236/ada456038
|View full text |Cite
|
Sign up to set email alerts
|

Open Modules: Modular Reasoning about Advice

Abstract: Abstract. Advice is a mechanism used by advanced object-oriented and aspect-oriented programming languages to augment the behavior of methods in a program. Advice can help to make programs more modular by separating crosscutting concerns more effectively, but it also challenges existing ideas about modularity and separate development.We study this challenge using a new, simple formal model for advice as it appears in languages like AspectJ. We then add a module system designed to leave program functionality as… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
229
0
1

Year Published

2005
2005
2017
2017

Publication Types

Select...
5
2

Relationship

1
6

Authors

Journals

citations
Cited by 96 publications
(230 citation statements)
references
References 7 publications
0
229
0
1
Order By: Relevance
“…While XPIs fix all pointcut interfaces beforehand, our conceptual model only fixes a classification of the structural source code entities. Another approach is presented by Aldrich in his work on Open Modules [22]. In this approach, modules must advertise which join points can be captured by the aspects that are external to the module.…”
Section: Discussionmentioning
confidence: 99%
“…While XPIs fix all pointcut interfaces beforehand, our conceptual model only fixes a classification of the structural source code entities. Another approach is presented by Aldrich in his work on Open Modules [22]. In this approach, modules must advertise which join points can be captured by the aspects that are external to the module.…”
Section: Discussionmentioning
confidence: 99%
“…Evaluating program 1 2 returns a string representation " [1,2]" with both elements, whereas program 1 1 returns " [1]" with only one element. Indeed, both results are as expected.…”
Section: Open Function Applicationsmentioning
confidence: 99%
“…This section illustrates how we can exploit the monadic embedding of aspects to encode Open Modules [2] extended with effects. Additionally we present the notion of protected pointcuts, which are pointcuts whose type places restrictions on admissible advice.…”
Section: Open and Protected Modules With Effectsmentioning
confidence: 99%
“…When Line.moveBy() is invoked, the advice is invoked three times: once for the call to Line.moveBy() and once for each call to Point.moveBy() in the body of Line.moveBy(). The assumption by the aspect about Line's otherwise-hidden implementation was broken by the apparently innocuous change [9].…”
Section: Data Member Accessmentioning
confidence: 99%
“…Open Modules expose only PCD-selected join points on private state [9]. The Open Modules system provides for the exposure of join points such that a module state that is intended to be hidden cannot be advised.…”
Section: Related Workmentioning
confidence: 99%