|
ABSTRACT
Aspects developed in aspect-oriented systems often need to hook onto multiple objects that share common structural characteristics - such as attributes and operations. In strongly-typed aspect-oriented systems like AspectJ these objects need to be of common type so that pointcuts may designate them and pieces of advice may interact with them. Such type-systems are typically based on nominal types, therefore, aspects cannot interact with objects according to their structural information in a common way. This paper argues that specifying aspects based on a nominal type system is not sufficient and shows that aspect-specifications based on structural characteristics overcome this problem. A corresponding extension of the nominal type systems is proposed and illustrated by means of structural types and compound types.
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
|
AspectJST - AspectJ with structural types, download page, http://dawis2.informatik.uni-essen.de/site/research/aosd/aspectjst/index.html
|
| |
2
|
AspectWerkz, http://aspectwerkz.codehaus.org/
|
 |
3
|
Martin Büchi , Wolfgang Weck, Compound types for Java, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.362-373, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
4
|
|
| |
5
|
Grandston, E.; Russo, V. F.: Signature-based polymorphism for C++, Proceedings of the C++ Conference. Washington D.C., April 1991. Usenix Association, 1991, pp. 65--79.
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
|
| |
10
|
JBoss, http://www.jboss.org/products/aop.
|
| |
11
|
Joy, B.; Steele, G.; Gosling, J.; Bracha, G.: Java Language Specification, 2nd Edition, Addison-Wesley, 2000.
|
| |
12
|
Kiczales, G.; Lamping, J.; Mendhekar, A.; Maeda, C.; Lopes, C.; Loingtier, J.-M.; Irwing, J.: Aspect-Oriented Programming. ECOOP '97, LNCS 1241, Springer, pp. 220--242.
|
| |
13
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
14
|
Kiczales, G. and Mezini, M.: Separation of concerns with procedures, annotations, advice and pointcuts. ECOOP 2005: 195--213.
|
| |
15
|
Läufer, K.; Baumgartner, G.; Russo, V. F; Safe Structural Conformance for Java, Computer Journal, 2000, vol. 43 (6), Oxford University Press, pp. 469--481.
|
| |
16
|
|
| |
17
|
Lieberherr, K.; Lorenz, D.; Mezini, M.: Programming with Aspectual Components, Technical Report, College of Computer Science, Northeastern University, March, NUCCS-99-01, Boston, MA, 1999.
|
| |
18
|
Magnusson, B.: Code reuse considered harmful, Journal of Object-Oriented Programming, 4 (3): 8 November 1991.
|
| |
19
|
|
 |
20
|
|
|