Study on Implementation of an Object-Oriented Concurrent Reflective Language (bibtex)
by Hidehiko Masuhara
Abstract:
Computational reflection is the computational activity of a system whose targets of computation are its own structure and its own computation. Programming languages which support reflective capabilities facilitate a modular way of describing the meta-level features such as debugging and resource management — in conventional languages, these features were only available in an ad-hoc fashion. Operational semantics of a reflective language is usually given in terms of an infinite tower of interpreters (the so-called `reflective tower.') For actual implementation of such languages, however, the tower itself must have some finite implementation. Optimization is also necessary to reduce the overhead of the interpretation. There have been several researches on such issues with sequential reflective languages, but none on concurrent reflective languages. The study of effective implementation of concurrent reflective languages is essential. Since resource management in concurrent computing systems is more dynamic and complex compared to that in sequential systems, the use of reflective facilities for the control of such management from within the language is even more beneficial. In this research , we study the implementation of ABCL/R2, an object-oriented concurrent reflective language. The operational semantics of ABCL/R2 is given in terms of two reflective towers; in order to have finite representations of these towers, we employ `lazy creation' technique, which postpones the creation of the upper-levels until they are actually needed. We also explore optimizations, such as method compilation, for efficient execution.
Reference:
Study on Implementation of an Object-Oriented Concurrent Reflective Language (Hidehiko Masuhara), Bachelor's thesis, Department of Information Science, the University of Tokyo, 1992. (Supervisor: Akinori Yonezawa)
Bibtex Entry:
@bachelorsthesis{masuhara92bachelors-thesis,
  author = {Hidehiko Masuhara},
  title = {Study on Implementation of an Object-Oriented
		  Concurrent Reflective Language},
  howpublished = {Bachelor's Thesis, Department of Information Science, Faculty of
		  Science, The {University} of {Tokyo}},
  school = {Department of Information Science, the University of Tokyo},
  year = 1992,
  keywords = {ABCL/R},
  pdf = {seniorthesis.pdf},
  url = {https://www.is.s.u-tokyo.ac.jp/},
  month = feb,
  note = {Supervisor: Akinori Yonezawa},
  abstract = {Computational reflection is the computational activity of a system whose targets of computation are its own structure and its own computation. Programming languages which support reflective capabilities facilitate a modular way of describing the meta-level features such as debugging and resource management --- in conventional languages, these features were only available in an ad-hoc fashion. Operational semantics of a reflective language is usually given in terms of an infinite tower of interpreters (the so-called `reflective tower.') For actual implementation of such languages, however, the tower itself must have some finite implementation. Optimization is also necessary to reduce the overhead of the interpretation. There have been several researches on such issues with sequential reflective languages, but none on concurrent reflective languages. The study of effective implementation of concurrent reflective languages is essential. Since resource management in concurrent computing systems is more dynamic and complex compared to that in sequential systems, the use of reflective facilities for the control of such management from within the language is even more beneficial. In this research , we study the implementation of ABCL/R2, an object-oriented concurrent reflective language. The operational semantics of ABCL/R2 is given in terms of two reflective towers; in order to have finite representations of these towers, we employ `lazy creation' technique, which postpones the creation of the upper-levels until they are actually needed. We also explore optimizations, such as method compilation, for efficient execution.}
}
Powered by bibtexbrowser