MetaBETA: Model and Implementation

Authors

  • Rene Wenzel Schmidt

DOI:

https://doi.org/10.7146/dpb.v25i506.7035

Abstract

Object-oriented programming languages are excellent for expressing abstractions in many application domains. The object-oriented programming methodology allows real-world concepts to modelled in an easy and direct fashion and it supports refinement of concepts. However, many object-oriented languages and their implementations fall short in two areas: dynamic extensibility and reflection.

Dynamic extensibility is the ability to incorporate new classes into an application at runtime. Reflection makes it possible for a language to extend its own domain, e.g., to build type-orthogonal functionality. MetaBETA is an extension of the BETA language that supports dynamic extensibility and reflection. MetaBETA has a metalevel interface that provides access to the state of a running application and to the default implementation of language primities.

This report presents the model behind MetaBETA. In particular, we discuss the execution model of a MetaBETA program and how type- orthogonal abstractions can be built. This includes precentation of dynamic slots, a mechanism that makes is possible ectend objects at runtime. The other main area covered in this report is the implementation of MetaBETA. The central component of the architecture is a runtime system, which is viewed as a virtual machine whose baselevel interface implements the functionality needed by the programming language.

Author Biography

Rene Wenzel Schmidt

Downloads

Published

1996-06-01

How to Cite

Schmidt, R. W. (1996). MetaBETA: Model and Implementation. DAIMI Report Series, 25(506). https://doi.org/10.7146/dpb.v25i506.7035