Constructing a metacircular Virtual machine in an exploratory programming environment

Constructing a metacircular Virtual machine in an exploratory programming environment
复制标题

在探索性编程环境中构建元循环虚拟机

DOI:
--
复制
发表时间:
2005
期刊:
Conference on Object-Oriented Programming Systems, Languages, and Applications
影响因子:
--
通讯作者:
Alex Ausch
Alex Ausch
中科院分区:
--
文献类型:
--
作者:
D. Ungar;Adam Spitz;Alex Ausch

文献摘要

被引文献

相似文献

虚拟机开发人员是否可以从严格遵守探索性编程中经常采用的原则中受益?为了找到答案,我们同时构建了两个工件--一个完全在Self中的Self VM(Klein VM)和一个专门的开发环境--严格遵守纯面向对象、元循环、大量代码重用、反应性和基于镜像的反射。虽然这两个工件都还没有完成,但该工具支持许多远程调试和增量更新操作,并且导出的虚拟机已经成功运行了整个编译器。由于我们坚持这些原则,因此产生了积极和消极的后果。我们已经能够找到并利用许多节约的机会。例如,完全相同的代码在引导映像中创建对象,在运行的VM中构建对象,并实现远程调试器。另一方面,我们不得不花费精力来优化环境的性能。总的来说,这种方法权衡了环境的性能和所产生的VM工件的体系结构简单性和易于开发性。随着计算机性能的不断提高,我们相信这种方法的价值将会增加。
Can virtual machine developers benefit from religiously observing the principles more often embraced for exploratory programming? To find out, we are concurrently constructing two artifacts--a Self VM entirely in Self (the Klein VM), and a specialized development environment--with strict adherence to pure object-orientation, metacircularity, heavy code reuse, reactivity, and mirror-based reflection. Although neither artifact is yet complete, the environ-ment supports many remote debugging and incremental update operations, and the exported virtual machine has successfully run the whole compiler.As a result of our adherence to these principles, there have been both positive and negative consequences. We have been able to find and exploit many opportunities for parsimony. For example, the very same code creates objects in the bootstrap image, builds ob-jects in the running VM, and implements a remote debugger. On the other hand, we have been forced to expend effort to optimize the performance of the environment. Overall, this approach trades off the performance of the environment against the architectural sim-plicity and ease of development of the resulting VM artifact. As computers continue to improve in performance, we believe that this approach will increase in value.