论文部分内容阅读
部分求值是一种程序优化技术,又称为程序例化技术,是通过程序变换把一个具有一般计算功能的程序系统变成为一个专用的程序系统,来达到提高程序执行效率的目的。尤其是在需要重复多次执行专用系统的情况下,部分求值的优化效果会非常明显。部分求值技术是解决程序通用性和专用性之间矛盾的一种有效手段。根据程序的输入,自动判断输入的性质,提取出程序其中经常重复执行、并具有相同结果的部分,把通用程序转换成具备一定程度上的专用程序,从而缓解该矛盾。对于经过部分求值处理之后的Java程序,尽管在执行效率上得到了改善,并且计算结果与原始Java程序的计算结果完全一致,但程序之间的接口却发生了显著的改变。在部分求值处理过程中,需要向部分求值器传递原始程序的参数动静状态信息,以便部分求值器判断原始程序中每个变量和表达式的状态,并决定处理这些变量和表达式的方式。为了方便部分求值这种软件自动化技术的应用,本文提出了一种面向Java语言的部分求值描述语言,以及应用模型,并实现了相应的应用框架自动生成系统。鉴于Java程序的多样性,JPESL描述语言必须能够描述部分求值器处理各种Java应用时所需的信息,以便部分求值器进行部分求值处理。为此,除了提供描述通用信息的语法规则之外,JPESL描述语言还提供了描述RMI应用和Applet应用的语法规则。