构件软硬件环境
软硬件环境 时间:2021-04-02 阅读:(
)
第25卷第5期2002年5月计算机学报CHINESEJ.
COMPUTERSV01.
25No.
5May2002一个集成式的软件构件描述框架张涌王渊峰钱乐秋(复旦大学计算机科学系上海200433)摘要该文提出了一个可扩展可裁减的集成式软件构件描述框架.
该框架采用了相宜的方法对构件的接rJ、语义、问题空间等方面进行描述,并且通过XML提供了可扩展的机制.
实践证明,在该框架基础上实现的构件库管理系统体现了较好的构件描述与检索能力.
关镑词构件描述.
可复用构件.
XML中围法分类号:TP311AnIntegratedSoftwareComponentDescriptionFrameworkZHANGYongWANGYuanFengQIANLe—Qiu(DepartmentofCompu~Sci~ce,FudanU.
Shanghai200433)AbstractThedescriptionmethodofreusablesoftwarecomponentsisanindispensablepartofthereusablecomponentrepositorytechnique.
Asthecomponentrepositoryscalesup,thecompo—nentscomplexityincreasesandthecomponents'semanticsenriches,asingledescriptionmethodhasnotbeencompetentfortheallcomponentsintherepository.
Theauthorconsidersthattheparticipationofthecomponentdesignerandthecomponentrepositorymanageristhepreconditionofapreciseandappropriatecomponentdescription.
Anexcellentcomponentdescriptionshouldincludethedescriptionnotonlyforthecommoninformationbutalsofortheparticularunit.
Thispaperproposesanextensible,tailorableandintegratedcomponentdescriptionframeworktosolvethisproblem,whichadoptsrespectivemethodtodescribeinterfaces,semanticsandproblemspaceofareusablecomponentandappliesXMLtoprovideextensibility.
Thisframeworkincludesthefollowingsections:thegeneraldescriptionsection,thecomponentinterfacedescriptionsee—tion,thecomponent'ssemanticsdescriptionsection,theproblemspacedescriptionsection,andintra—componentrelationshipdescriptionsection.
Weusenaturallanguagetodescribethecomponent'scommoninformationinthegeneraldescriptionsection.
Asuiteofpseudo—codeisde—finedtodescribeitscalledspecificationinthecomponentinterfacedescriptionsection.
Predicateandsettheoryareadoptedtodescribethesemanticsofthecomponentinthecomponentsemanticsdescriptionsection.
Theproblemspaceofthecomponentisdescribedbycataloguelanguage.
Theorganizationrelationshipdescriptionsectionisutilizedtodescribetherelationshipbetweenanypartsinacomponent.
Amanagementsystemofreusablecomponentrepositoryhasbeenbuiltbasedonthisdescriptionframework,andabetterretrievalperformanceisobtainedinsomeex_periments.
Keywordscomponentdescription,reusablesoftwarecomponent,XML收穑日期-2001一o4—02}修改稿收到日期:2001—12—14.
本课题得到上海市教委重点学科建设项目的资助.
张蒲,1973年生,博士研究生.
主要研究领域为戟件复用戟件体系结构软件测试E-malt-yongz~ang@ludan.
edu.
cn.
王渊峰.
1974年生.
博士研究生,主要研究铺域为软件复用、构件库管理系统.
钱乐敢,1942年生,教授.
博士生导师.
主要研究领域为软件自动化、戟件复用、戟件自动测试.
http://www.
paper.
edu.
cn5期张涌等:一个集成式的软件构件描述框架1引言随着对软件复用及应用研究的深入,可复用的软件构件库作为软件复用的一项重要的基础设施已越来越得到产业界与学术界的重视口].
其中,对构件的描述方法与检索技术的研究已成为两个主要的研究热点.
构件的描述方法是构件检索技术的基础,3c模型和REBOOT模型【'是构件描述中的两个重要的描述模型.
Latour等人提出了3c模型一,认为一个理想的构件的描述应当涵盖以下3个方面——概念(concept)、内容(content)、语境(context).
其中,概念是关于"构件做什么"的抽象描述,可以通过概念去理解构件的功能;内容是概念的具体实现,描述构件如何完成概念所刻画的功能;语境是描述构件和外围环境在概念级和内容级的关系,语境刻画构件的应用环境,为构件的选用和适应性修改提供指导信息.
REBOOT模型是在REBOOT项目中总结提出的【,它实质上是一个刻面分类模型.
该模型认为:可以用有限维信息空间的术语组合从若干个刻面的综合角度来刻画一个构件.
具体到REBOOT项目,他们提出的刻面有以下4个:依赖(dependen—cies)、抽象(abstraction)、操作(operations)、操作对象(operateson).
另外该模型还提出了用同义词典(thesaurus)来提供术语间语义关系的描述手段.
在实际使用中,这些模型需要被转化为具体的语言描述形式,目前所提出来的语言主要分两类:规约语言与编目语言.
规约语言不仅可被用于构件的签名匹配和规约匹配,还可以用于实现自动化的构件验证与组装.
在规约语言的研究中主要经历了操作规约语言(例如CSP)、接口规约语言(例如IDL)、表达式规约语言(例如OCL)等几个发展阶段一.
目前研究的第四代规约描述语言的工作主要集中在构件的语境描述上,即构件使用的语境信息.
有代表性的工作有KDL语言和青鸟构件描述语言,它们不仅能够描述构件,更提供了对构件子系统的描述能力.
这部分的工作集中于90年代中后期,它们的成熟有待于进一步的实践与推广.
对于编目语言,根据所使用的技术可分为3类:图书馆与信息科学方法、人工智能方法和超文本方法.
目前这一领域绝大部分研究工作集中在图书馆与信息科学方法,所提出的具体方法有枚举、刻面、关键字等等.
构件的检索技术在很大程度上依赖于构件的表示方法,目前所提出的检索方法,根据表示方法的不同可分为以下5类:基于表达式规约表示的规约匹配,基于接口规约表示的签名匹配],基于编目术语的特征轮廓匹配.
,基于构件行为的采样匹配一,基于知识表示的人工智能检索方法【'":.
但是,随着构件库的规模的扩大以及构件的复杂性增加和语义性丰富,用单一的构件表示方法以及在此基础上的检索算法来胜任整个构件库的检索任务越来越力不从心"].
Frakes在他的论文中对几种构件的编目表示方法下的构件库的查准率、查全率与效率作了细致的实验,得到以下几点值得注意的结论:(1)在查准率、查全率上每一种方法都差不多,没有明显优劣;(2)每种方法都有一定的固定用户集,用户对方法的选择没有明显的偏爱与偏弃;(3)每种方法对同一检索得到的结果集都不尽相同,但没有任何方法的检索结果集是最优的,它们互有补充.
这说明在大规模的构件库中,要保证有效的查全率、查准率和使用率,构件的表示方案应设计为一种可扩展、可裁减的表示框架结构.
它应当能提供对现有的表示方法的组合以及对将来的新的表示方法的插入的能力,否则在需要加入新的描述方法描述的构件进构件库时,将会给构件库描述系统带来巨大的改动,甚至无法改动(因为还涉及到存储方案、检索算法的相应改动).
本文提出了一个集成式的构件描述框架,它的主要特点是提供了可扩展、可裁减的描述能力.
在该构件描述框架中既使用了自然语言的描述手段又使用了形式化的方法,使得构件的描述者可以根据构件的具体情况对构件的描述进行组织,并在此基础上提供了检索工具的有效组合,以进一步保证构件库的查准率、查全率和使用率.
2集成式的软件构件描述框架我们认为对一个软件构件的准确、合适的描述既需要构件的设计者的参与也需要构件库管理人员的介入.
既存在公共通用信息的描述部分也存在专向个体的可扩展的描述部分本文提出的可扩展的构件描述框架综合了这些考虑,如图1所示.
计算机学报2002正.
接:矮:俩:.
由.
其.
:由:墨羹:喜:焖:景嚆蘧::囊:::描:曩.
::.
:述.
:::0::::0.
.
.
::::璁舞扈捂巷嗡==:.
:||::图1掏件的可扩展描述框架其中,构件的通用描述主要是对构件的一些通用信息用自然语言进行描述i构件接口描述定义了一组伪程序代码以描述其调用规范;构件的语义描述对构件接口的语义信息用谓词逻辑以及集合论进行说明f问题空间的描述描述构件的问题领域内一些有关信息,可以采用一些编目语言对它进行描述f构件内部组成关系主要描述构件的内部各个组成部分之间的各种关系(这部分描述主要是为构件的自动化组装和验证考虑).
其它描述部分表示该框架提供了可扩展的描述能力我们对它们依次介绍如下.
2.
1构件的通用描述对构件的通用描述部分的设计,我们主要参考了复用库可互操作性组织(RIG)为软件复用库间共享软件构件而制订的UDM数据模型[1以及青鸟构件模型【".
它描述了各种粒度、抽象层次的构件都应具有的一些通用信息,例如所适用的范围,软硬件环境信息等.
它的描述采用自然语言进行描述.
主要描述字段如下所示:①构件的名称;②构件编写语言}⑧构件所需软硬件环境;④关键词;⑤构件中包含的文件I⑥作者;⑦发布日期;⑧使用次数;⑨构件类型:需求分析构件、设计构件、代码构件、测试构件.
构件的通用描述部分为各异质构件库间交流构件提供了一个通用的信息模型.
2.
2构件接口描述构件的接口描述部分描述了构件对外部的接口类型.
接口描述部分所使用的参数部分与c+4-所提供的基本参数类型相同.
图2列出了接口规约部分的BNF范式,其中非终结符用斜体字加"()"来表示,终结符用黑体字来表示,"[]"表示任选.
(pam—ist)::一cpara-declaratlon)I《para--list}l(parad~'laragion)(parad~clara~ion::={paraname):(type)(para—name)::=(para--name)(character>(para—name)(number)I(character(type)::;pointerof(prime—type)refereⅡceof(prlm~type)'p,structure0f(pro'metype)(primetype)::=cbMlt—intype)(bain一type>::一longIlonglongIInlshortIflo~tdoubleIon8doubleIchar1wcharboolJ("f)::=l(type)Ivoidl~—————.
.
.
———,,.
.
.
.
.
.
.
.
.
,.
.
.
,.
_J图2构件接口描述的BNF范式2.
3构件接口的语义规约构件的接口描述仅仅提供给用户构件的接口信息,但这些构件所提供的处理的语义信息对用户来说并不明确,利用接口的描述,用户仅知道如何定义和使用接口,但并不知道构件做些什么.
在语义级别上我们应该刻划构件中某个操作所期望得到的结果.
对于构件的语义,我们主要关心的是构件的初始状态以及一个操作的执行所导致的构件中某部分状态的变化.
其中某个状态可以看作是一个命题公式,它可以递归定义如下:5期张涌等:一个集成式的软件构件描述框架(1)T,F以及原子命题都是公式;(2)若P,Q是公式,则一P,P^Q.
PVQ都是公式;(3)若P是公式,是P中的变量.
则VP.
砷都是公式;(4)公式仅通过有限次使用(1)(2)(3)获得.
由于自然语言表达上的缺点,在这里我们采用一阶谓词逻辑对接口的功能进行规约.
z语言是基于一阶谓词逻辑和集合论的规格说明语言,它具有很强的表达能力,且它可以对z规格说明进行推理和证明.
本文中的构件语义规约采用类似于z语言的描述机制.
保留一些z语言中的符号,倒如变量+""表示输入变量,变量+"!
"表示输出变量,z语言的具体使用可参见文献;由于z语言中缺乏一些默认的数据类型,我们增加一些内建数据类型,这些内建数据类型与上一部分讨论的接口描述中的内建数据类型相同.
图3是对于构件接口语义规约的语法,其中UserTypeDefinition表示用户自定义类型声明,Declaration为声明部分,Predicate是谓词部分.
图3掏件接口的语义规约语法2.
4问题空间描述我们可以把软件构件看成是某个问题的解决方案,通常构件的查询者在查询的初始阶段可能对构件的规约或接口还不甚清楚,有时他们可能主要对构件的整体功能更感趣.
这时需要关心构件的编目描述,即构件所解决的问题空间的描述.
目前提出的编目方法有很多,实用的有枚举、刻面、受控关键字和非受控关键字等方法["].
在我们的描述框架中这些方法通过容器技术被设计成是可插拔的,即可以根据实际的描述需要有选择的配置.
我们用一个简化的XML的DTD(文档模板定义)给出我们对该部分描述的设计,见图4.
《lATTLIST刘面匹配算{击刘面分类方案{jELEMENT关键字(#PCDATA)){!
ATTusT关键字匹配算{击关键字分类方案])ENTⅡYS1DETITYS1DENTITYSID#REQUIRED#REQU1RED>#REQU1RED#REQU1RED)#REQU1RED#REQU1RED)图4掏件问题空间描述DTD2.
5构件内部组成部分之间的关系描述及扩展描述部分构件内部的组成部分之间存在各种关系,它们主要有send—message,transfer—data,call等.
这一部分的描述语法如图5所示(对该部分的设计主要出于对构件组装的自动化支持的考虑).
另外,在往描述框架中添加新的描述方法时,我们只需要在相应的DTD中加入描述模板定义,就可以有对构件进行该描述方法下的描述,从而实现描述框架的扩展.
2.
6应用示例下面我们用一个栈构件的示例说明如何使用以图5上讨论的构件描述框架进行构件的描述,该构件包括3个功能,pop是对栈顶元素出栈操作,push是元素进栈操作,depth是计算栈的元素个数操作,由于篇幅考虑,我们只给出了Stack的接口描述、语义描述、问题空间的描述和构件内部组成部分之间的关系描述,并且在问题空间的描述中只给出一个包含应用领计算机学报2002正域、功能、相关构件3个刻面的刻面描述,另外为了可视方便,我们删去了其中的XMI语法标记.
Spec[ficationStackProblemSpecification:(刻面描述刻面分类方案="Facet20876"匹配算法="RerivelForFacet一20876")应用领域:这是一种通用的抽象数据结构(与领域无关),实现了FILO的原则功能:ADT,FII.
0tPop,Push—Depth相关构件:Queue,Tree,List(m面描述)ProblemSpecificationEndIntefaceSpecifieation:Interface:Functionpush(:integer)returnvoidFunctionpop()returnintegerFunctiondepth(S:Stack)returnintegerInterfaceSpecificationEndSemanticSpecification::PintegerSemanticpushDeclaration:1:SA:integer1:SPredicate:iselementofinteger1=Sadd(^>&&1—·^EndSemanticSemanticpopDeclaration:S1:SA!
:integerS1:Predicate:depth(S)>0jdepth(S1)一depth(S1)一1&&1一A!
iselementofSEndSemanticSemanticdepthDeclaration:SlSA!
:integerPredicate:Aj=#S1EndSemanticSemantic—SpecificationEndRelationSpecificationpopcalldepthRelationSpecificationEndSpecificatinEnd3实现考虑我们在一个具体的构件库管理系统中的构件描述部分实现了上述描述框架.
在具体实现中我们应用了XML技术及相关的一些协议标准.
图6是系统中关于描述部分的一个简化示意图.
图8描述子系统简化示意图我们之所以选择XML作为这种可扩展的构件描述框架的实现技术,主要出于以下几点考虑:1.
XML是一种可自定义标记的语言,它的DTD实质是一种元模式的数据描述语言,即它提供了语法元素、元素属性及语法解析规则的定义方法.
这使得它的描述能力具有较大的丰富性和可扩展能力,这正是我们的描述框架所注重的.
我们可以为一个构件描述的每一个描述部分定义各自的DTD,然后对每一份DTD下的实例XML描述在框架下进行组合,形成一份对该构件而言裁减适宜、表达恰当的XML描述,我们称这种基于XML的可扩展的构件描述语言为xCDL.
2.
XML中的扩展链接技术(XPointer)和名字空间技术为xCDL中各描述部分的组装提供了丰富的支持,并且为这个框架的可扩展、可裁减机制提供了无缝的实现,可以较好地保证描述数据的一致性.
3.
XML中的转换机制(XSLT)为各XML描述之间的转换以及XML描述的显示提供了较强的控制,它使得我们有更多的选择、更方便的实现来进行相关的工作.
5期张涌等:一个集成式的软件构件描述框架4.
XML不仅可以通过链接技术将每一描述部分与相应的匹配算法链接起来,实现面向构件不同表示部分的检索算法的有机组合,而且XML本身还提供了XPATH一套查询机制,有力地支持了检索的实现.
5.
XMI是一种跨平台的开放式的语言,它的描述必将为构件库在www方向发展奠定坚实的基础.
实现了该描述框架的构件库管理系统目前正在原型的基础上进行下一步的实现.
就目前的效果来看,由于它实现了面向构件的多种表示方法的有机组合,并能够根据相应的表示部分提供相对应的检索手段,从而进一步完善了构件库的查询与检索服务.
4总结根据一定规模的软件构件库对软件构件描述能力全面、语义丰富和便于检索的需要,本文提出了一种可扩展的构件描述框架,它包括了构件的接口描述、语义描述、问题空间描述、构件内部组成关系描述4个可裁减的描述部分,并且根据实际情况的需要它还可以包融进其它的构件描述方法.
另外,我们在一个具体的构件库管理系统中对该框架进行了XML实现,并在XML实现中将各描述部分和与之相对应的匹配算法链接起来,提供了针对各个构件的匹配算法的有机结合.
有理由相信:实现这一套机制的构件库管理系统相对于传统的基于单一表示方法的构件库而言,将提供进一步完善的构件表示与检索服务,从而促进软件复用的进一步深入与发展.
参考文献1MiliH.
MillF,MiliA.
Reusingsoftware;Issuesandresearchdirections.
IEEETransSoftwareEngineering,1995.
21(6):5285622WhittleB.
Modelsandlanguagesforcomponentdescriptionande.
ACMSIGSOFTSoftwareEngineeringNotes.
旦1995,2Oi2)-76—899LarourL,WheelerT.
FrakesB.
Descriptiveandprescriptlveaspectsofthe3Csmodel:SETA1workinggroupsummary.
CASECentre,SyracuseUniversity,New'rk!
TechnicalRport9014,19904More】JM.
FagetJ.
TheREBOOTenvironment.
Ia:Proc2ndInternationalWorkshop0nSoftwareReuse(REUSE93).
Lueca,Italy,1993.
80—885KiniryJR.
Leadingtoakinddescriptionlanguage·ThoughtsoncomponentspecificationCa】techComputerScleneeTechni—calReportsCS-tr一99—04,1999.
http{.
//resovet.
1ibrary.
cal—tech.
edu/caltechCSTR.
1鲫9.
cst…99046JaderdlllProjectTeamofPekingUniversityThemanualofJadebirdcomponentdescriptionlanguage(JBCDL).
TechrdcalReport,1鲫7(inChinese)(北京大学青鸟_项目组.
青鸟构件描述语言JBCDL参考手册拄木报告,1997)7FrakesWB,PoleTP.
Anempiricalstudyof~preseatationmethodsforreusablesoltwar~components1EEETmSoft—wareEngineering,1994,2O(8):617—6308JengJJ,CgBHC.
Specificationmatchingforsoftware…s:Afoundation.
In}Procthe17thInternationa】Confereneeor[SoftwareEngineeringonSymposiumonSoftwareReusability,Seattle,Washington,1995.
97—1059ZaremskiAM·WingJM.
Signaturematching{Atoo]forus—ingsoftwarelihraries.
ACMTransSoftwareEngineeringandMethodology.
1995,4(2)}146—17O10XuZhen—Quan.
TheMethodologyandTechnologyolSoftwareReuse.
Wukan=HuazhongUniversityofScience<echnologyPress,1998GnChinese)(豫正权软件复用方法与技术.
武汉:华中理工大学出版社,1998)11PodgurskiAtPierceL.
Retrievingreusablesoftwa~hysam-piingheha~or.
ACMTransSoftwareEngineeringandMethodology·1993,2f9),286—30312EduardoO,JamesH,PrietoDR.
ChristineB.
Computingsimilarityinareuselibrarysystem:anA1一basedapproach.
ACMTr且mSoftwa~EngineeringandMethodology.
1992.
1(3):205—22813ReuseLibraryImer~perabilkyGroup.
UniformDataModelforReuseLibraries(UDM).
R1G:Technka】Reportt000Z.
199414JadeBirdIllProjectTeamofPekingUniversity.
Jadebirdcomponentmodels.
TechnJcalReport,1997finChinese)(北京大学青鸟I项目组.
青鸟构件模型.
技术报告,1997)ZHANGYong·male,borninWANGYmm—en,male,born1nl974.
Heisnowal973.
HeisnowaPh.
D.
candidateofPh.
D.
candidateatdepartmentofcomputerscience.
Fudandepartmentofcomputer~gcience,FudanUniversity.
Hisresearchinterestsincludesoftwarereuse,University.
Hisresearchinterestsin—softwarecomponentrepository.
eludesoftwarereuse.
softwarearchitec—QIANLe—QIu,male,bornin1942.
Heisnowaprofes一~ul-eandsoftwaretesting.
sDrofdepartmentofcomputerscience,FudanUniversity.
Hisresearchinterests1ncludesoftwarereuse.
soltwarear—chitecturesoftwaretestingandsoftwareautoraatization.
感恩一年有你!免费领取2核4G套餐!2核4G轻量应用服务器2核 CPU 4GB内存 60G SSD云硬盘 6Mbps带宽领取地址:https://cloud.tencent.com/act/pro/lighthousethankyou活动规则活动时间2021年9月23日 ~ 2021年10月23日活动对象腾讯云官网已注册且完成实名认证的国内站用户(协作者与子用户账号除外),且符合以下活动条件:账号...
弘速云怎么样?弘速云是创建于2021年的品牌,运营该品牌的公司HOSU LIMITED(中文名称弘速科技有限公司)公司成立于2021年国内公司注册于2019年。HOSU LIMITED主要从事出售香港vps、美国VPS、香港独立服务器、香港站群服务器等,目前在售VPS线路有CN2+BGP、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。可联系商家代安装iso系统。点击进入:弘速云官方网站地址...
昨天有在"盘点2021年主流云服务器商家618年中大促活动"文章中整理到当前年中大促618活动期间的一些国内国外的云服务商的促销活动,相对来说每年年中和年末的活动力度还是蛮大的,唯独就是活动太过于密集,而且商家比较多,导致我们很多新人不懂如何选择,当然对于我们这些老油条还是会选择的,估计没有比我们更聪明的进行薅爆款新人活动。有网友提到,是否可以整理一篇当前的这些活动商家中的促销产品。哪些商家哪款产...
软硬件环境为你推荐
乐划锁屏乐视手机怎么解除屏幕锁地图应用什么地图导航最好用最准确firetrap牛仔裤的四大品牌是那几个啊?李子柒年入1.6亿李子柒男朋友是谁,李子柒父母怎么去世的?关键字什么叫关键词22zizi.com河南福利彩票22选52010175开奖结果杰景新特萨克斯吉普特500是台湾原产的吗同ip网站同IP网站9个越来越多,为什么?www.522av.com在白虎网站bhwz.com看电影要安装什么播放器?porndao单词prondao的汉语是什么
arvixe webhostingpad patcha 商务主机 php空间申请 可外链网盘 中国电信测速器 丽萨 xuni 广州主机托管 上海联通 windowsserver2012r2 cdn加速 中国域名根服务器 电信测速器在线测网速 在线tracert 火山互联 ssd ddos攻击器 ddos攻击软件 更多