论文部分内容阅读
开发人员对软件的约束性需求的重视程度一直低于功能性需求。随着软件规模与复杂性的增加,以及网络环境带来的运行环境复杂化,使得软件在运行时刻出错的几率大大增加。因此对软件的在线监测显得尤为重要,在线监测的一个重要目标就是验证软件在运行时刻是否满足预定的约束。而对于实现约束性需求验证的代码的不同的组织方式(静态和运行时刻),可能会影响到被监测系统的可维护性和可复用性等。
本文分析了当前组织软件约束性代码的几种方法,提出并实现了一种灵活的基于约束的在线监测机制。该机制将监测代码在静态和运行时都和功能性代码分离开,具有很高的可配制性。监测代码被配制为一个网状结构,而非传统的链式结构,从而增加了代码的检测能力。除此之外,本机制还支持动态更新、异步调用等特性。
论文所提出的机制已经成功地集成到了Axis2与Tomcat中,并应用在一个具体的系统——程序在线评判系统(PKUOnlineJudge)中。性能测试及应用效果表明,论文所提出的是可行、有效的。