(计算机应用技术专业论文)基于能力模型的组件选择方法的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于能力模型的组件选择方法的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于能力模型的组件选择方法的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于能力模型的组件选择方法的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于能力模型的组件选择方法的研究与实现.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机应用技术专业论文)基于能力模型的组件选择方法的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 基于组件的开发已逐渐成为软件开发的趋势,它不仅可以提高组件的重用率,避免了重复开发, 还提高了整个软件开发的效率并降低了开发的成本。但是,基于组件的系统对于组件问的互操作性 也有了更高的要求。为了选择合适的组件组成一个集成系统,组件选择过程中出现的误匹配和语义 问题是需要考虑的主要问题。国际标准i s o1 6 1 0 0 制定了软件能力描述的规范,提出了加强软件互 操作的方法。基于该国际标准,本文对软件互操作的实现机制进行了较为深入的研究。主要研究内 容如下: ( 1 ) 国际标准i s o1 6 1 0 0 对软件组件能力完整、准确的描述方法。介绍了能力模型的基本元素: 能力类结构( c c s ) ,能力类和能力描述。在i s o1 6 1 0 0 提出的能力模型的基础上,提出了 较为完整的组件能力描述方法。 ( 2 ) i s o1 6 l 0 0 提出了能力建模方法学。本文研究了用户能力需求与组件能力描述的匹配机制, 首先分析了简单匹配( 用户需求和组件能力描述源自同一c c s ) ,提出了简单能力匹配算 法。在此基础上,分析和讨论了当用户需求和组件能力描述建模于不同c c s 时的高级匹配, 提出了c c s 映射算法f c n ( 野n dc o r r e s p o n d i n gn o d e ) ,以解决不同c c s 间存在的描述差 异,进而提出了完整的能力匹配机制。 ( 3 ) 分析了f c n 算法,同原有的c c s 映射算法s m p l ,s m p 2 进行了比较并指出了f c n 自身 的不足。 ( 4 ) 组件选择过程中的组件搜索效率问题,提出了遍历搜索,快速搜索,多能力类直接搜索和 多能力类复杂搜索等搜索方法。深入探讨了当用户需求包含多个能力类描述的情况下,如 何保证搜索的效率和准确性。 ( 5 ) 实现了能够反映i s o1 6 1 0 0 加强软件互操作基本方法的原型系统。原型系统提供了能力模 型中基本元素的图形生成界面,实现了能力建模( 能力类结构、能力类和能力描述) 系统; 原型系统实现了基于多能力类建模时映射c c s 的f c n 算法,通过实例验证了f c n 算法的 可行性和正确性。原型系统实现了文章中提出的组件选择方法,并通过实例验证了组件选 择方法的合理性和可行性。 关键词:基于组件开发,软件互操作,能力节点,能力匹配,能力类结构映射 a b s t r a c t c o m d o n e n t - b a s e dd e v e l o p m e n ti sg r a d u a l l ys h o w i n gi t sa d v a n t a g e si nb u i l d i n gc o m p l e x s y s t e m sw i t h s h o r t e rt i m ea n di e s sc o s tt h a nt r a d i t i o n a l m e t h o d s h o w e v e r , i n t e r o p e r a b i l i t y b e t w e e nc o m p o n e n t s m i s m a t c h i n ga n ds e m a n t i ci s k e yp r o b l e m si nc o m p o n e n ts e l e c t i o n p r o c e s s i nt h i sp a p e eac a p a b i l i t ym o d e l sp r o p o s e dt op r e c i s e l ya n dc o m p l e t e l yd e s c r i b et h e u s e rr e q u i r e m e n t sa n dc o m p o n e n tc a p a b i l i t yb a s e do ni s o1 6 10 0 t h ew o r kr e l a t e dw i t h c a p a b i l i t ym o d e la n dc o m p o n e n ts e l e c t i o nm e t h o di sa l s od e s c n b e d ( 1 ) c a p a b i l i t ym o d e lb a s e do ni s o16 10 0 i s o1610 0s p e c i f i e st h ec a p a b i l i t ym o d e lu s e dt o d e s c n b et h ec a p a b i l i t i e so fc o m p o n e n t sa sw e l la su s e rr e q u i r e m e n t sp r e c i s e l ya n d c o m p l e t e l y i nt h i sp a p er ,a ne n t i r ec o m p o n e n td e s c r i p t i o nm e t h o di sp r o p o s e db a s e do n t h i sc a p a b i l i t ym o d e l ( 2 ) b a s e do nt h ec a p a b i l i t ym o d e l ,t h es i m p l ec a p a b i l i t ym a t c h i n g ( t h ed e s c d p t i o no fu s e r r e q u i r e m e n t sa n dc a p a b i l i t i e so fc o m p o n e n t su s et h es a m ed o m a i nm o d e l ) i si n t r o d u c e d , t h e n ,s o p h i s t i c a t e dm a t c h i n gi sa n a l y z e d ( t h ed e s c r i p t i o no fu s e rr e q u i r e m e n t sa n d c a p a b i l i t i e so fc o m p o n e n t su s ed i f f e r e n td o m a i nm o d e l s ) am a p p i n ga l g o r i t h mf c n f , _ f i n dc o r r e s p o n d i n gn o d e ) i si n t r o d u c e df o rs e m a n t i cp r o b l e m si nm a t c h i n gt w o c a p a b i l i t yp r o f i l e sf r o md i f f e r e n td o m a i nm o d e l s ( 3 ) t h ed e s c r i p t i o no fa l g o r i t h mf c na n dt h ec o m p a r i s o nw i t hs m p1a n dsm p 2a r e d i s c u s s e di nd e t a i l , ( 4 ) ac o m p o n e n ts e l e c t i o nm e t h o di sp r e s e n t e dt oi m p r o v ei n t e r o p e r a b i l i t yf o rm u l t id o m a i n m o d e l s s o m es e a r c hs t r a t e g i e s ,s u c ha sb r u t ef o r c es e a r c hs t r a t e g y , f a s ts e a r c h s t r a t e g y , d i r e c ts e a r c hs t r a t e g ya n ds o p h i s t i c a t e ds e a r c hs t r a t e g ya r ea l s od i s c u s s e d ( 5 ) t h ei m p l e m e n t e dp r o t o t y p eo ft h ep r o p o s e dm e t h o d si sa l s op r e s e n t e d p r o t o t y p e s y s t e mi m p l e m e n t st h eb a s e e l e m e n t sd e f i n e di nt h ed o m a i nm o d e l t h em a p p i n g a l g o r i t h mf c ni st e s t e dt ov a l i d a t ej t sf e a s i b i l i t ya n dc o r r e c t n e s s t h ep r o p o s e d c o m p o n e n ts e l e c t i o nm e t h o di sa l s ot e s t e da n dg e t st h ee x p e c t e do u t p u t s k e y w o r d s :c o m p o n e n tb a s e dd e v e l o p ,i n t e r o p e r a b i l i t y , c a p a b i l i t yn o d e ,c a p a b i l i t ym a t c h i n g , c a p a b i l i t yc l a s ss t r u c t u r em a p p i n g 图表目录 图1 集成制造应用的组成一4 图2 活动树和能力类结构之间的对应关系一5 图3 m s up r o f i l e 的生成过程6 图4 能力描述的生成和注册一7 图5 复杂能力匹配一9 图6 能力匹配级别一1 0 图7 简单能力匹配示例l o 图8 节点名和节点功能间的四种关系1 1 图9 对应节点示例1 3 图1 0 c c s 之间的层次差异1 9 图l1 组件选择过程2 2 图1 2 包含多个能力类的用户需求j 2 5 图1 3 匹配报告查看器2 7 图1 4 加入过程模型之后的c c s “2 9 图1 5 兼容类型31 图1 6 原型系统整体结构:3 2 图17 i s o d e m o 主界面3 3 图l8 c c s 和p r o f i l e 生成界面3 3 图1 9 c c s 的二叉树表示。3 5 图2 0 f c n 算法演示界面一3 6 图21 组件选择界面一3 8 表1 f c n 算法结果1 4 , , 表2 f c n 和s m p 2 结果对比19 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南 大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志 对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 研究生签名:j 蔓童l 日期:墟垃 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送 交学位论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保 存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的 保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的全部 或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名:芝当孟j 五导师签名:趁日期:上塑星坚墨9 第一章绪论 1 1 课题背景 第一章绪论弟一早殖化 在制造软件领域中,基于组件开发c b d ( c o m p o n e n tb a s e dd e v e l o p ) 技术正逐渐改变着软件开 发的过程,并体现出其优势,主要表现为1 】: ( 1 ) 缩短了开发时问; ( 2 ) 降低了开发成本; ( 3 ) 提高了开发人员的工作效率并降低了对开发人员的技术要求; ( 4 ) 提高了软件的质量。 基于组件开发提高了组件的重用率,软件重用提高了整个软件开发的效率,避免了以往的重复 开发,同时降低了开发的成本,已逐渐成为未来软件开发的趋势。基于组件的开发使组件供应商的 工作更专业化,不同的组件供应商可以专注开发各自领域内的组件,从而不断提高组件的质量。 在基于组件开发的过程中,某个应用重用各种已经存在的软件组件,让它们集成在一起工作, 完成特定的应用。组件重用的前提需要保证组件之间的互操作,组件之间必须能够直接、实时地交 互信息,这是当前企业集成领域的一个研究热点。在大规模的组件重用过程中,能否按照用户需求 寻找到合适的组件是关键,其核心问题是如何描述软件能力并通过能力匹配来选择合适的组件。能 力描述将直接影响能力匹配的过程。 针对上述问题,首先需要制定统一的,标准化的组件能力描述和用户需求描述的方法。有了统 一、标准化的描述方法,才能使不同企业对组件能力的描述和用户需求描述规范化。规范化的能力 描述同时方便了能力匹配过程,提高了能力匹配的效率。 1 2国内外研究现状 在r u h e 2 】的文章中介绍了现有的一些搜索方法和组件搜索面临的困难和需要达到的目标。文章 认为组件搜索具有以下特性: ( 1 ) 不确定性:用户需求的不确定性,对于组件的可靠性和性能的不确定性,以及组件对于整 个系统开发周期影响的不确定性: ( 2 ) 动态变化性:可选择的组件以及用户的需求都可能随着时间而变化; ( 3 ) 用户需求描述的不规范性:用户和组件供应商对于某一功能可能采用不同的术语进行描述; ( 4 ) 问题的复杂性:从本质上来说,可供选择的组件库可能包含大量的组件,逐一比较将耗费 过多的时间,需要一种预先的分类机制( 例如按照领域和功能进行分类) 使问题的规模变 小; 、 ( 5 ) 搜索目标的可信性:组件搜索包含一些不可比较的搜索目标,如所花的时间和精力最后能 得到多少回报( 或者说回报是否值得如此多的花费) ,今后的维护费用,服务的实用性,供 应商的可信度: 东南大学硕士研究生学位论文 ( 6 ) 搜索目标的约束性:组件和当前系统架构的合适度,非功能性方面的约束( 如可靠性,性 能和成本) 。 上面的( 1 ) 至( 4 ) 条是组件搜索过程中主要关注的问题。针对上述问题,现有的能力匹 配方法主要可以分为以下几类【1 】: ( 1 ) 直接基于关键字的搜索。按照用户提供的关键字,在组件能力描述中寻找与之相匹配的字 段,以此来判断组件是否符合用户需求。 ( 2 ) 按照不同的方面( f a c e t ) 对组件进行分类和检索3 1 。提取组件的一些特性( 如性能,系统 类型,应用领域) 来对组件进行分类,并按照用户提供的对这些特性的描述米检索组件。 文献 4 】描述了一种以质量为出发点,对组件进行描述和匹配的方法j 文献 5 则关注安全方 面,并以统一的方法对组件安全进行描述和匹配。 ( 3 ) 基于函数签名( s i g n a t u r e ) 的匹配。按照函数签名( 函数的类型,参数类型) 来匹配用户需 求函数和组件提供的函数是否匹配。 ( 4 ) 行为匹配( b e h a v i o r a lm a t c h i n g ) 。通过使用预先给定的输入执行组件,将结果和预期的结 果进行比较,选择输出符合预期结果的组件。文献 6 提供了一种类似的方法来对组件能力 进行描述和匹配。 ( 5 ) 基于本体的搜索。通过本体计算用户需求和组件描述之间的相似度,选择相似度达到用户 预期域值的组件。 以上的搜索基本都使用自然语言来对组件的功能进行描述,这种描述方法虽然可以很容易地被 人所接受,但却很难被机器所理解,并且缺乏对软件能力在功能上准确和全面的描述。同时不同组 件供应商可能会从不同的角度来对其组件进行描述,造成对软件能力描述的不统一。在进行组件搜 索时,由于缺乏统一、合适的分类方法,往往需要对现有组件进行逐一比对。当组件库中存在大量 组件时,搜索和逐一匹配所有组件能力描述往往会花费很长的时问。 采用本体技术来提高搜索的精度是目前常用的方法【1 】【j 7 1 ,同时配合领域模型1 】来对用户的需求 和组件描述进行分析并提取关键信息进行匹配。例如,文献 1 】中就引入了领域模型,希望通过领域 模型中的一些公共的基本元素,来提取组件描述( 或用户需求) 中的关键信息。通过这些信息和本 体树来计算组件描述和用户需求描述之间的相似度。采用自然语言描述虽然简化了用户搜索的难度, 但不能保证用户提供了足够准确地信息来对需求的功能进行描述,从而可能降低能力匹配的精度。 能力描述往往只对组件的功能进行描述,缺少对组件的非功能方面的结构化描述。同时没有一种统 一的方法对组件进行分类,大大降低了能力匹配的效率。虽然也有一些文献( 如文献 7 】) 在能力描 述中包含了对组件的非功能性描述,但通常只关注某些特定方面,无法形成统一、规范的能力描述 方法。 i s o1 6 1 0 0 国际标准 1 2 - 1 5 ( 以下简称为i s o1 6 1 0 0 ) 与上述方法不同,它从应用领域功能模型为 基础,通过下列的措施,为制造软件单元m s u ( m a n u f a c t u r i n gs o f t w a r eu _ _ n i t ) 集成提供了: ( 1 ) 制造领域能力建模方法学,定义了描述领域能力模型的能力类结构、能力类、能力类模板 和能力描述。标准化的接口描述,保证不同组件供应商提供的组件可以进行信息交互: ( 2 ) 软件能力描述的方法,包括用户需求和软件单元能力描述,使得用户能够按照需求有效的 选择已有的软件单元,并实现互操作; ( 3 ) 制造软件单元的接口定义,包含软件单元的功能和非功能两个方面。功能描述体现了软件 2 第一章绪论 单元能够提供的服务,非功能描述表述了软件单元适用的环境、运行时的性能以及其它一 些相关的信息。标准化的接口描述保证了不同软件开发商提供的软件单元之间可以进行信 息交互; ( 4 ) 一致性测试,保证软件单元的描述符合标准,保证可互操作性。 基于i s o1 6 1 0 0 ,我们扩展了其中的能力描述方法,使其能够更好地对组件的功能和非功能方面 进行描述。在同一领域模型内,用户和组件供应商对于领域的功能划分可以达成一致,在功能匹配 时,对于功能的描述也不会存在差异。在有了规范化能力描述的基础上,对用户需求和组件能力描 述进行能力匹配( c a p a b i l i t ym a t c h i n g ) ,并提出了完整的能力匹配方法。 1 3 文章内容与章节安排 本文主要分析、研究组件能力描述方法以及为了实现组件集成而进行软件搜索和匹配的机制。 论文章节按排如下: 第二章,介绍了能力模型的各个组成元素,以及相互之间的关系; 第三章,介绍了能力匹配方法,c c s 映射算法f c n ; 第四章,介绍m s u 选择方法;搜索策略和对能力模型的改进; 第五章,介绍验证m s u 选择过程的原型系统; 第六章,全文的总结,并讨论了存在的问题和将来的工作。 3 东南大学硕士研究生学位论文 第二章能力模型 弟一早月云川俣型 一个定义完备的能力描述模型才能清晰、明确地描述软件能力。统一的标准化的能力描述方法, 更可以使整个匹配过程变得简单、高效。这一章主要介绍i s o1 6 1 0 0 能力描述模型的基本组成元素, 以及相互之间的关系,并着重介绍我们对能力描述中s p e c i f i cp a r t 部分的扩展。 2 1 活动树模型 在i s o1 6 1 0 0 1 j 中指出:每个制造应用( m a n u f a c t u r i n g a p p l i c a t i o n ) 都由制造过程( m a n u f a c t u r i n g p r o c e s s ) 、制造资源( m a n u f a c t u r i n gr e s o u r c e ) 和制造信息( m a n u f a c t u r i n gi n f o r m a t i o n ) 组成。其中, 制造过程由一系列的制造活动( m a n u f a c t u r i n ga c t i v i t y ) 组合而成( 如图l 1 6 1 f i 折:示) 。每个制造活动 对应一个制造软件单元( m a n u f a c t u r i n gs o f t w a r eu n i t ,简称m s u ) 。在这里,制造软件单元即我们 所说的组件。i s o1 6 1 0 0 希望能够为每个不同的制造领域( m a n u f a c t u r i n gd o m a i n ) 建立一个标准的 领域模型( d o m a i nm o d e l ) ,领域模型包含了该领域中所使用的所有制造活动。并将所有的制造活动 按照从上至下逐渐细分的方式建立一棵活动树( 如图2 1 6 1 所示) 。在活动树中,父节点的功能可以分 解为其子节点的功能,叶子节点的功能不能进一步的细分。每个组件供应商提供的软件单元都对应 活动树中的一个或多个节点,并利用这些节点来描述其能力。制造资源和制造信息则描述了制造应 用程序所使用的资源以及活动、资源之间交互的信息。 图1 ,集成制造应用的组成 活动树对应着能力描述模型的能力类树型结构c c s ( c a p a b i l i t yc l a s ss t r u c t u r e ) ( 如图2 所示) 。 其中的每个节点对应了活动树的一个活动。在图2 中,每个c c s 节点都由一个模板( t e m p l a t e ) 来 描述对应活动所包含的具体信息。每个软件单元( 或用户需求) 都对应了一个或多个制造活动,通 过填写相应的模板,最终生成其能力描述。 但是,现实世界中已有的制造应用很难做到c c s 的统一,于是带来了软件需求和已有的软件组 件出自不同的c c s ,从而产生不同的能力描述,给能力匹配带来困难。本文主要介绍如何统一同一 领域类不同的c c s ,使得能力描述可以统一到同一c c s 上,解决不同c c s 在能力匹配过程中带来 的能力描述不统一的问题。 4 第二章能力模型 活动树 面造业应用程司 一二 塑少 动岁 2 2 能力模型 2 2 1 能力类结构 划上逦多慨7 图2 活动树和能力类结构之间的对应关系 图2 右侧的能力类结构( c c s ) 与左侧的活动树是一一对应的。左侧树中的每个结点代表活动, 而右侧树中的结点代表相应活动的能力类( c a p a b i l i t y c l a s s ) 。能力类用来完整地描述相应活动的能力。 按照活动树模型,活动的能力包括完成的功能,活动所需资源和交互的信息等内容。能力类至少应 该包含以下信息: ( 1 ) 能力类的名称,层次标号。在同一c c s 中,能力类的名称应该是具有唯一性。层次标号这 表明了能力类在所属c c s 中的位置,具体说明将在第四章简单能力匹配屯说明。 ( 2 ) 资源列表。列举完成这个活动所需要的各种资源( 包含资源的名称,类型等信息) 。 一 ( 3 ) 交互信息列表。+ 列举这个活动和其它活动之间的交互信息。 ( 4 ) 方法列表。列举这个活动可供其它外部活动调用的方法。 除了上述必须包含的信息外,能力类还可以包含以下信息: ( 1 ) 子能力列表。说明这个能力类可以分解为哪些子能力类。在c c s 中,即为该能力类的下一 层子能力类节点。并说明这些子能力类之间的先后、交互关系。 ( 2 ) 能力描述。描述该能力类完成的功能。 2 2 ,2 麓力描述模板 每个能力类都有一个能力描述模板( p r o f i l et e m p l a t e ) 用来约束能力描述( c a p a b i l i t yp r o f i l e ) 。 能力描述模板有两个部分构成。( 1 ) 公共部分,包括活动的通用信息,例如制造领域的类型,c c si d , m s u 对硬件的要求,m s u 的运行性能等等;( 2 ) 特有部分,包括能力描述的特有信息,例如,输入 输出信息、所需的资源、包含的子活动等等。在组件选择的过程中,特有部分的匹配是评价互操作 性的主要依据,也是本文的重点。 5 东南火学硕士研究生学位论文 2 2 3 能力描述 能力描述是能力类的实例,通过填写能力类对应的能力描述模板生成。供应商按照能力类模板 的约束描述其组件,用户也按照相同的约束描述其需求。为了增加互操作性,当描述m s u 时必需遵 循以下步骤( 如图3 1 4 1 所示) :( 1 ) 选择目标领域的c c s :( 2 ) 按照c c s 中的某个能力类创建m s u : ( 3 ) 按照能力描述模板生成m s u 的能力描述;( 4 ) 把能力描述注册到组件库中。描述用户需求时必 需遵循以下步骤:( 1 ) 选择目标领域的c c s :( 2 ) 按照需求选择c c s 中的某个能力类;( 3 ) 按照能力 模板生成用户需求的能力描述。假如找不到合适的c c s ,可以通过对目标领域建模自行建立c c s 。 已有组件 组件能力描述 图3 m s up r o f i l e 的生成过程 能力描述按照能力描述模板的格式,分为公共部分和特有部分。公共部分对于所有的能力描述 p r o f i l e 都是相同的,所有的p r o f i l e 包含相同的信息和格式。以m s u 的p r o f i l e 为例( 如示例i ) ,特 有包含了m s u 说实现制造活动的信息,按照制造活动对应的能力类,对实现的活动进行具体描述。 因此对于完成不同功能的m s u 而言,它们p r o f i l e 的特有部分是不相同的。在能力匹配过程中,主 要是要匹配p r o f i l e 的特有部分。 示例l ( m s u p r o f i l e ) : t y p e1 d = ”m s up r o f i l e ”序 p k g t y p ev e r s i o n = ”1 0 0 ”卢 m s u c a p a b i l i t yi d = ”m s u oi c c s ”胁 s e u s p l n a n j i n g j i a n g s h u c h i n a 2 1 0 0 9 6 o p e r a t i n g s y s t e mt y p e = ”w i n d o w sx p ”胁 d i s k s p a c es i z e = ”8 0 ”u n i t = “g b ”侈r 6 第二章能力模型 m a t e r i a lu s e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论