|
ABSTRACT
A plethora of aspect mechanisms exist today. All of these diverse mechanisms integrate concerns into artifacts that exhibit crosscutting structure. What we lack and need is a characterization of the design space that these aspect mechanisms inhabit and a model description of their weaving processes. A good design space representation provides a common framework for understanding and evaluating existing mechanisms. A well-understood model of the weaving process can guide the implementor of new aspect mechanisms. It can guide the designer when mechanisms implementing new kinds of weaving are needed. It can also help teach aspect-oriented programming (AOP). In this paper we present and evaluate such a model of the design space for aspect mechanisms and their weaving processes. We model weaving, at an abstract level, as a concern integration process. We derive a weaving process model (WPM) top-down, differentiating a reactive from a nonreactive process. The model provides an in-depth explanation of the key subprocesses used by existing aspect mechanisms.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
L. Cardelli, editor. Proceedings of the 1European Conference on Object-Oriented Programming, number 2743 in Lecture Notes in Computer Science, Darmstadt, Germany, July 21-25 2003. ECOOP 2003, Springer Verlag.
|
| |
3
|
R. E. Filman, T. Elrad, S. Clarke, and M. Akşit, editors. Aspect-Oriented Software Development. Addison-Wesley, Boston, 2005.
|
| |
4
|
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In P. Tarr, L. Bergmans, M. Griss, and H. Ossher, editors, Workshop on Advanced Separation of Concerns, OOPSLA'00. Department of Computer Science, University of Twente, The Netherlands, 2000.
|
| |
5
|
R. Jagadeesan, A. Jeffrey, and J. Riely. An untyped calculus for aspect oriented programs. In Cardelli {2}, pages 54--73.
|
| |
6
|
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, Proceedings of the European Conference on Object Oriented Programming, number 1241 in Lecture Notes in Computer Science, pages 220--242, Jyväskylä, Finland, June 9-13 1997. ECOOP'97, Springer Verlag.
|
 |
7
|
Sergei Kojarski , David H. Lorenz, Pluggable AOP: designing aspect mechanisms for third-party composition, Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
 |
8
|
|
| |
9
|
K. Lieberherr and D. H. Lorenz. Coupling Aspect-Oriented and Adaptive Programming. In Filman et al. {3}, pages 145--164.
|
| |
10
|
D. H. Lorenz and S. Kojarski. Evolution of AOP mental models. In G. Kiczales and O. de Moor, editors, AOSD 2006 Workshop on Aspects in Teaching (AIT), Bonn, Germany, Mar. 20 2006.
|
| |
11
|
D. H. Lorenz and S. Kojarski. Parallel composition of aspect mechanisms: Design and evaluation. In J. Brichau, S. Chiba, K. D. Volder, M. Haupt, R. Hirschfeld, D. H. Lorenz, H. Masuhara, and E. Tanter, editors, AOSD 2006 Workshop on Open and Dynamic Aspect Languages (ODAL), Bonn, Germany, Mar. 20 2006.
|
| |
12
|
|
| |
13
|
|
| |
14
|
H. Masuhara and G. Kiczales. Modeling crosscutting in aspect-oriented mechanisms. In Cardelli {2}, pages 2--28.
|
| |
15
|
H. Masuharaa, G. Kiczales, and C. Dutchyn. Compilation semantics of aspect-oriented programs, 2002. In AOSD 2002 FOAL Workshop.
|
 |
16
|
Harold Ossher , Matthew Kaplan , William Harrison , Alexander Katz , Vincent Kruskal, Subject-oriented composition rules, ACM SIGPLAN Notices, v.30 n.10, p.235-250, Oct. 17, 1995
|
 |
17
|
|
| |
18
|
D. T. Ross. Structured analysis (SA): A language for communicating ideas. IEEE Trans. Software Eng., 3(1):16--34, Jan. 1977.
|
 |
19
|
Peri Tarr , Harold Ossher , William Harrison , Stanley M. Sutton, Jr., N degrees of separation: multi-dimensional separation of concerns, Proceedings of the 21st international conference on Software engineering, p.107-119, May 16-22, 1999, Los Angeles, California, United States
[doi> 10.1145/302405.302457]
|
 |
20
|
Naoyasu Ubayashi , Genki Moriyama , Hidehiko Masuhara , Tetsuo Tamai, A parameterized interpreter for modeling different AOP mechanisms, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
[doi> 10.1145/1101908.1101938]
|
 |
21
|
|
 |
22
|
|
| |
23
|
|
| |
24
|
|
INDEX TERMS
Primary Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.10
Design**
Additional Classification:
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.1.5
Object-oriented Programming
D.3
PROGRAMMING LANGUAGES
D.3.2
Language Classifications
General Terms:
Design,
Languages
Keywords:
AOP,
AspectJ,
DFD,
Hyper/J,
aspect mechanism,
crosscutting concerns,
definition,
nonreactive,
open classes,
reactive,
taxonomy,
top-down classification,
weaving process model (WPM)
|