An execution layer for aspect-oriented programming languages

An execution layer for aspect-oriented programming languages
复制标题

面向方面的编程语言的执行层

DOI:
10.1145/1064979.1065000
复制
发表时间:
2005
影响因子:
1.4
通讯作者:
Michael Krebs
Michael Krebs
中科院分区:
物理与天体物理3区
文献类型:
--
作者:
M. Haupt;M. Mezini;Christoph Bockisch;T. Dinkelaker;Michael Eichberg;Michael Krebs

文献摘要

被引文献

相似文献

语言机制值得语言实现努力。虽然这一准则导致了对面向对象、函数式和逻辑编程语言特定语言特性的复杂支持,但面向方面编程语言仍然主要使用后处理器实现。Steamloom虚拟机基于IBM的Jikes RVM,在虚拟机级别提供面向方面编程的支持。一个名为BAT的字节码框架与Jikes RVM集成,以取代其字节码管理逻辑。在保留VM所需的功能的同时,BAT还允许查询应用程序代码的连接点阴影,避免字节码表示中的冗余。性能测量表明,像Steamloom这样支持AOP的虚拟机不会对正在运行的应用程序造成不必要的性能损失;当涉及到执行AOP相关操作时,与其他方法相比,甚至有显着的性能提升。
Language mechanisms deserve language implementation effort. While this maxim has led to sophisticated support for language features specific to object-oriented, functional and logic programming languages, aspect-oriented programming languages are still mostly implemented using postprocessors. The Steamloom virtual machine, based on IBM's Jikes RVM, provides support for aspect-oriented programming at virtual machine level. A bytecode framework called BAT was integrated with the Jikes RVM to replace its bytecode management logic. While preserving the functionality needed by the VM, BAT also allows for querying application code for join point shadows, avoiding redundancy in bytecode representation. Performance measurements show that an AOP-enabled virtual machine like Steamloom does not inflict unnecessary performance penalties on a running application; when it comes to executing AOP-related operations, there even are significant performance gains compared to other approaches.