REFLECTION IN OBJECT-ORIENTED PROGRAMMING
- 1 March 1992
- journal article
- Published by World Scientific Pub Co Pte Ltd in International Journal on Artificial Intelligence Tools
- Vol. 1 (1) , 117-136
- https://doi.org/10.1142/s0218213092000156
Abstract
Recently, the notion of having programming languages and computational systems that allow their programs to reason about themselves and reflect on their computations has attracted the attention of many researchers. These systems, called "Reflective Systems", promise many advantages over conventional systems. For example, dynamic program stepping, execution tracing, and code analysis and modification at run time are few of the reflective operations that can be easily implemented in reflective systems. Reflectivity of programming languages allows the language users to extend the language to support other programming paradigms. Reflective systems can also play an important role in programming solutions for non-conventional domains. Artificial intelligence applications, particularly learning systems, benefit from the reflectivity of a programming language. A learning system must be able to modify itself at run time to incorporate its learned behaviors. The goal of this article is to define reflection and its components, introduce the appropriate terminology, and present briefly some reflective applications in object-oriented systems.Keywords
This publication has 0 references indexed in Scilit: