ACM Home Page
Please provide us with feedback.FeedbackReport a problemSatisfaction survey
AOP as a first class reflective mechanism
Full text pdf formatPdf (79KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications table of contents
Vancouver, BC, CANADA
POSTER SESSION: Poster session table of contents
Pages: 216 - 217
Year of Publication:2004
Sergei Kojarski Northeastern University, Boston, MA
David H. Lorenz Northeastern University, Boston, MA
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM Press New York, NY, USA
Additional Information:

abstract references index terms collaborative colleagues

Tools and Actions: Discussions Find similar Articles Review this Article
Save this Article to a Binder Display in BibTex Format
DOI Bookmark: Use this link to bookmark this Article:
What is a DOI?


AOP is often perceived as a second class reflective mechanism, whereas reflection in OOP is considered first class. However, perceiving AOP as a first class language mechanism is conductive to developing a general AOP model, which can be a basis for an overall theory of AOP. We illustrate this view by comparing AOP with reflection and illustrating that both mechanisms are conceptually at the same level.


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 G. Bracha and D. Ungar. Mirrors: Design principles for meta-level facilities of object-oriented programming languages. In Proceedings of the 19th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, Vancouver, British Columbia, Canada, 2004.

2 R. Hirschfeld. AspectS ---aspect-oriented programming with Squeak. In Architectures, Services, and Applications for a Networked World, number 2591 in Lecture Notes in Computer Science. Springer Verlag, 2003.

3 G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming, number 2072 in Lecture Notes in Computer Science, pages 327--353, Budapest, Hungary, June 18-22 2001. ECOOP 2001, Springer Verlag.

4 S. Kojarski, K. Lieberherr, D. H. Lorenz, and R. Hirschfeld. Aspectual reflection. In AOSD 2003 Workshop on Software-engineering Properties of Languages for Aspect Technologies, Boston, Massachusetts, Mar. 18 2003.

5 R. Lmmel. A semantical approach to method-call interception. In Proceedings of the 1st International Conference on Aspect-Oriented Software Development, pages 41--55, Enschede, The Netherlands, Apr. 2002. ACM Press.

6 D. H. Lorenz and J. Vlissides. Pluggable reflection: Decoupling meta-interface and implementation. In Proceedings of the 25th International Conference on Software Engineering, pages 3--13, Portland, Oregon, May 1-10 2003. ICSE 2003, IEEE Computer Society.

7 P. Maes. Concepts and experiments in computational reflection. In Proceedings of the 2nd Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 147--155, Orlando, Florida, Oct. 4-8 1987. OOPSLA'87, ACM SIGPLAN Notices 22(12) Dec. 1987.

8 B. C. Smith. Reflection and Semantics in a Procedural Language. PhD thesis, MIT LCS TR-272, Jan. 1982.

9 B. C. Smith. Reflection and semantics in Lisp. In Proceedings of the 11th ACM SIGPLAN symposium on Principles of programming languages, pages 23--35, 1984.