A study on multi-model reflection framework in distributed environments

This dissertation describes Multi-Model Re ection Framework (MMRF), a new programming framework for the e cient execution of application programs in complicated large-scale distributed systems. To execute application programs e ciently and safely, distributed systems need a facility to modify dynamically resource management policies, such as message handling policies and memory management policies, according to the characteristics of application programs without halting the entire system. A re ective system, based on the re ection concept, satis es this requirement. A re ective system opens up the system by providing an appropriate abstraction of the internal detail of itself to the application program. The internal detail includes system components; e.g. the resource management mechanism such as the message handling mechanism and the object scheduling mechanism. In a re ective system, a resource management mechanism is modeled by a programmable module such as a rst-class object. A programmer can thus modify the resource management policy for the e cient execution of application programs. Some traditional distributed programming systems have employed distributed primitives in an ad-hoc manner to achieve modi cation of resource management policies. A re ective system can support such a modi cation function while keeping the simple and easy computational model of its programming language. A meta-level architecture is used to construct this re ective system. This meta-level architecture separates the program for modifying resource management policies from the program for the main algorithm which calculates results for application users. Because of the above-mentioned characteristics, a re ective system provides high programmability and reusability of application programs. In this dissertation, we construct a re ective system to achieve a system which can modify resource management policies for the e cient and safe execution of application programs. Existing re ective systems, however, are insu cient when distributed systems become larger and more complex. In those re ective systems, system components are modeled by a single meta-level which eventually becomes large and complex. However, programmers need a certain level of abstraction (programming language level or operating system level) and certain resources. Such programmer requirements are called programmer \view". To provide a view for programmers we propose a new re ection framework calledMultiModel Re ection Framework (MMRF). Using MMRF, a complicated single meta-level can be decomposed into multiple modules called models which correspond to program-

[1]  Henri E. Bal,et al.  Orca: A Language For Parallel Programming of Distributed Systems , 1992, IEEE Trans. Software Eng..

[2]  Yasuhiko Yokote,et al.  The Design and Implementation of Concurrentsmalltalk , 1986, World Scientific Series in Computer Science.

[3]  Takashi Masuda,et al.  Designing an Extensible Distributed Language with a Meta-Level Architecture , 1993, ECOOP.

[4]  Pattie Maes Concepts and experiments in computational reflection , 1987, OOPSLA 1987.

[5]  R. Lathe Phd by thesis , 1988, Nature.

[6]  Satoshi Matsuoka,et al.  Object-Oriented Concurrent Reflective Languages can be Implemented Efficiently , 1992, OOPSLA.

[7]  Barton P. Miller,et al.  Process migration in DEMOS/MP , 1983, SOSP '83.

[8]  Satoshi Matsuoka,et al.  Hybrid Group Re ective Architecture for Object-Oriented Concurrent Re ective Programming , 1991 .

[9]  Ralph E. Johnson,et al.  Reflective facilities in Smalltalk-80 , 1989, OOPSLA '89.

[10]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[11]  David R. Cheriton,et al.  The V distributed system , 1988, CACM.

[12]  Mario Tokoro,et al.  Concurrent programming in Orient84/K: an object-oriented knowledge representation language , 1986, OOPWORK '86.

[13]  Mario Tokoro,et al.  An Object-Oriented Approach to Knowledge Systems , 1984, FGCS.

[14]  Yutaka Ishikawa,et al.  Object Location Control Using Meta-level Programming , 1994, ECOOP.

[15]  Craig Chambers,et al.  An efficient implementation of SELF, a dynamically-typed object-oriented language based on prototypes , 1989, OOPSLA '89.

[16]  Randall B. Smith,et al.  SELF: The power of simplicity , 1987, OOPSLA '87.

[17]  Gerald Jay Sussman,et al.  The Revised Report on SCHEME: A Dialect of LISP. , 1978 .

[18]  Jean D. etc. Ichbiah Reference Manual for the ADA Programming Language , 1983 .

[19]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA 1988.

[20]  Raphael A. Finkel,et al.  Designing a process migration facility: the Charlotte experience , 1989, Computer.

[21]  Andreas Paepcke PCLOS: A Flexible Implementation of CLOS Persistence , 1988, ECOOP.

[22]  Gul A. Agha,et al.  HAL: A High-Level Actor Language and Its Distributed Implementation , 1992, ICPP.

[23]  Rodger Lea,et al.  COOL: system support for distributed programming , 1993, CACM.

[24]  Satoshi Matsuoka,et al.  RbCl: A Reflective Object-Oriented Concurrent Language without a Run-time Kernel , 1992 .

[25]  Akinori Yonezawa,et al.  Modelling and programming in an object-oriented concurrent language ABCL/1 , 1987 .

[26]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[27]  Geoffrey A. Pascoe Encapsulators: a new software paradigm in Smalltalk-80 , 1986, OOPSLA 1986.

[28]  Adele Goldberg,et al.  Smalltalk-80 - the interactive programming environment , 1984 .

[29]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[30]  Wooyoung Kim A Linguistic Framework for Dynamic Composition of Dependability Protocols , 1993 .

[31]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[32]  Andreas Paepcke,et al.  PCLOS: stress testing CLOS experiencing the metaobject protocol , 1990, OOPSLA/ECOOP '90.

[33]  Akinori Yonezawa,et al.  An Actor-Based Metalevel Architecture for Group-Wide Reflection , 1990, REX Workshop.

[34]  Mario Tokoro,et al.  Al-1/d: a distributed programming system with multi-model reflection framework , 1992 .

[35]  M. Tokoro,et al.  93-004 Lo/so Amalgamation: a Technique for Constructing Programming Languages under Object-oriented Operating Systems , 1993 .

[36]  Brian Cantwell Smith,et al.  Reflection and semantics in LISP , 1984, POPL.

[37]  Mario Tokoro,et al.  Metalevel Decomposition in AL-1/D , 1993, ISOTAS.