Reflective computation in object-oriented concurrent systems and its applications
Reflective computation in object-oriented concurrent systems and its applications
复制标题
面向对象并发系统中的反射计算及其应用
DOI:
10.1145/75199.75209
复制
发表时间:
1989
期刊:
影响因子:
--
通讯作者:
A. Yonezawa
中科院分区:
文献类型:
--
作者:
Takuo Watanabe;A. Yonezawa
Reflection is the process of reasoning about and acting upon the system itselfl2,1]. In a conventional computational system, computation is performed on data that represent (or model) entities which are ezternal to the system. In contrast, a reflective computational system must contain some data which represent (or model) the structural and computational aspects the metalevel information of itself. And such data, whiclh is called self-representation, must be accessible and modifiable within the system itself, and more importantly, changes made to such data must be causally reflected/connected to the actual computations being performed. The motivation of computational reflection is to make the object-level computation perform effectively by dynamically modifying the internal organization of the isystem. Recently, several programming languages which support computational reflection are proposed. Reflective facilities of such languages not only provide us with powerful expressiveness, but also encourage modular descriptions of computation -they introduce a new dimension (direction) of modularity, which is the separation of object-level descriptions and met&level descriptions. 3-Lisp[2], 3-KRS[l], and ABCL/R[J] are examples of such languages. It is important that many of the special functionalities often provided by system calls in conventional languages -can be described using reflective language constructs in a more natural and modular way. Notice, in such languages, that their language kernels are rather simple because of their powerful expressiveness. Many complex language features/constructs can be effectively defined using their reflective programming facilities. Thus, they are also useful to build prototypes of new language features.