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) (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.
	Author = "David H. Lorenz and John Vlissides",
	Crossref = "ICSE:2003",
	Title = "Pluggable Reflection: {Decoupling} Meta-Interface and Implementation",
	URL = "",
	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"}
	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 ----------