Design and Partial Evaluation of Meta-objects for a Concurrent Reflective Language (bibtex)
by Hidehiko Masuhara and Akinori Yonezawa
Abstract:
Customizable meta-objects are a powerful abstraction for extending language features and implementation mechanisms, but interpretive execution suffers from severe performance penalty. Some of this penalty can be reduced by applying partial evaluation to meta-interpreters, but partial evaluation of meta-objects in existing concurrent object-oriented languages is ineffective. This paper proposes a new meta-object design for our reflective language ABCL/R3. It yields meta-objects that can be optimized effectively using partial evaluation. The crux of the design is the separation of state-related operations from other operations, and this separation is accomplished by using reader/writer methods in our concurrent object-oriented language called Schematic. Our benchmark trials show that non-trivial programs with partially evaluated meta-objects run more than six times faster than ones that are interpreted by meta-objects. In addition, a partially evaluated program that uses a customized meta-object runs as efficiently as a program that is manually rewritten so as to have the same functionality without using meta-objects.
Reference:
Design and Partial Evaluation of Meta-objects for a Concurrent Reflective Language (Hidehiko Masuhara and Akinori Yonezawa), In Proceedings of European Conference on Object-Oriented Programming (ECOOP'98) (Eric Jul, ed.), Springer-Verlag, volume 1445, 1998.
Bibtex Entry:
@inproceedings{masuhara98ecoop,
  annote = {http://www.springer.de/comp/lncs/},
  month = jul,
  address = {Brussels, Belgium},
  publisher = {Springer-Verlag},
  series = {Lecture Notes in Computer Science},
  volume = 1445,
  editor = {Eric Jul},
  year = 1998,
  booktitle = {Proceedings of European Conference on Object-Oriented Programming
		  (ECOOP'98) },
  author = {Hidehiko Masuhara and Akinori Yonezawa},
  title = {Design and Partial Evaluation of Meta-objects for a
		  Concurrent Reflective Language},
  pdf = {ecoop1998.pdf},
  doi = {10.1007/BFb0054102},
  url = {http://ecoop98.vub.ac.be/},
  pages = {418--439},
  acceptanceratio = {24/124 (19%)},
  keywords = {ABCL/R},
  abstract = {Customizable meta-objects are a powerful abstraction for extending language features and implementation mechanisms, but interpretive execution suffers from severe performance penalty. Some of this penalty can be reduced by applying partial evaluation to meta-interpreters, but partial evaluation of meta-objects in existing concurrent object-oriented languages is ineffective. This paper proposes a new meta-object design for our reflective language ABCL/R3. It yields meta-objects that can be optimized effectively using partial evaluation. The crux of the design is the separation of state-related operations from other operations, and this separation is accomplished by using reader/writer methods in our concurrent object-oriented language called Schematic. Our benchmark trials show that non-trivial programs with partially evaluated meta-objects run more than six times faster than ones that are interpreted by meta-objects. In addition, a partially evaluated program that uses a customized meta-object runs as efficiently as a program that is manually rewritten so as to have the same functionality without using meta-objects.}
}
Powered by bibtexbrowser