Program Transformation with Reflection and Aspect-Oriented Programming [chapter]

Shigeru Chiba
2006 Lecture Notes in Computer Science  
A meta-programming technique known as reflection can be regarded as a sophisticated programming interface for program transformation. It allows software developers to implement various useful program transformation without serious efforts. Although the range of program transformation enabled by reflection is quite restricted, it covers a large number of interesting applications. In particular, several nonfunctional concerns found in web-application software, such as distribution and
more » ... can be implemented with program transformation by reflection. Furthermore, a recently emerging technology known as aspect-oriented programming (AOP) provides better and easier programming interface than program transformation does. One of the roots of AOP is reflection and thus this technology can be regarded as an advanced version of reflection. In this tutorial, we will discuss basic concepts of reflection, such as compile-time reflection and runtime reflection, and its implementation techniques. The tutorial will also cover connection between reflection and aspect-oriented programming.
doi:10.1007/11877028_3 fatcat:koro3ftd4zdy3gr3pwhun452iy