论文部分内容阅读
Internet的普及使得软件的运行平台从单机环境发展为开放性、异构性的网络环境。这不仅使软件本身的规模迅速增长,同时也增加了软件的复杂性。软件在应用范围、规模和复杂性上的增长使得其质量变得越来越重要。如何提高软件的质量以保证软件的可用性、可靠性、安全性和高性能等性质是一项重要的研究内容。
经过长期的研究与实践,目前人们已经取得了提高软件质量的一系列方法。比如,软件开发阶段的静态代码审查与模型检测、软件运行阶段的在线监测以及随需应变的适应性软件,等等。这些方法的基本思想都是定义软件的约束条件,并在某些时刻来检查软件是否遵守了这些约束条件,然后给出报告结果,甚至可以根据报告结果做进一步的调整。
如何准确、直观地描述约束对于提高软件质量有着非常重要的意义。本文主要关注接口级别(Interface Level)的数值约束和事件约束,采用基于模式的、易于扩展的软件约束描述方法,并提出一种基于XML的、声明式的、支持复用的约束描述语言。为了帮助用户快速、准确地描述约束,本文开发了相应的支持工具,该工具从三个层面上为接口级别约束的描述提供支持:分别为数值约束和事件约束提供表格式和图形式的可视化描述方式,减少用户的输入和错误的引入;从可视化描述自动生成基于XML约束描述文件,利于约束的存储;为每类事件约束提供形式化的内部表示(有限状态机),简化软件在线监测的验证逻辑,和在线监测工具无缝地衔接起来。
本文的工作主要有如下三点贡献:1)提出了基于模式的、易于扩展的接口级别约束描述方法;2)提出了一种基于XML的、声明式的、支持复用的、易于理解的约束描述语言(CDL);3)开发了从三个层面提供接口级别约束描述机制的支持工具,可以与监测工具无缝的集成。