论文部分内容阅读
随着用户应用需求的不断增多,软件系统变得愈加复杂、庞大,软件系统运行时时常发生错误。基于监控和验证的方法是确保软件可信运行的重要手段之一,得到了越来越多的关注。本文研究面向对象软件系统的运行时监控和验证问题,提出了一个面向对象软件系统行为监控与验证模型,并围绕着实现该模型的理论、技术展开研究,设计并实现了该行为监控与验证模型。针对软件行为描述问题,本文结合半形式化的UML与形式化的OCL设计并实现一个软件行为描述模型,结合OCL和本文监控与验证的关注点扩展了OCL,使其成为了自定义可扩展的OCL。通过使用增加前缀的方法来简化OCL解析,使得每个监控与验证关注点可对应一个或几个前缀,简化了OCL的解析过程,同时降低了用户使用OCL的复杂度。由于OCL以约束的形式描述类的属性或方法,即可以准确地约束软件行为,而这种行为往往是与业务逻辑相关的,任何一种静态分析和动态分析都不能得到这种原始的业务逻辑约束,所以结合OCL和UML描述软件行为有较大的优势。针对软件行为监控与验证问题,利用AOP技术实现了对软件的行为进行监控与验证的原型系统。重点研究了如何由软件行为描述文件较为自动地生成监控使用的AOP方面类,如何在不修改程序源代码的情况下实现AOP加载时织入,如何分析并验证捕获到的软件行为是否符合行为描述文件中的预期等问题。同时,信息交互多处采用XML格式文件,应用程序中使用接口与DLL,这些特点都使模型具有较强的可扩展性,并便于易于维护和修改,对基于Java语言开发的软件系统具有良好的兼容性,在不修改待验证系统源代码的情况下进行监控与验证。在以上研究的基础上,本文设计并实现一个基于JSP的短信通知系统,将软件行为监控与验证模型应用到这个系统当中。测试结果表明本文提出的软件行为监控与验证模型在实际应用中具有的可行性和有效性。