第36卷第4期 北京科技大学学报 Vol.36 No.4 2014年4月 Journal of University of Science and Technology Beijing Apr.2014 一种面向Wb服务的综合可信性度量模型 孙昌爱12四,赵敏”,何啸” 1)北京科技大学计算机与通信工程学院,北京1000832)北京科技大学材料领域知识工程北京市重点实验室,北京100083 ☒通信作者,E-mail:casun@ustb.cdu.cn 摘要基于Wb服务的可信应用程序构造的一个关键问题是如何度量Web服务的可信性.在遵循Wb服务特点的基础 上,提出一个综合的Wb服务可信性度量模型TMM4WS,从Wb服务的内部实现和外部使用两方面对Wb服务的可信性进 行度量,开发了相应的度量支持工具TMT4WS.采用Wb服务实例对提出的度量模型与工具进行了验证.实验结果表明,度 量模型TMM4WS及其支持工具TMT4WS具有较好的可操作性,能够定量地度量Web服务的可信性. 关键词面向服务的架构:Wb服务:可信性:软件度量 分类号TP311 Comprehensive trustworthiness measurement model for Web services SUN Chang-ai.2,ZHAO Min”,HE Xiao》 1)School of Computer and Communication Engineering,University of Science and Technology Beijing,Beijing 100083,China 2)Beijing Key Lab of Knowledge Engineering for Materials Science,University of Science and Technology Beijing,Beijing 100083,China Corresponding author,E-mail:casun@ustb.edu.cn ABSTRACT One crucial issue of service-based trustworthy application development is how to measure the trustworthiness of Web services.A comprehensive trustworthiness measurement model for Web services,TMM4WS,was proposed based on the unique features of Web services.The model measures the trustworthiness of a Web service in terms of both its source code and external usage.A tool called TMT4WS was developed to support the model.An empirical study was conducted on tens of Web services to validate the effec- tiveness of the model and its supporting tool.Experimental results show that the model and its supporting tool can be employed to provide a quantitative trustworthiness measurement of Web services. KEY WORDS service oriented architecture (SOA):Web services;trustworthiness:software metrics 面向服务的架构(SOA)正被广泛采纳用来开发跨平台的应用程序集成和数据交换. 各种分布式应用程序口.Wb服务是SOA软件的 在进行S0A软件开发时,对于某个特定的需求 基本单元,由规格说明与实现两部分组成.前者采 而言,往往存在多个功能相似、性能不同的Wb服 用Wb服务描述语言(WSDL回)编写,后者可以采 务.在特定应用领域中,可能存在多个机构提供航 用任何程序设计语言进行编写.服务提供者开发 班查询、火车时刻查询、电子支付、搜索引擎等Wb Wb服务后将其发布到网络上,服务使用者采用简服务,例如雅虎、新浪和搜狐门户网站均提供天气查 单对象访问协议(SOAP)回发送请求,实现对Wb 询的Wb服务.当应用程序的可信性要求较高时, 服务的调用并接受返回结果.由于Web服务的定 如何评估与选择可信的Web服务尤为重要.Web 义与访问遵循相应的标准与规范,因此支持跨语言、 服务的可信性度量不仅有助于选择合适的Wb服 收稿日期:2013-02-20 基金项目:国家自然科学基金资助项目(60903003,61370061):北京市自然科学基金资助项目(4112037:“十二五”国家科技支撑计划资助项 目(2011BAK08B04):中央高校基本科研业务费资助项目(RF6DH2915A):北京市优秀人才培养计划资助项目(2012D009006000002):2012 年度阶梯计划资助项目(Z121101002812005) DOI:10.13374/j.issn1001-053x.2014.04.018:http:/journals.ustb.edu.cn
第 36 卷 第 4 期 2014 年 4 月 北京科技大学学报 Journal of University of Science and Technology Beijing Vol. 36 No. 4 Apr. 2014 一种面向 Web 服务的综合可信性度量模型 孙昌爱1,2) ,赵 敏1) ,何 啸1) 1) 北京科技大学计算机与通信工程学院,北京 100083 2) 北京科技大学材料领域知识工程北京市重点实验室,北京 100083 通信作者,E-mail: casun@ ustb. edu. cn 摘 要 基于 Web 服务的可信应用程序构造的一个关键问题是如何度量 Web 服务的可信性. 在遵循 Web 服务特点的基础 上,提出一个综合的 Web 服务可信性度量模型 TMM4WS,从 Web 服务的内部实现和外部使用两方面对 Web 服务的可信性进 行度量,开发了相应的度量支持工具 TMT4WS. 采用 Web 服务实例对提出的度量模型与工具进行了验证. 实验结果表明,度 量模型 TMM4WS 及其支持工具 TMT4WS 具有较好的可操作性,能够定量地度量 Web 服务的可信性. 关键词 面向服务的架构; Web 服务; 可信性; 软件度量 分类号 TP311 Comprehensive trustworthiness measurement model for Web services SUN Chang-ai 1,2) ,ZHAO Min1) ,HE Xiao 1) 1) School of Computer and Communication Engineering,University of Science and Technology Beijing,Beijing 100083,China 2) Beijing Key Lab of Knowledge Engineering for Materials Science,University of Science and Technology Beijing,Beijing 100083,China Corresponding author,E-mail: casun@ ustb. edu. cn ABSTRACT One crucial issue of service-based trustworthy application development is how to measure the trustworthiness of Web services. A comprehensive trustworthiness measurement model for Web services,TMM4WS,was proposed based on the unique features of Web services. The model measures the trustworthiness of a Web service in terms of both its source code and external usage. A tool called TMT4WS was developed to support the model. An empirical study was conducted on tens of Web services to validate the effectiveness of the model and its supporting tool. Experimental results show that the model and its supporting tool can be employed to provide a quantitative trustworthiness measurement of Web services. KEY WORDS service oriented architecture ( SOA) ; Web services; trustworthiness; software metrics 收稿日期: 2013--02--20 基金项目: 国家自然科学基金资助项目( 60903003,61370061) ; 北京市自然科学基金资助项目( 4112037) ; “十二五”国家科技支撑计划资助项 目( 2011BAK08B04) ; 中央高校基本科研业务费资助项目( FRF-SD-12-015A) ; 北京市优秀人才培养计划资助项目( 2012D009006000002) ; 2012 年度阶梯计划资助项目( Z121101002812005) DOI: 10. 13374 /j. issn1001--053x. 2014. 04. 018; http: / /journals. ustb. edu. cn 面向服务的架构( SOA) 正被广泛采纳用来开发 各种分布式应用程序[1]. Web 服务是 SOA 软件的 基本单元,由规格说明与实现两部分组成. 前者采 用 Web 服务描述语言( WSDL [2]) 编写,后者可以采 用任何程序设计语言进行编写. 服务提供者开发 Web 服务后将其发布到网络上,服务使用者采用简 单对象访问协议( SOAP) [2]发送请求,实现对 Web 服务的调用并接受返回结果. 由于 Web 服务的定 义与访问遵循相应的标准与规范,因此支持跨语言、 跨平台的应用程序集成和数据交换. 在进行 SOA 软件开发时,对于某个特定的需求 而言,往往存在多个功能相似、性能不同的 Web 服 务. 在特定应用领域中,可能存在多个机构提供航 班查询、火车时刻查询、电子支付、搜索引擎等 Web 服务,例如雅虎、新浪和搜狐门户网站均提供天气查 询的 Web 服务. 当应用程序的可信性要求较高时, 如何评估与选择可信的 Web 服务尤为重要. Web 服务的可信性度量不仅有助于选择合适的 Web 服
·544 北京科技大学学报 第36卷 务,而且为Wb服务的可信性改进提供了客观依 恢复性)因。因此,可生存性可以进一步分解为安全 据.Wb服务可信性度量的关键问题是定义可信度 性、容错性和可恢复性 量模型,即如何选择与定义各种可信属性.由于 其次,软件系统的行为和结果符合用户预期的 Wb服务在部署方式、调用方法、运行环境等方面 能力可以用正确性、可维护性、响应时间、可用性、满 与传统软件存在较大差别,己有度量技术不适用于 意度、信誉度、实时性、性能、防卫性等属性刻 Wb服务的可信性度量.人们提出了一些面向Wb 画.其中,只有对计算要求很高的领域才会关注 服务的可信性度量模型与工具).然而,己有研究 Wb服务的性能,只有涉及安全性机密较高的领域 工作存在如下不足:(1)主要关注Wb服务应用阶 才会关注Wb服务的防卫性,因此这两个属性不具 段的度量,缺乏对开发阶段和提交阶段的支持:(2) 备一般性,本文暂不予考虑.本文也不考虑实时性 提出了一些抽象的概念框架,缺乏可操作的细节 的度量,因为它依赖于用户和服务提供者的网络状 本文提出一个面向Web服务、内外结合的可信 况,评价结果不具有客观性.可维护性则可以被进 性度量模型TMM4WS.内部度量指标在源代码的层 一步分解为环形复杂度、子类数、对象耦合度和类响 次上反映Wb服务的可信性;外部度量指标反映 应集合回.此外,本文认为Web服务的行为和结果 Web运行时服务的可信性.依据TMM4WS,本文设 符合用户预期的能力还与Wb服务的互操作性有 计并实现了度量工具TMT4WS.采用实例研究的手 关.互操作性是指Web服务被用户或其他系统调 段,对提出的度量模型及其支持工具的有效性进行 用的难易程度.Wb服务越容易被调用,就越容易 了评估.实验结果表明,提出的Wb服务可信性的 被用来满足用户预期,也会降低调用错误的产生 度量模型TMM4WS易于实现,能够比较全面地反映 几率. Weh服务的可信性 上述可信属性中,有些属性是从内部实现的视 角对Web服务进行度量,通过分析Web服务的实 面向Web服务的可信性度量模型 现代码,计算出相应的度量值.本文将这样的属性 可信性可以由一组可信属性以及对这组属性的 称为Wb服务的内部可信属性,依靠在开发和提交 预期来表示,目前尚不存在统一的可信性定义回 阶段的Wb服务可信证据进行度量.其他属性则 本文将Web服务可信性定义为“Web服务的运行行 是从外部调用的视角对Wb服务进行衡量,通过观 为和执行结果符合预期描述,并在受到干扰时仍能 察和记录Wb服务被调用时表现和特性计算度量 提供连续服务的能力”.为此,从全部的可信属性中 值.这样的属性称为Wb服务的外部可信性属性, 选取一组关键的、具有一般性的属性对Wb服务的 反映了Wb服务在真实运行状态下的可信性 可信性进行评估,将这组属性称为Wb服务的可信 本文提出的可信度量模型TMM4WS综合了内 性度量指标.可信性度量指标的计算依赖于Wb 部可信性和外部可信性的度量模型,如图1所示. 服务的可信证据.可信证据是软件所具有的能够反 下面详细讨论图1中每个可信属性的定义和计算 映其某种可信指标的数据、文档或其他信息.结 方法. 合Wb服务的特点,本文提出一种内外结合可信性 1.2Web服务的内部可信性 度量模型TMM4WS,包括可信性度量指标的定义、 Wb服务的内部可信性主要从系统内部实现 指标之间的依赖关系以及每个指标的计算方式 的视角刻画可信性,依靠源代码静态分析的结果和 1.1TMM4WS概览 服务提供者提交的证据进行度量.内部可信性包括 Web服务可信性包括两个方面,即Web服务在 可生存性、功能性和可维护性.本文假设Wb服务 受到干扰时仍能提供连续服务的能力,以及Wb服 采用Java语言实现 务的行为和结果符合用户预期的能力.这两方面的 1.2.1可生存性 能力都可以使用一组可信属性进行刻画. 可生存性是指系统在遭受攻击、失效和偶然事 首先,Wb服务在受到干扰(包括操作错误、环 故时还能及时完成其任务的能力.由三个子属性进 境影响、外部攻击等)时仍然能提供连续服务的能 行刻画,即安全性、容错性和可恢复性 力可以表示为Wb服务的可生存性.可生存性包 (I)Web服务的安全性主要指Web服务代码 括系统抵御恶意攻击的能力(安全性)、系统抵御失 脆弱性程度、保护信息和数据的能力.Wb服务是 效和偶然事故的能力(容错性)以及系统从遭受攻 否提供身份验证、消息加密、访问控制等,反映了 击或出现失效状态恢复并继续提供服务的能力(可 Web服务的安全性.通过Web服务实现是否对数
北 京 科 技 大 学 学 报 第 36 卷 务,而且为 Web 服务的可信性改进提供了客观依 据. Web 服务可信性度量的关键问题是定义可信度 量模型,即如何选择与定义各种可信属性. 由于 Web 服务在部署方式、调用方法、运行环境等方面 与传统软件存在较大差别,已有度量技术不适用于 Web 服务的可信性度量. 人们提出了一些面向 Web 服务的可信性度量模型与工具[3]. 然而,已有研究 工作存在如下不足: ( 1) 主要关注 Web 服务应用阶 段的度量,缺乏对开发阶段和提交阶段的支持; ( 2) 提出了一些抽象的概念框架,缺乏可操作的细节. 本文提出一个面向 Web 服务、内外结合的可信 性度量模型 TMM4WS. 内部度量指标在源代码的层 次上反映 Web 服务的可信性; 外部度量指标反映 Web 运行时服务的可信性. 依据 TMM4WS,本文设 计并实现了度量工具 TMT4WS. 采用实例研究的手 段,对提出的度量模型及其支持工具的有效性进行 了评估. 实验结果表明,提出的 Web 服务可信性的 度量模型 TMM4WS 易于实现,能够比较全面地反映 Web 服务的可信性. 1 面向 Web 服务的可信性度量模型 可信性可以由一组可信属性以及对这组属性的 预期来表示,目前尚不存在统一的可信性定义[4]. 本文将 Web 服务可信性定义为“Web 服务的运行行 为和执行结果符合预期描述,并在受到干扰时仍能 提供连续服务的能力”. 为此,从全部的可信属性中 选取一组关键的、具有一般性的属性对 Web 服务的 可信性进行评估,将这组属性称为 Web 服务的可信 性度量指标. 可信性度量指标的计算依赖于 Web 服务的可信证据. 可信证据是软件所具有的能够反 映其某种可信指标的数据、文档或其他信息[5]. 结 合 Web 服务的特点,本文提出一种内外结合可信性 度量模型 TMM4WS,包括可信性度量指标的定义、 指标之间的依赖关系以及每个指标的计算方式. 1. 1 TMM4WS 概览 Web 服务可信性包括两个方面,即 Web 服务在 受到干扰时仍能提供连续服务的能力,以及 Web 服 务的行为和结果符合用户预期的能力. 这两方面的 能力都可以使用一组可信属性进行刻画. 首先,Web 服务在受到干扰( 包括操作错误、环 境影响、外部攻击等) 时仍然能提供连续服务的能 力可以表示为 Web 服务的可生存性. 可生存性包 括系统抵御恶意攻击的能力( 安全性) 、系统抵御失 效和偶然事故的能力( 容错性) 以及系统从遭受攻 击或出现失效状态恢复并继续提供服务的能力( 可 恢复性) [6]. 因此,可生存性可以进一步分解为安全 性、容错性和可恢复性. 其次,软件系统的行为和结果符合用户预期的 能力可以用正确性、可维护性、响应时间、可用性、满 意度、信 誉 度、实 时 性、性 能、防 卫 性 等 属 性 刻 画[7--8]. 其中,只有对计算要求很高的领域才会关注 Web 服务的性能,只有涉及安全性机密较高的领域 才会关注 Web 服务的防卫性,因此这两个属性不具 备一般性,本文暂不予考虑. 本文也不考虑实时性 的度量,因为它依赖于用户和服务提供者的网络状 况,评价结果不具有客观性. 可维护性则可以被进 一步分解为环形复杂度、子类数、对象耦合度和类响 应集合[9]. 此外,本文认为 Web 服务的行为和结果 符合用户预期的能力还与 Web 服务的互操作性有 关. 互操作性是指 Web 服务被用户或其他系统调 用的难易程度. Web 服务越容易被调用,就越容易 被用来满足用户预期,也会降低调用错误的产生 几率. 上述可信属性中,有些属性是从内部实现的视 角对 Web 服务进行度量,通过分析 Web 服务的实 现代码,计算出相应的度量值. 本文将这样的属性 称为 Web 服务的内部可信属性,依靠在开发和提交 阶段的 Web 服务可信证据进行度量. 其他属性则 是从外部调用的视角对 Web 服务进行衡量,通过观 察和记录 Web 服务被调用时表现和特性计算度量 值. 这样的属性称为 Web 服务的外部可信性属性, 反映了 Web 服务在真实运行状态下的可信性. 本文提出的可信度量模型 TMM4WS 综合了内 部可信性和外部可信性的度量模型,如图 1 所示. 下面详细讨论图 1 中每个可信属性的定义和计算 方法. 1. 2 Web 服务的内部可信性 Web 服务的内部可信性主要从系统内部实现 的视角刻画可信性,依靠源代码静态分析的结果和 服务提供者提交的证据进行度量. 内部可信性包括 可生存性、功能性和可维护性. 本文假设 Web 服务 采用 Java 语言实现. 1. 2. 1 可生存性 可生存性是指系统在遭受攻击、失效和偶然事 故时还能及时完成其任务的能力. 由三个子属性进 行刻画,即安全性、容错性和可恢复性. ( 1) Web 服务的安全性主要指 Web 服务代码 脆弱性程度、保护信息和数据的能力. Web 服务是 否提供身份验证、消息加密、访问控制等,反映了 Web 服务的安全性. 通过 Web 服务实现是否对数 ·544·
第4期 孙昌爱等:一种面向Wb服务的综合可信性度量模型 ·545· Wh服务的 可信性 内部可信性 外部可倍性 响应时间 可生存性 功能性 可维护性 可用性 可恢复性 正确性 复杂性 满意度 安全性 互操作性 可移植性 容错性 可复用性 信誉度 图1Wb服务可信性度量模型TMM4WS Fig.1 Trustworthiness measurement model TMM4WS for Web services 据的保护程度以及访问控制的处理情况来综合反映 1.2.2功能性 Web服务的安全性,可以用如下公式计算: Wb服务的功能性是指指定条件下运行时 security(p)=private_var(p) Wb服务提供满足要求功能的能力,包括正确性和 all var (p) 互操作性. 式中,security(p)表示程序p的安全性,alL_var(p)表 (I)Web服务的正确性反映了Web服务是否 示程序p中总的变量个数,private._var(p)表示程序 能够正确计算出结果的能力.Wb服务的正确性可 p中私有变量的个数. 以从两个方面进行衡量. (2)Wb服务的容错性是指在出现故障或者 (a)通过分析Web服务的运行日志,计算Web 违反其指定接口的情况下,Wb服务维持正常工作 服务正确执行的比率.Wb服务的日志文件中包含 的能力.从Wb服务的实现看来,容错性体现为程 了Wb服务调用成功和失败的信息.通过分析日 序中Try-Catch语句块的数量.由于程序出现错误 志文件,可以统计出成功调用和失败调用的次数. 很大程度上是由于输入数据不合法导致的,数据输 显然,程序的正确性应当与程序正确执行的次数成 入部分是否提供数据校验也反映了Wb服务的容 正比.假设程序p被成功调用的次数为success(p), 错能力.Wb服务的容错性可以用如下公式计算: 程序p失败调用的次数为fail(p),则通过日志文件 fault-tolerate (p)= 体现出程序p的正确性LogCorrectness(p)可表示为 try-eatch (p)+data-check (p)xw. 如下计算公式: 式中,fault-tolerate(p)表示程序p的容错性,try- catch(p)表示程序p中包含的try-catch语句块的数 LogCorrectness(p)=- success(p) success(P)+fail(p) 量,data-check(p)表示程序p中接收数据的部分是 (b)分析Web服务中算术运算的精确性.Web 否包含数据校验.如果包含数据校验模块,那么da- 服务中算术运算的精确性主要是受浮点运算影响. ta-check(p)=l;否则,data-check(p)=0.考虑到输 通常情况下,程序进行浮点运算时都是使用Java的 入数据校验模块的重要性高于单个try-catch语句, 基本数据类型loat或者double,但是这种浮点数在 因此数据校验的度量结果乘以较大的系数w(w的 计算机中只是一种近似表示.如果需要高精度的计 具体取值可由用户进行设定). 算结果,必须使用Java类库中的科学计算类java. (3)Wb服务的可恢复性主要指当系统发生 math.BigDecimal..Web服务中算术运算的精确性可 故障时,Wb服务的恢复能力.目前,对应系统崩溃 以被简化为使用BigDecimal类进行浮点计算比例. 常用方法是采用多节点备份的机制,即在多个网络 以AlgorithmCorrectness(p)来表示程序p的算术运 节点上部署同一个系统的不同实例,当一个主机发 算的正确性,若程序p中所有的浮点运算都是以 生崩溃时迅速切换到其他备用主机.因此,用运行 BigDecimal代替的,则AlgorithmCorrectness(p)赋值 了某个Web服务的节点数目来评估Web服务的可 为1,否则AlgorithmCorrectness(p)赋值为0.那么程 恢复性,这方面的度量信息由服务提供商提供. 序p的正确性correctness(p)可以由如下公式来
第 4 期 孙昌爱等: 一种面向 Web 服务的综合可信性度量模型 图 1 Web 服务可信性度量模型 TMM4WS Fig. 1 Trustworthiness measurement model TMM4WS for Web services 据的保护程度以及访问控制的处理情况来综合反映 Web 服务的安全性,可以用如下公式计算: security( p) = private_var( p) all_var( p) . 式中,security( p) 表示程序 p 的安全性,all_var( p) 表 示程序 p 中总的变量个数,private_var( p) 表示程序 p 中私有变量的个数. ( 2) Web 服务的容错性是指在出现故障或者 违反其指定接口的情况下,Web 服务维持正常工作 的能力. 从 Web 服务的实现看来,容错性体现为程 序中 Try-Catch 语句块的数量. 由于程序出现错误 很大程度上是由于输入数据不合法导致的,数据输 入部分是否提供数据校验也反映了 Web 服务的容 错能力. Web 服务的容错性可以用如下公式计算: fault-tolerate( p) = try-catch( p) + data-check( p) × w. 式中,fault-tolerate ( p ) 表 示 程 序 p 的 容 错 性,trycatch( p) 表示程序 p 中包含的 try-catch 语句块的数 量,data-check( p) 表示程序 p 中接收数据的部分是 否包含数据校验. 如果包含数据校验模块,那么 data-check( p) = 1; 否则,data-check( p) = 0. 考虑到输 入数据校验模块的重要性高于单个 try-catch 语句, 因此数据校验的度量结果乘以较大的系数 w( w 的 具体取值可由用户进行设定) . ( 3) Web 服务的可恢复性主要指当系统发生 故障时,Web 服务的恢复能力. 目前,对应系统崩溃 常用方法是采用多节点备份的机制,即在多个网络 节点上部署同一个系统的不同实例,当一个主机发 生崩溃时迅速切换到其他备用主机. 因此,用运行 了某个 Web 服务的节点数目来评估 Web 服务的可 恢复性,这方面的度量信息由服务提供商提供. 1. 2. 2 功能性 Web 服务的功能性是指指定条件下运行 时 Web 服务提供满足要求功能的能力,包括正确性和 互操作性. ( 1) Web 服务的正确性反映了 Web 服务是否 能够正确计算出结果的能力. Web 服务的正确性可 以从两个方面进行衡量. ( a) 通过分析 Web 服务的运行日志,计算 Web 服务正确执行的比率. Web 服务的日志文件中包含 了 Web 服务调用成功和失败的信息. 通过分析日 志文件,可以统计出成功调用和失败调用的次数. 显然,程序的正确性应当与程序正确执行的次数成 正比. 假设程序 p 被成功调用的次数为 success( p) , 程序 p 失败调用的次数为 fail( p) ,则通过日志文件 体现出程序 p 的正确性 LogCorrectness( p) 可表示为 如下计算公式: LogCorrectness( p) = success( p) success( P) + fail( p) . ( b) 分析 Web 服务中算术运算的精确性. Web 服务中算术运算的精确性主要是受浮点运算影响. 通常情况下,程序进行浮点运算时都是使用 Java 的 基本数据类型 float 或者 double,但是这种浮点数在 计算机中只是一种近似表示. 如果需要高精度的计 算结果,必须使用 Java 类库中的科学计算类 java. math. BigDecimal. Web 服务中算术运算的精确性可 以被简化为使用 BigDecimal 类进行浮点计算比例. 以 AlgorithmCorrectness( p) 来表示程序 p 的算术运 算的正确性,若程序 p 中所有的浮点运算都是以 BigDecimal 代替的,则 AlgorithmCorrectness( p) 赋值 为 1,否则 AlgorithmCorrectness( p) 赋值为 0. 那么程 序 p 的正确性 correctness( p) 可以由如下公式来 ·545·
·546 北京科技大学学报 第36卷 计算: 式中,M,表示当前类中第i方法调用其他类的方法 correctness (p)=A.LogCorrectness (p)+ 的集合,A,表示当前类中第i方法使用其他类的属 B.AlgorithmCorrectness(p). 性的集合。 其中,系数A和B可以依据不同的情况对其值进行 (b)类响应集合RFC是指响应了当前类的消 调整. 息或者方法的所有方法之和.类响应集合影响类的 (2)Wb服务的互操作性指在规定条件下, 可理解性和可测试性.类响应集合反映了该类与其 Web服务之间进行调用和传递数据的能力以及各 他类之间的交互情况,该集合越大说明交互越复杂. 模块之间互相调用的难易程度.每个类都会向外提 RFC的计算方法为 供调用其方法的接口,调用其内部功能的难易程度 RFC =IMURI. 可以被近似为其方法接受参数的数量,所以本文用 式中,M为当前类中的成员方法集合,R指被M中 类中公共方法的参数个数的平均值来定义一个类的 方法调用的方法集合 互操作性.以inter_.op(p)表示程序p的互操作性, (3)可复用性是指软件代码可以被重用的能 则inter_op(p)可用如下公式计算: 力.可以采用C&K度量集的NOC指标计算可复 pubmehod,,p) 用性. inter_op(p)=i=i 子类数NOC是指直接继承当前类的子类数,子 类数度量了可复用程度,影响类的可测试性.NOC n为程序p中公共方法的数目,pub_method:(p) 的计算方法为 表示调用第i个公共方法所需要传递的参数的 NOC count (SC). 个数 这里SC,表示当前类的第i个子类 1.2.3Web服务的可维护性 1.3Web服务的外部可信性 对Wb服务进行维护的难易程度,包括理解、 Wb服务的外部可信性是从外部调用的视角、 改正和改进Wb服务的难易程度.通过C&K度量 通过观察和记录Wb服务在提供服务时所体现的 集四可以定义Wb服务可维护性的三个子度量 一些特征信息以及用户的反馈信息对Wb服务可 指标. 信性进行度量,包括Web服务的响应时间、可用性、 (1)复杂性是指Wb服务的代码复杂程度.若 满意度和信誉度四个度量指标. Wb服务的代码复杂性高,说明其内部代码复杂, (I)Web服务响应时间是一个衡量Web服务 不易维护;复杂程度高的代码出错的可能性也随之 性能的常用和重要指标,是指从开始发送请求开始 增加.可以依据C&K度量集中的环路复杂度CC计 到最后得到输出的时间段.使用如下公式来计算 算复杂性,而类的复杂性可通过类中每个方法的环 Web服务平均响应时间: 路复杂度的平均值得到. 环形复杂度CC也称MaCabe复杂度.函数I方 法的复杂性与其中分支数量成正比,分支越多其逻 式中,n为调用指定Web服务的总次数,Tr为服 辑越复杂,也就越难被理解.因此,CC的计算方 务的平均响应时间,t:为第i次调用服务的响应 法为 时间. CC=Np +1. (2)Wb服务的可用性是指在某个时间内 式中,N表示函数/方法中判断语句数. Web服务可用的概率,可以用Web服务的成功连接 (2)可移植性是指代码从某一环境转移到另一 率衡量.假设在一段时间内对指定Wb服务o的 环境下的难易程度.C&K度量集中的CBO和RFC 调用次数为,其中调用成功并返回结果的次数为 描述类之间的相关性以及方法之间的相关性.因 success(w),调用失败没有得到预期返回结果的次 此,可以利用这两个指标计算可移植性 数为fail(w),则Web服务w的可用性available(w) (a)对象类耦合度CBO表示与当前类具有耦 合关系的类的个数.对象类耦合度影响类的可复用 可用如下公式进行计算: success (w) 性和可修改性.对象类耦合度高意味着该类不易复 available(w)=- 厂success(w)+fail(w) 用且维护困难.CBO的计算方法为 其中,available(w)越大表明Web服务w的可用性 CB0=∑(IM,I+IA:I). 越好,间接说明了w被成功调用的概率越大
北 京 科 技 大 学 学 报 第 36 卷 计算: correctness( p) = A·LogCorrectness( p) + B·AlgorithmCorrectness( p) . 其中,系数 A 和 B 可以依据不同的情况对其值进行 调整. ( 2) Web 服务的互操作性指在规定条件下, Web 服务之间进行调用和传递数据的能力以及各 模块之间互相调用的难易程度. 每个类都会向外提 供调用其方法的接口,调用其内部功能的难易程度 可以被近似为其方法接受参数的数量,所以本文用 类中公共方法的参数个数的平均值来定义一个类的 互操作性. 以 inter_op( p) 表示程序 p 的互操作性, 则 inter_op( p) 可用如下公式计算: inter_op( p) = ∑ n i = 1 pub_methodi ( p) n . n 为程 序 p 中公共方法的数目,pub_methodi ( p) 表示调用 第 i 个公共方法所需要传递的参数的 个数. 1. 2. 3 Web 服务的可维护性 对 Web 服务进行维护的难易程度,包括理解、 改正和改进 Web 服务的难易程度. 通过 C&K 度量 集[9]可以定义 Web 服务可维护性的三个子度量 指标. ( 1) 复杂性是指 Web 服务的代码复杂程度. 若 Web 服务的代码复杂性高,说明其内部代码复杂, 不易维护; 复杂程度高的代码出错的可能性也随之 增加. 可以依据 C&K 度量集中的环路复杂度 CC 计 算复杂性,而类的复杂性可通过类中每个方法的环 路复杂度的平均值得到. 环形复杂度 CC 也称 MaCabe 复杂度 . 函数/方 法的复杂性与其中分支数量成正比,分支越多其逻 辑越复杂,也就越难被理解. 因此,CC 的计算方 法为 CC = Nb + 1. 式中,Nb表示函数/方法中判断语句数. ( 2) 可移植性是指代码从某一环境转移到另一 环境下的难易程度. C&K 度量集中的 CBO 和 RFC 描述类之间的相关性以及方法之间的相关性. 因 此,可以利用这两个指标计算可移植性. ( a) 对象类耦合度 CBO 表示与当前类具有耦 合关系的类的个数. 对象类耦合度影响类的可复用 性和可修改性. 对象类耦合度高意味着该类不易复 用且维护困难. CBO 的计算方法为 CBO = ∑ ( | Mi | + | Ai | ) . 式中,Mi表示当前类中第 i 方法调用其他类的方法 的集合,Ai表示当前类中第 i 方法使用其他类的属 性的集合. ( b) 类响应集合 RFC 是指响应了当前类的消 息或者方法的所有方法之和. 类响应集合影响类的 可理解性和可测试性. 类响应集合反映了该类与其 他类之间的交互情况,该集合越大说明交互越复杂. RFC 的计算方法为 RFC = | M∪R | . 式中,M 为当前类中的成员方法集合,R 指被 M 中 方法调用的方法集合. ( 3) 可复用性是指软件代码可以被重用的能 力. 可以采用 C&K 度量集的 NOC 指标计算可复 用性. 子类数 NOC 是指直接继承当前类的子类数,子 类数度量了可复用程度,影响类的可测试性. NOC 的计算方法为 NOC = count( SCi ) . 这里 SCi表示当前类的第 i 个子类. 1. 3 Web 服务的外部可信性 Web 服务的外部可信性是从外部调用的视角、 通过观察和记录 Web 服务在提供服务时所体现的 一些特征信息以及用户的反馈信息对 Web 服务可 信性进行度量,包括 Web 服务的响应时间、可用性、 满意度和信誉度四个度量指标. ( 1) Web 服务响应时间是一个衡量 Web 服务 性能的常用和重要指标,是指从开始发送请求开始 到最后得到输出的时间段. 使用如下公式来计算 Web 服务平均响应时间: Taverage = ∑ n i = 1 ti n . 式中,n 为调用指定 Web 服务的总次数,Taverage为服 务的平均响应时间,ti 为 第 i 次 调 用 服 务 的 响 应 时间. ( 2) Web 服务的可用性是指在某个时间内 Web 服务可用的概率,可以用 Web 服务的成功连接 率衡量. 假设在一段时间内对指定 Web 服务 w 的 调用次数为 n,其中调用成功并返回结果的次数为 success( w) ,调用失败没有得到预期返回结果的次 数为 fail( w) ,则 Web 服务 w 的可用性 available( w) 可用如下公式进行计算: available( w) = success( w) success( w) + fail( w) . 其中,available( w) 越大表明 Web 服务 w 的可用性 越好,间接说明了 w 被成功调用的概率越大. ·546·
第4期 孙昌爱等:一种面向Wb服务的综合可信性度量模型 ·547· (3)Web服务的满意度是指Web服务使用者 布度量结果,供服务使用者参考.采用这种内外结 对服务的满意程度.用户对特定的Wb服务使用 合的方式对Wb服务进行可信性度量,可以保证数 之后的个人评价,可以采用调查问卷的方式实行打 据的可靠性,降低出错的概率 分制度,接受客户的反馈. (2)提出的Wb服务可信性度量模型采用双 (4)Web服务的信誉度通常指Web服务开发 层结构,具有较好的可操作性.首先将可信性分解 商的信誉度.对于功能相同的Wb服务而言,人们 为可生存性、功能性和可维护性等子特性,并对子特 一般会选择信誉度较高的机构开发的Wb服务. 性进行分解与定义相应的度量指标.己有的度量模 1.4TMM4WS的特点分析 型仅给出了抽象的可信性属性定义,并没有给出度 提出的Wb服务可信性度量模型整体结构明 量模型的依据 确、层次分明以及内外结合,是一个综合的Wb服 2面向Wεb服务的可信性度量工具 务可信性度量模型.具体来说: (1)从“内部”和“外部”两方面综合考虑Wb 为了支持用户利用TM4WS对Wb服务可信 服务的可信性.内部可信性针对Wb服务的源代 性进行度量,设计并实现了一个Wb服务可信性度 码进行可信性度量,采用扩展WSDL文件表示与发 量工具TMT4WS.该工具的体系结构如图2所示 XML文档 分析 源文件分析 源代码 ↑生成 度量元计算 解析 XML转换 与存储 日志分析 日志 读取 调用 读取 读写 Web服务调用 Wh服务实现 读取 度量结果可视化 度量数据库 读取 WSDL扩展 写人 WSDL文档 图2 TMT4WS的体系结构 Fig.2 Architecture of TMT4WS TT4WS主要由日志分析、源文件分析、度量元 计算与存储、Wb服务调用、WSDL文件扩展、XML 3实例研究 转换、度量结果可视化等模块组成.具体地说: 采用实例验证TMM4WS以及TMT4WS的有 (1)日志分析与源文件分析分别对Wb服务 效性. 调用的日志文件和Wb服务的实现代码进行解析, 3.1实验设计 提取内部可信性度量元数据 (2)Wb服务调用依据用户输入的WsDL文 (1)以两个开源的Wb服务验证内部可信性: 件地址,解析WSDL生成SOAP消息调用Wb服 ATM服务由本课题组开发,实现了常见的自动取款 务,得到外部可信性度量元数据. 机系统的功能回;Kandula服务由Apache开发,实 (3)度量元计算与存储将Wb服务可信性度 现了一组常见的Web事务协议o, 量元数据存储到度量数据库:依据可信性度量元数 (2)用32个Wb服务验证外部可信性:通过 据计算度量指标的属性值,将结果存储到度量数 动态调用Wb服务的方式获取可信性证据,从响应 据库. 时间和可用性两方面进行度量Wb服务的外部可 (4)度量结果可视化模块从度量数据库或 信性.具体说来,采用TMT4WS从网上随机抓取了 XL文档中获取度量结果,并可视化显示度量 32个Web服务,依据WSDL文件调用Web服务中 结果 包含的操作,统计Wb服务的每个操作的响应时间 (5)XML转化将可信性度量结果保存到XML 与可用性.通过在给定的响应时间范围内(阈值设 文件中. 为60s)Web服务是否响应请求(统计每个Web服 (6)WSDL扩展将可信性度量结果写入服务描 务的平均调用成功率)计算可用性,计算每个Wb 述的WSDL文件中. 服务的各个操作的平均响应时间
第 4 期 孙昌爱等: 一种面向 Web 服务的综合可信性度量模型 ( 3) Web 服务的满意度是指 Web 服务使用者 对服务的满意程度. 用户对特定的 Web 服务使用 之后的个人评价,可以采用调查问卷的方式实行打 分制度,接受客户的反馈. ( 4) Web 服务的信誉度通常指 Web 服务开发 商的信誉度. 对于功能相同的 Web 服务而言,人们 一般会选择信誉度较高的机构开发的 Web 服务. 1. 4 TMM4WS 的特点分析 提出的 Web 服务可信性度量模型整体结构明 确、层次分明以及内外结合,是一个综合的 Web 服 务可信性度量模型. 具体来说: ( 1) 从“内部”和“外部”两方面综合考虑 Web 服务的可信性. 内部可信性针对 Web 服务的源代 码进行可信性度量,采用扩展 WSDL 文件表示与发 布度量结果,供服务使用者参考. 采用这种内外结 合的方式对 Web 服务进行可信性度量,可以保证数 据的可靠性,降低出错的概率. ( 2) 提出的 Web 服务可信性度量模型采用双 层结构,具有较好的可操作性. 首先将可信性分解 为可生存性、功能性和可维护性等子特性,并对子特 性进行分解与定义相应的度量指标. 已有的度量模 型仅给出了抽象的可信性属性定义,并没有给出度 量模型的依据. 2 面向 Web 服务的可信性度量工具 为了支持用户利用 TMM4WS 对 Web 服务可信 性进行度量,设计并实现了一个 Web 服务可信性度 量工具 TMT4WS. 该工具的体系结构如图 2 所示. 图 2 TMT4WS 的体系结构 Fig. 2 Architecture of TMT4WS TMT4WS 主要由日志分析、源文件分析、度量元 计算与存储、Web 服务调用、WSDL 文件扩展、XML 转换、度量结果可视化等模块组成. 具体地说: ( 1) 日志分析与源文件分析分别对 Web 服务 调用的日志文件和 Web 服务的实现代码进行解析, 提取内部可信性度量元数据. ( 2) Web 服务调用依据用户输入的 WSDL 文 件地址,解析 WSDL 生成 SOAP 消息调用 Web 服 务,得到外部可信性度量元数据. ( 3) 度量元计算与存储将 Web 服务可信性度 量元数据存储到度量数据库; 依据可信性度量元数 据计算度量指标的属性值,将结果存储到度量数 据库. ( 4) 度量结果可视化模块从度量数据库或 XML 文档中获取度量结果,并可视化显示度量 结果. ( 5) XML 转化将可信性度量结果保存到 XML 文件中. ( 6) WSDL 扩展将可信性度量结果写入服务描 述的 WSDL 文件中. 3 实例研究 采用实 例 验 证 TMM4WS 以 及 TMT4WS 的 有 效性. 3. 1 实验设计 ( 1) 以两个开源的 Web 服务验证内部可信性: ATM 服务由本课题组开发,实现了常见的自动取款 机系统的功能[2]; Kandula 服务由 Apache 开发,实 现了一组常见的 Web 事务协议[10]. ( 2) 用 32 个 Web 服务验证外部可信性: 通过 动态调用 Web 服务的方式获取可信性证据,从响应 时间和可用性两方面进行度量 Web 服务的外部可 信性. 具体说来,采用 TMT4WS 从网上随机抓取了 32 个 Web 服务,依据 WSDL 文件调用 Web 服务中 包含的操作,统计 Web 服务的每个操作的响应时间 与可用性. 通过在给定的响应时间范围内( 阈值设 为 60 s) Web 服务是否响应请求( 统计每个 Web 服 务的平均调用成功率) 计算可用性,计算每个 Web 服务的各个操作的平均响应时间. ·547·
·548 北京科技大学学报 第36卷 3.2实验结果和分析 可移植性属于中等水平;复杂性较低,具有较好的可 3.2.1内部可信性度量 维护性;可复用性较差,模块之间的代码复用程度不 表1总结了采用度量工具TMT4WS对ATM服 高.Kandula服务的可恢复性为l;安全性较高,对数 务和Kandula服务的内部可行性进行度量的结果. 据和信息的保护比较充分;容错性和正确性属于中 ATM服务的可恢复性为1,说明它只是部署在一台 等水平:互操作性和可移植性很好:复杂性相对较低: 机器上;安全性和容错性较低;正确性、互操作性和 可复用性较差,各个模块之间的代码复用程度不高。 表1Wb服务内部可信性度量结果 Table I Experimental results of internal trustworthiness 服务 可恢复性 安全性 容错性 正确性 互操作性 复杂性 可移植性 可复用性 ATM 1 0.288 0.118 0.613 1.631 1.580 7.976 0.048 Kandula 0.608 3.208 0.832 0.687 0.997 2.430 0.007 上述度量结果表明,Kandula服务在安全性、容 的进行外部可行性度量的结果.在实验过程中发 错性、互操作性、复杂性、可移植性等方面优于ATM 现有11个Wb服务的链接是无效地址,故表2 服务.由于Kandula服务是Apache的开源项目,符 中只列出了21个Wb服务的外部可信性度量结 合标准开源项目的开发规范,开发人员经验丰富,上 果.其中,“Wb服务”列显示了相应Web服务的 述度量结果符合预期结果.本文提出的Wb服务 WSDL地址“平均响应时间”列显示了Web服务 内部可信性度量具有较高的参考价值. 多个操作的平均响应时间(以毫秒计卸;“平均 3.2.2外部可信性度量 可用性”列显示了Wb服务多次调用平均成 表2总结了采用TMT4WS对32个Wb服务 功率. 表2外部可信性的度量结果 Table 2 Experimental results of extemal trustworthiness 序号 Wch服务 平均响应时间/ms 平均可用性/% http://fy.webxml.com.cn/webservices/englishchinese.asmx?wsdl 282.83 93.33 2 http://webservice.webxml.com.cn/webservices/chinaopenfundws.asmx?wsdl 439.67 96.67 3 http://webservice.webxml.com.cn/webservices/chinastocksmallimagews.asmx?wsdl 160.00 100.00 4 http://webservice.webxml.com.cn/webservices/chinastockwebservice.asmx?wsdl 277.40 94.00 5 http://webservice.webxml. com.cn/webs rvices/chinatvprogramwebservice.asmx?wsdl 172.00 96.25 6 http://webservice. wel xml cn/wel ervices/chinazipsearchwebservice.asmx?wsd 1497.80 82.00 > http://webservice.webxml. om.cn/webservices/domesticairline.asmx?wsdl 553.50 100.00 8 http://webser rvices/exchangeratewebservice.asmx?wsdl 257.50 97.50 9 http://webserv cn/wel services/forexrmbratewebservice.asmx?wsd 250.00 100.00 10 http://webservice.webxml. om.cn/web ervices/ipaddresssearchwebservice.asmx?wsdl 171.67 93.33 11 http://webservice.webxml.com.cn/webservices/mobilecodews.asmx?wsdl 250.00 100.00 12 http://webservice.webxml. m.cn/web ervices/qqonlinewebservice.asmx?wsdl 172.00 100.00 13 http://webservice. om.cn/web services/stockinfows.asmx?wsdl 187.00 80.00 14 http://webservice.webxml.com.cn/webservices/traditionalsimplifiedwebservice.asmx?wsdl 171.50 95.00 15 http://webservice. es/traintimewebservice.asmx?wsdl 1534.88 100.00 16 http://webservice cn ervices/translatorwebservice.asmx?wsdl 827.00 100.00 > http://webservice.webxml. cn/wet ervices/validatecodewebservice.asmx?wsdl 171.00 90.00 18 http://webservice ces/validateemailwebservice.asmx?wsdl 171.50 75.00 19 http://webservice.wel cn es/weatherwebservice.asmx?wsdl 299.60 100.00 20 http://webservice.webxml.com.en/webservices/weatherws.asmx?wsdl 205.67 93.33 21 http://www.webservicex.net/WeatherForecast.asmx?wsdl 234.50 95.00
北 京 科 技 大 学 学 报 第 36 卷 3. 2 实验结果和分析 3. 2. 1 内部可信性度量 表 1 总结了采用度量工具 TMT4WS 对 ATM 服 务和 Kandula 服务的内部可行性进行度量的结果. ATM 服务的可恢复性为 1,说明它只是部署在一台 机器上; 安全性和容错性较低; 正确性、互操作性和 可移植性属于中等水平; 复杂性较低,具有较好的可 维护性; 可复用性较差,模块之间的代码复用程度不 高. Kandula 服务的可恢复性为1; 安全性较高,对数 据和信息的保护比较充分; 容错性和正确性属于中 等水平; 互操作性和可移植性很好; 复杂性相对较低; 可复用性较差,各个模块之间的代码复用程度不高. 表 1 Web 服务内部可信性度量结果 Table 1 Experimental results of internal trustworthiness 服务 可恢复性 安全性 容错性 正确性 互操作性 复杂性 可移植性 可复用性 ATM 1 0. 288 0. 118 0. 613 1. 631 1. 580 7. 976 0. 048 Kandula 1 0. 608 3. 208 0. 832 0. 687 0. 997 2. 430 0. 007 上述度量结果表明,Kandula 服务在安全性、容 错性、互操作性、复杂性、可移植性等方面优于 ATM 服务. 由于 Kandula 服务是 Apache 的开源项目,符 合标准开源项目的开发规范,开发人员经验丰富,上 述度量结果符合预期结果. 本文提出的 Web 服务 内部可信性度量具有较高的参考价值. 3. 2. 2 外部可信性度量 表 2 总结了采用 TMT4WS 对 32 个 Web 服务 的进行外部可行性度量的结果. 在实验过程中发 现有 11 个 Web 服务的链接是无效地址,故 表 2 中只列出了 21 个 Web 服务的外部可信性度量结 果. 其中,“Web 服务”列显示了相应 Web 服务的 WSDL 地址,“平均响应时间”列显示了 Web 服务 多个操作的平均响应时间( 以毫秒计算) ; “平均 可用 性”列 显 示 了 Web 服务多次调用平 均 成 功率. 表 2 外部可信性的度量结果 Table 2 Experimental results of external trustworthiness 序号 Web 服务 平均响应时间/ms 平均可用性/% 1 http: / /fy. webxml. com. cn /webservices/englishchinese. asmx? wsdl 282. 83 93. 33 2 http: / /webservice. webxml. com. cn /webservices/chinaopenfundws. asmx? wsdl 439. 67 96. 67 3 http: / /webservice. webxml. com. cn /webservices/chinastocksmallimagews. asmx? wsdl 160. 00 100. 00 4 http: / /webservice. webxml. com. cn /webservices/chinastockwebservice. asmx? wsdl 277. 40 94. 00 5 http: / /webservice. webxml. com. cn /webservices/chinatvprogramwebservice. asmx? wsdl 172. 00 96. 25 6 http: / /webservice. webxml. com. cn /webservices/chinazipsearchwebservice. asmx? wsdl 1497. 80 82. 00 7 http: / /webservice. webxml. com. cn /webservices/domesticairline. asmx? wsdl 553. 50 100. 00 8 http: / /webservice. webxml. com. cn /webservices/exchangeratewebservice. asmx? wsdl 257. 50 97. 50 9 http: / /webservice. webxml. com. cn /webservices/forexrmbratewebservice. asmx? wsdl 250. 00 100. 00 10 http: / /webservice. webxml. com. cn /webservices/ipaddresssearchwebservice. asmx? wsdl 171. 67 93. 33 11 http: / /webservice. webxml. com. cn /webservices/mobilecodews. asmx? wsdl 250. 00 100. 00 12 http: / /webservice. webxml. com. cn /webservices/qqonlinewebservice. asmx? wsdl 172. 00 100. 00 13 http: / /webservice. webxml. com. cn /webservices/stockinfows. asmx? wsdl 187. 00 80. 00 14 http: / /webservice. webxml. com. cn /webservices/traditionalsimplifiedwebservice. asmx? wsdl 171. 50 95. 00 15 http: / /webservice. webxml. com. cn /webservices/traintimewebservice. asmx? wsdl 1534. 88 100. 00 16 http: / /webservice. webxml. com. cn /webservices/translatorwebservice. asmx? wsdl 827. 00 100. 00 17 http: / /webservice. webxml. com. cn /webservices/validatecodewebservice. asmx? wsdl 171. 00 90. 00 18 http: / /webservice. webxml. com. cn /webservices/validateemailwebservice. asmx? wsdl 171. 50 75. 00 19 http: / /webservice. webxml. com. cn /webservices/weatherwebservice. asmx? wsdl 299. 60 100. 00 20 http: / /webservice. webxml. com. cn /webservices/weatherws. asmx? wsdl 205. 67 93. 33 21 http: / /www. webservicex. net /WeatherForecast. asmx? wsdl 234. 50 95. 00 ·548·
第4期 孙昌爱等:一种面向Wb服务的综合可信性度量模型 ·549· 度量结果表明:(1)TT4WS能够有效地检查 度量结果,进而综合得到Wb服务的可信度. 出Web服务的死链接,确保被调用Web服务的可 Weider等P提出一种基于测试的Web服务可信性 信性;(2)大部分Wb服务的平均响应时间都是在 度量方法,通过给定的Wb服务错误模型间接反映 1s以下,第6和第15号Web服务的平均响应时间 Web服务的可信程度,运用软件测试寻找Web服务 在1s以上,可用性较差;(3)大多数Wb服务的可 中可能存在的缺陷,以找到的缺陷数量评估Wb 用性较高,但第6、第13和第18号Wb服务的可用 服务的可信性.Zhang等2a提出一种以用户为中 性较低(小于90%). 心,通过移动代理和错误植入等方法测试Wb服 务的可信性方法.通过运用移动代理技术,对Wb 4相关工作 服务进行大批量可信性测试,因此可以缩短选择 近年来,可信软件引起各国的广泛的关注,人们 可信Wb服务的时间m.己有工作基本都是基于 提出了各种可信软件的构造与评价方法1.代 应用阶段证据,对Wb服务的外部可信性进行 表性的研究工作包括:田俊峰等在扩充信任链模 度量 型的基础上提出一种可信软件的设计与评价方法: 杨善林等提出基于效用和证据理论的可信软件 5结论 评估方法;赵会群和孙晶提出一种面向S0A软 如何评价与度量Wb服务的可信性是基于 件可信性评估的代数模型:曾晋等a探讨了服务组 Wb服务开发可信的分布式应用程序中一个关键 合动态演化过程中的可信性保证问题. 问题.鉴于目前不存在面向Wb服务的统一可信 在软件可信性度量模型方面,陈火旺等提出 性度量模型与支持工具,本文提出一个Wb服务可 影响软件可信性的属性包括可靠性、安全性、保密 信性度量模型,开发相应的支持工具,通过实例研究 性、生存性、容错性和实时性.Yang同提出一种基于 验证所提的Wb服务可信性度量模型的有效性与 可信演变的软件可信性分类度量模型,将软件可信 可操作性.本文的主要结论如下: 性属性分为三部分:内部属性、外部属性和与环境交 (1)提出了一种内外结合的Wb服务可信性 互的属性.其中内部属性包括有效性、复杂性和可 度量模型TMM4WS.该度量模型从静态源代码和 维护性圆:外部属性包括可用性、保密性、可靠性、 Web服务使用两方面搜集Web服务的可信性证据: 易用性、可重用性和实时性:与环境交互的属性 度量模型中提到的每一个度量指标都给出了明确的 包括可生存性和可移植性-).依据上述属性,分 定义和计算方法 析了可信指数与可信证据之间的关系,提出了可信 (2)依据度量模型TMM4WS设计并实现了 软件分级模型.然而,提出的可信性度量模型是基 Web服务可信性度量工具TT4WS,对Web服务进 于抽象层次的描述,没有给出每个可信属性的量化 行内外结合的可信性度量,提供XML和Wb页面 定义与计算. 两种数据展示方式. 在Web服务可信性的度量方面,Zhao等将 (3)以实例验证了Web服务可信性度量模型 Wb服务的可信性分解为可用性、可靠性、响应时 的有效性与可操作性 间、信誉度和安全性,提出一种可信Web服务的管 理框架,探讨如何计算组合的Wb服务的可信性计 参考文献 算方法.该方法并没有讨论单个Wb服务可信性 [1]Sun C A.On open issues of on SOA-based software development 度量模型以及各个属性的具体度量方法.由于Wb d/0L].Sciencepaper0 nline(2011-07-01)[2012-11-10] http://www.paper.edu.cn/index.php/default/releasepaper/ 服务的不可信主要是由软件缺陷引起的,通过分析 content/201107-461 软件缺陷和可信性之间的内在联系,用软件缺陷来 (孙昌爱.面向SOA的软件开发中若干开放问题探讨[U/ 刻画Wb服务的可信属性.徐传运等2提出了一 0].中国科技论文在线(201107-01)[2012-11-10].t- 种基于缺陷驱动的Wb服务可信性度量模型.该 tp://www.paper.edu.cn/index.php/default/releasepaper/ 模型将可信性分解为正确性、防卫性、可用性、可靠 content/.201107-461) 性、性能、安全性和私密性.利用缺陷在Wb服 e) Sun C A,Wang G,Zhao Y M.Web service development process framework and case study.Highlights of Sciencepaper Online, 务中的演化来确定每种缺陷对最终可信度的影响程 2011,4(10):1835 度,采用隐马尔可夫模型对所得初始权重进行修正, (孙昌爱,王冠,赵永梅.W山服务的开发过程框架及其实例 通过加权求和的方式求得七个基本可信属性的缺陷 研究.中国科技论文在线精品论文,2011,4(10):1835)
第 4 期 孙昌爱等: 一种面向 Web 服务的综合可信性度量模型 度量结果表明: ( 1) TMT4WS 能够有效地检查 出 Web 服务的死链接,确保被调用 Web 服务的可 信性; ( 2) 大部分 Web 服务的平均响应时间都是在 1 s 以下,第 6 和第 15 号 Web 服务的平均响应时间 在 1 s 以上,可用性较差; ( 3) 大多数 Web 服务的可 用性较高,但第 6、第 13 和第 18 号 Web 服务的可用 性较低( 小于 90% ) . 4 相关工作 近年来,可信软件引起各国的广泛的关注,人们 提出了各种可信软件的构造与评价方法[11--12]. 代 表性的研究工作包括: 田俊峰等[13]在扩充信任链模 型的基础上提出一种可信软件的设计与评价方法; 杨善林等[14]提出基于效用和证据理论的可信软件 评估方法; 赵会群和孙晶[15]提出一种面向 SOA 软 件可信性评估的代数模型; 曾晋等[16]探讨了服务组 合动态演化过程中的可信性保证问题. 在软件可信性度量模型方面,陈火旺等[17]提出 影响软件可信性的属性包括可靠性、安全性、保密 性、生存性、容错性和实时性. Yang [3]提出一种基于 可信演变的软件可信性分类度量模型,将软件可信 性属性分为三部分: 内部属性、外部属性和与环境交 互的属性. 其中内部属性包括有效性、复杂性和可 维护性[18]; 外部属性包括可用性、保密性、可靠性、 易用性、可重用性和实时性[19]; 与环境交互的属性 包括可生存性和可移植性[20--21]. 依据上述属性,分 析了可信指数与可信证据之间的关系,提出了可信 软件分级模型. 然而,提出的可信性度量模型是基 于抽象层次的描述,没有给出每个可信属性的量化 定义与计算. 在 Web 服务可信性的度量方面,Zhao 等[22]将 Web 服务的可信性分解为可用性、可靠性、响应时 间、信誉度和安全性,提出一种可信 Web 服务的管 理框架,探讨如何计算组合的 Web 服务的可信性计 算方法. 该方法并没有讨论单个 Web 服务可信性 度量模型以及各个属性的具体度量方法. 由于 Web 服务的不可信主要是由软件缺陷引起的,通过分析 软件缺陷和可信性之间的内在联系,用软件缺陷来 刻画 Web 服务的可信属性. 徐传运等[23]提出了一 种基于缺陷驱动的 Web 服务可信性度量模型. 该 模型将可信性分解为正确性、防卫性、可用性、可靠 性、性能、安全性和私密性[24]. 利用缺陷在 Web 服 务中的演化来确定每种缺陷对最终可信度的影响程 度,采用隐马尔可夫模型对所得初始权重进行修正, 通过加权求和的方式求得七个基本可信属性的缺陷 度量 结 果,进 而 综 合 得 到 Web 服 务 的 可 信 度. Weider等[25]提出一种基于测试的 Web 服务可信性 度量方法,通过给定的 Web 服务错误模型间接反映 Web 服务的可信程度,运用软件测试寻找 Web 服务 中可能存在的缺陷,以找到的缺陷数量评估 Web 服务的可信性. Zhang 等[26]提出一种以用户为中 心,通过移动代理和错误植入等方法测试 Web 服 务的可信性方法. 通过运用移动代理技术,对 Web 服务进行大批量可信性测试,因此可以缩短选择 可信 Web 服务的时间[27]. 已有工作基本都是基于 应用阶 段 证 据,对 Web 服务的外部可信性进行 度量. 5 结论 如何评价与度量 Web 服务的可信性是基于 Web 服务开发可信的分布式应用程序中一个关键 问题. 鉴于目前不存在面向 Web 服务的统一可信 性度量模型与支持工具,本文提出一个 Web 服务可 信性度量模型,开发相应的支持工具,通过实例研究 验证所提的 Web 服务可信性度量模型的有效性与 可操作性. 本文的主要结论如下: ( 1) 提出了一种内外结合的 Web 服务可信性 度量模型 TMM4WS. 该度量模型从静态源代码和 Web 服务使用两方面搜集 Web 服务的可信性证据; 度量模型中提到的每一个度量指标都给出了明确的 定义和计算方法. ( 2) 依据度量模型 TMM4WS 设计并实现 了 Web 服务可信性度量工具 TMT4WS,对 Web 服务进 行内外结合的可信性度量,提供 XML 和 Web 页面 两种数据展示方式. ( 3) 以实例验证了 Web 服务可信性度量模型 的有效性与可操作性. 参 考 文 献 [1] Sun C A. On open issues of on SOA-based software development [J/OL]. Sciencepaper Online ( 2011--07--01) [2012--11--10]. http: / /www. paper. edu. cn /index. php /default /releasepaper/ content /201107--461 ( 孙昌爱. 面 向 SOA 的软件开发中若干开放问题探讨[J/ OL]. 中国科技论文在线( 2011--07--01) [2012--11--10]. http: / /www. paper. edu. cn /index. php /default /releasepaper/ content /201107--461) [2] Sun C A,Wang G,Zhao Y M. Web service development process framework and case study. Highlights of Sciencepaper Online, 2011,4( 10) : 1835 ( 孙昌爱,王冠,赵永梅. Web 服务的开发过程框架及其实例 研究. 中国科技论文在线精品论文,2011,4( 10) : 1835) ·549·
·550· 北京科技大学学报 第36卷 B]Yang JA.Classification evaluation model for software trustworthi- [15]Zhao HQ,Sun J.A methodological study of evaluating the de- ness based on trustworthiness evolution /Proceedings of IEEE In- pendability of SOA software system.Chin J Comput,2010,33 ternational Conference on Business Management and Electronic In- (11):2202 formation (BMEI).Guangzhou,2011:222 (赵会群,孙品.一种SOA软件系统可信性评价方法研究 4]Tao H W.Research on the Measurement Models of Softwcare Trust- 计算机学报,2010,33(11):2202) worthiness Based on Attributes [Dissertation].Shanghai:East Chi- [16]Zeng J,Sun H L,Liu X D,et al.Dynamic evolution mechanism na Normal University,2011:1 for trustworthy software based on service composition.J Software, (陶红伟.基于属性的软件可信性度量模型研究[学位论文] 2010,21(2):261 上海:华东师范大学,2011:1) (曾晋,孙海龙,刘旭东,等.基于服务组合的可信软件动态 [5]Lang B,Liu X D,Wang H M,et al.A classification model for 演化机制.软件学报,2010,21(2):261) software trustworthiness.J Front Comput Sci Technol,2010,4 [17]Chen H W,Wang J,Dong W,et al.High confidence software (3):231 engineering technologies.Acta Electron Sin,2003,31(12A):2 (郎波,刘旭东,王怀民,等.一种软件可信分级模型.计算 (陈火旺,王戟,董威,等.高可信软件工程技术.电子学 机科学与探索,2010,4(3):231) 报,2003,31(12A):2) 6]Laprie JC.Dependability of computer systems:concepts,limits, [18]Laprie J C.Dependable computing and fault tolerance:concepts improvements /Proceedings of Sixth International Symposium on and terminology /Proceedings of 15th IEEE International Sym- Software Reliability Engineering.Toulouse,1995:2 posium on Fault-Tolerant Computing FTCS-5).Michigan, 7]Cai S B,Zhou Y Z,Shao L S.Framework supporting software as- 1985:2 sets evaluation on trustworthiness.J Softcare,2010,21(2):359 [19]Avizienis A,Laprie J C,Randell B.Fundamental concepts of (蔡斯博,邹艳珍,邵凌霜.一种支持软件资源可信评估的框 dependability Proceedings of3rd International Workshop on In- 架.软件学报,2010,21(2):359) formation Survirability (ISW2000).Boston,2000:24 [8]Ding X L,Wang H M,Wang YY.Verification oriented trustwor- 220]Avizienis A,Laprie J C.Randell B.Basic concepts and taxono- thiness evidence and trustworthiness evaluation of software.Front my of dependable and secure computing.IEEE Trans Dependable Comput Sci Technol,2010,4(1)46 Secure Comput,2004,1 (1)11 (丁学雷,王怀民,王元元.面向验证的软件可信证据与可信 21]Zheng Z M,Ma S L,Li W.Complexity of software trustworthi- 评估.计算机科学与探素,2010,4(1):46) ness and its dynamical statistical analysis methods.Sci China Ser 9]Sun C A,Zhao M.Measuring reusability and maintainability of F,2009,52(9):1651 open source software:a case study.JComput Sci,2010,37(Spec 22] Zhao S H,Wu G X,Li Y M,et al.A framework for trustworthy Iss):66 Web service management /Proceedings of the Second Interna- (孙昌爱,赵敏.开源软件的可复用性和可维护性度量实例研 tional Symposium on Electronic Commerce and Security (ISECS). 究.计算机科学,2010,37(专刊):66) Nanchang,2009:479 [10]Apache Kandula [J/OL].Apache [2012-11-10].http:/ D3]Xu C Y,Yang D,Zhang Y,et al.Defect-driven trustworthiness wso2.com/projects/kandula/java metrics model of Web services.Appl Res Comput,2011,28 (7): 11]Wang H M,Tang Y B,Yin G,et al.Trustworthiness of internet- 2723 based software.Sci China Ser F,2006,49(6):759 (徐传运,杨丹,张杨,等.缺陷驱动的Wh服务可信性度 [2]Immonen A,Palviainen M.Trustworthiness evaluation and tes- 量模型.计算机应用研究,2011,28(7):2723) ting of open source components /Proceedings of the 7th Interna- 24]Li JZ,Ruhe G,Alemrana A.A flexible method for software ef- tional Conference on Quality Sofucare (QSIC 2007).Portland, fort estimation by analogy.Empir Softwcare Eng,2007,12 (1): 2007:11 65 [13]Tian J F.LiZ,Liu YZ.An design approach of trustworthy soft- 225]Weider D Y,Supthaweesuk P,Aravind D.Trustworthy Web ware and its trustworthiness evaluation.J Comput Res Der,2011, services based on testing Proceedings of IEEE International 48(8):1447 Workshop on Service-Oriented System Engineering (SOSE).Bei- (田俊峰,李珍,刘玉玲.一种可信软件设计方法及可信性 jing,2005:167 评价.计算机研究与发展,2011,48(8):1447) 26]Zhang J,Zhang L J,Chung J Y.An approach to help select [4]Yang S L,Ding S.Zhu W.Trustworthy software evaluation using trustworthy Web services components/Proceedings of 2004 utility based evidence Theory.J Comput Res Der,2009,46(7): IEEE International Conference on E-Commerce for Dynamic E- 1152 Business.Beijing,2004:12 (杨善林,丁帅,诸伟.一种基于效用和证据理论的可信软 227]Zhang L J.Challenges and opportunities for Web services re- 件评估方法.计算机研究与发展,2009,46(7):1152) search.Int J Web Services Res,2004,1(1):1
北 京 科 技 大 学 学 报 第 36 卷 [3] Yang J A. Classification evaluation model for software trustworthiness based on trustworthiness evolution / / Proceedings of IEEE International Conference on Business Management and Electronic Information ( BMEI) . Guangzhou,2011: 222 [4] Tao H W. Research on the Measurement Models of Software Trustworthiness Based on Attributes[Dissertation]. Shanghai: East China Normal University,2011: 1 ( 陶红伟. 基于属性的软件可信性度量模型研究[学位论文]. 上海: 华东师范大学,2011: 1) [5] Lang B,Liu X D,Wang H M,et al. A classification model for software trustworthiness. J Front Comput Sci Technol,2010,4 ( 3) : 231 ( 郎波,刘旭东,王怀民,等. 一种软件可信分级模型. 计算 机科学与探索,2010,4( 3) : 231) [6] Laprie J C. Dependability of computer systems: concepts,limits, improvements / / Proceedings of Sixth International Symposium on Software Reliability Engineering. Toulouse,1995: 2 [7] Cai S B,Zhou Y Z,Shao L S. Framework supporting software assets evaluation on trustworthiness. J Software,2010,21( 2) : 359 ( 蔡斯博,邹艳珍,邵凌霜. 一种支持软件资源可信评估的框 架. 软件学报,2010,21( 2) : 359) [8] Ding X L,Wang H M,Wang Y Y. Verification oriented trustworthiness evidence and trustworthiness evaluation of software. J Front Comput Sci Technol,2010,4( 1) : 46 ( 丁学雷,王怀民,王元元. 面向验证的软件可信证据与可信 评估. 计算机科学与探索,2010,4( 1) : 46) [9] Sun C A,Zhao M. Measuring reusability and maintainability of open source software: a case study. J Comput Sci,2010,37( Spec Iss) : 66 ( 孙昌爱,赵敏. 开源软件的可复用性和可维护性度量实例研 究. 计算机科学,2010,37( 专刊) : 66) [10] Apache Kandula [J/OL]. Apache [2012--11--10]. http: / / wso2. com/projects/kandula /java [11] Wang H M,Tang Y B,Yin G,et al. Trustworthiness of internetbased software. Sci China Ser F,2006,49( 6) : 759 [12] Immonen A,Palviainen M. Trustworthiness evaluation and testing of open source components / / Proceedings of the 7th International Conference on Quality Software ( QSIC 2007) . Portland, 2007: 11 [13] Tian J F,Li Z,Liu Y Z. An design approach of trustworthy software and its trustworthiness evaluation. J Comput Res Dev,2011, 48( 8) : 1447 ( 田俊峰,李珍,刘玉玲. 一种可信软件设计方法及可信性 评价. 计算机研究与发展,2011,48( 8) : 1447) [14] Yang S L,Ding S,Zhu W. Trustworthy software evaluation using utility based evidence Theory. J Comput Res Dev,2009,46( 7) : 1152 ( 杨善林,丁帅,诸伟. 一种基于效用和证据理论的可信软 件评估方法. 计算机研究与发展,2009,46( 7) : 1152) [15] Zhao H Q,Sun J. A methodological study of evaluating the dependability of SOA software system. Chin J Comput,2010,33 ( 11) : 2202 ( 赵会群,孙晶. 一种 SOA 软件系统可信性评价方法研究. 计算机学报,2010,33( 11) : 2202) [16] Zeng J,Sun H L,Liu X D,et al. Dynamic evolution mechanism for trustworthy software based on service composition. J Software, 2010,21( 2) : 261 ( 曾晋,孙海龙,刘旭东,等. 基于服务组合的可信软件动态 演化机制. 软件学报,2010,21( 2) : 261) [17] Chen H W,Wang J,Dong W,et al. High confidence software engineering technologies. Acta Electron Sin,2003,31( 12A) : 2 ( 陈火旺,王戟,董威,等. 高可信软件工程技术. 电子学 报,2003,31( 12A) : 2) [18] Laprie J C. Dependable computing and fault tolerance: concepts and terminology / / Proceedings of 15th IEEE International Symposium on Fault-Tolerant Computing ( FTCS-15 ) . Michigan, 1985: 2 [19] Avizienis A,Laprie J C,Randell B. Fundamental concepts of dependability / / Proceedings of 3rd International Workshop on Information Survivability ( ISW-2000) . Boston,2000: 24 [20] Avizienis A,Laprie J C,Randell B. Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secure Comput,2004,1( 1) : 11 [21] Zheng Z M,Ma S L,Li W. Complexity of software trustworthiness and its dynamical statistical analysis methods. Sci China Ser F,2009,52( 9) : 1651 [22] Zhao S H,Wu G X,Li Y M,et al. A framework for trustworthy Web service management / / Proceedings of the Second International Symposium on Electronic Commerce and Security ( ISECS) . Nanchang,2009: 479 [23] Xu C Y,Yang D,Zhang Y,et al. Defect-driven trustworthiness metrics model of Web services. Appl Res Comput,2011,28( 7) : 2723 ( 徐传运,杨丹,张杨,等. 缺陷驱动的 Web 服务可信性度 量模型. 计算机应用研究,2011,28( 7) : 2723) [24] Li J Z,Ruhe G,Alemrana A. A flexible method for software effort estimation by analogy. Empir Software Eng,2007,12( 1) : 65 [25] Weider D Y,Supthaweesuk P,Aravind D. Trustworthy Web services based on testing / / Proceedings of IEEE International Workshop on Service-Oriented System Engineering ( SOSE) . Beijing,2005: 167 [26] Zhang J,Zhang L J,Chung J Y. An approach to help select trustworthy Web services components / / Proceedings of 2004 IEEE International Conference on E-Commerce for Dynamic EBusiness. Beijing,2004: 12 [27] Zhang L J. Challenges and opportunities for Web services research. Int J Web Services Res,2004,1( 1) : 1 ·550·