Pluggable Reflection: Decoupling Meta-Interface and Implementation
David H. Lorenz, Northeastern University
John Vlissides, IBM T.J. Watson Research Center
Reflection remains a second-class citizen in current programming models, where it's assumed to be imperative and tightly bo und to its implementation. In contrast, most object-oriented APIs all ow interfaces to vary independently of their implementations. Components take this separation a step further by describing unforeseeable attr ibutes---the key to pluggable third-party components. This paper describes how reflection can benefit from a similar evolutionary path.
In Proceedings of the 25th International Conference on Software Engineering, pages 3--13, Portland, Oregon May 3-10, 2003. ICSE 2003, IEEE Computer Society. To appear.
paper.html (html)
icse2003.ps.gz (244k)
icse2003.pdf (575k)
The slides from the ICSE presentation: (424k)
Related papers:
Gilad Bracha and David Ungar: "Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming Languages". In OOPSLA'04.
@InProceedings{Lorenz:2003:DCO, Author = "David H. Lorenz and John Vlissides", Crossref = "ICSE:2003", Title = "Pluggable Reflection: {Decoupling} Meta-Interface and Implementation", URL = "http://www.ccs.neu.edu/home/lorenz/papers/icse03/", Year = 2003, Pages = "3--13", } ---------- ICSE crossref begin ---------- @String{PROC = "Proceedings of"} @String{ICSE = "International Conference on Software Engineering"} @String{PROC:ICSE2003 = PROC#" the 25$^{th}$ "#ICSE} @String{ICSE2003 = "ICSE 2003"} @Proceedings{ICSE:2003, Address = {Portland, Oregon}, Booktitle = PROC:ICSE2003, Key = ICSE2003, Month = may#{ 1-10}, Organization = ICSE2003, Publisher = "{IEEE} Computer Society", Title = PROC:ICSE2003, Year = 2003, } ---------- ICSE crossref end ----------