基于适合性测试的动态方法重定向演算:一种Java增强的上下文编程策略

0 下载量 165 浏览量 更新于2024-07-15 收藏 579KB PDF 举报
本文主要探讨了一种创新的编程范式,针对面向上下文的编程语言中的方法重定向问题。传统的编程模型中,使用结构化的块结构(block-structured constructs)来实现方法调用的重定向,但这限制了层(layers)的动态添加和激活,导致程序可执行文件的体积增大。为解决这一挑战,研究人员提出了一个新颖的方法:利用适合性测试(fitness testing)来支持方法的动态重定向。 在文章中,作者构建了一个名为“运行时适合性测试演算”(runtime fitness testing calculus on top of featherweight Java calculus, 或者简称为 FJ 演算),它作为核心,融入了新的语言结构——层,以支持上下文方法查找和对象转化。通过这个演算,作者系统地描述了如何在保持类型安全的前提下,根据特定的适合性测试条件,动态地决定方法调用的重定向路径。 为了确保类型系统的安全性,文章制定了一系列约束,并通过严格的数学证明,表明在满足这些约束的情况下,程序的类型安全可以得到保障。此外,文章还展示了如何通过扩展Java的编译器和虚拟机,实现在实际环境中将这些概念应用到Java语言中,从而验证了这种方法的可行性。 这种方法对于那些希望在不牺牲程序性能和类型安全性的前提下,允许程序根据上下文动态调整行为的语言设计具有重要意义。关键词包括:面向上下文编程、层、适合性测试、featherweight Java演算以及类型系统。这篇研究论文发表在《软件学报》上,为其他开发者提供了扩展类似Java语言以支持动态行为改变且保持类型安全的理论依据和实践指导。