一种构件库管理方法

文档序号:6561508阅读:225来源:国知局
专利名称:一种构件库管理方法
技术领域
本发明涉及信息资源集成应用的语义互操作性管理与服务领域,特别涉及一种构件库管理方法。
背景技术
构件是在软件生命周期各阶段可以被复用的软件实体,它可以是被封装的类、功能模块、软件框架、软件构架、文档和设计模式等[1][2]。通过构件的组装和集成来构造相应的应用软件,可以提高开发者的开发效率、降低项目开发成本,并使得构造的软件系统更易扩充和维护。因此,构件技术作为实现软件复用技术的重要手段,为软件产品的工业化和自动化生产提供技术保障和支持,引起了业界的普遍关注[3],基于构件的软件开发已成为软件开发的主流技术。目前在构件数量增长、构件特征丰富、构件间关系复杂的情况下,如何科学地管理构件成为一个很重要的问题[4]。构件库为管理构件提供了一种基础设施。
在国外,可复用构件库管理的研究包括ComponentRand[5]、CodeBroker[6],以及N.Ohsugi等人提出的以构件查询研究为主的系统[7]等。其中,CodeBorker能够推断对构件的需求,并借助与预测相匹配的实例主动推荐构件。S.Tangsripairoj等人[8]将SOM(Self-Organizing Map)的概念应用于构件库的构造。Frank等人将基于协同过滤的方法引入构件查询,提出了一个推荐系统[9],实现了即时学习以支持开发者快速发现所需要的构件,该研究针对Java开源软件库SourceForge[10]进行挖掘,搜集构件使用历史,以更好地向用户提出建议。与此同时,国内的一些高校和研究机构也在积极开展构件库相关技术的研究,例如北京大学的青鸟构件库[11],该项目致力于构件库概念模型的研究,提出了包括构件管理、查询、度量的框架。上海市政府也提出了构件库的研究项目,以拓展其在软件工业上的应用。
但这些构件库管理及其相应技术均存在一些缺点1)构件库相关标准与国际标准的兼容性问题,这将直接限制了基于互操作性的构件库管理技术;2)构件的分类机制不灵活,不能和构件涉及的领域知识的演化同步;3)缺少对基于语义推理的查询机制的支持,构件库中的构件资源,它是特定领域的资源集合,不同资源即使在表述上毫无关系,仍可能存在语义上的联系,而已有的构件查询方法(如关键词,刻面等)都无法支持基于语义推理的查询机制。
表1当前构件库采用的主要查询技术比较

目前,基于构件的软件开发逐步确立了它在软件开发方法学中的核心地位,而且随着COM、CORBA和EJB等技术的广泛应用,构件资源开发的方法与技术日趋标准化,使得互联网上各个领域的构件资源越来越丰富,分布式构件库越来越普遍。另一方面,虽然构件查询机制及其实现方法对构件库的管理和维护影响重大,但相应的构件资源管理的研究却进展缓慢,还仍然使用传统的数据资源建设与管理的方法,特别是构件查询技术(主要技术对比如表1所示)已不能有效适应目前构件资源的复杂信息结构(属性、接口)及其构造、流通、管理与复用的要求[12],这将成为阻碍国内外软件企业进一步发展的瓶颈。由此构件库查询机制的研究成为构件库管理技术发展的关键,有效的分布是构件库管理机制能够降低构件查找和理解的成本,而构件的跨库查询技术正是实现高效的分布式构件库管理的基础。
文中涉及的参考文献如下[1]杨芙清,梅宏,李克勤.软件复用与软件构件技术[J].电子学报,1999,27(2)68-75. 杨芙清,王千祥,梅宏,等.基于复用的软件生产技术[J].中国科学(E辑),2001,31(4)363-371. 孙昌爱,金茂忠,刘超.软件体系结构研究综述[J].软件学报,2002,13(7)1228-1237. Mili H,Mili A,Yacoub S,Addy E.Reuse-Based Software EngineeringTechniques,Organization,and Controls.New YorkJohn Wiley and Sons,Inc.,2002. K.Inoue et al.Component RankRelative Significance Rank for Software Component Search.In Proceedings of the 25th international conference on software engineering,Portland,Oregon,USA,May 6-8,2003. Y.Yunwen and G.Fischer.Information Delivery in Support of Learning Reusable SoftwareComponents on Demand.In Proceedings of the 7th International Conference on Intelligent UserInterfaces,California,USA,2002.ACM Press. N.Ohsugi et al.Recommendation System for Software Function Discovery.In Proceedings ofthe 9th Asis-Pacific Software Engineering Conference,2002. Songsri Tangsripairioj and Mansur H.Samadzadeh.Application of Self-Organizing Maps toSoftware Repositories in Reuse-Based Software Development.Proceedings of the 2004International Conference on Software Engineering Research and Practice(SERP′04),Volume II,pp.741-747.).Las Vegas,Nevada,June 2004. Frank McCarey,Mel′O Cinn′eide and Nicholas Kushmerick.A Case Study on RecommendingReusable Software Components Using Collaborative Filtering.In Proceedings of lst IntemationalWorkshop on Mining Software Repositories,pp.117-121,Edinburgh,Scotland,United Kingdom,25th May 2004. VA Corporation.SourceForge.http://sourceforge.net. 杨芙清,梅宏,李克勤,等.支持构件复用的青鸟III型系统概述[J].计算机科学,1999,26(5)50-55. Mili,H.,Valtchev,P.,Di-Sciullo,A.,and Gabrini,P.(2001).“Automating the Indexing andRetrieval of Reusable Software Components,”Proceedings of the 6th International WorkshopNLDB’01,Madrid,Spain,pp.75-86.

发明内容
本发明的目的在于针对现有技术中存在的问题,提供一种智能构件库管理方法,支持基于语义推理的查询机制。
为实现本发明所述目的,包括以下步骤,(1)构造构件注册知识库概念模型,包括构件注册属性以及构件应用领域的分类属性;(2)构造构件注册知识库实例模型,模型中构件的注册信息根据概念模型的属性组织而成;(3)根据复杂查询的要求定义构件知识中的语义关联;(4)由构件注册知识库派生得到满足不同查询需求的查询本体,查询本体中包含构件注册知识库中未明确表达的信息;(5)由查询本体解析得到的信息资源作为查询和理解构件的基础,为用户提供基于语义推理的构件查询机制。
而且,语义关联包括最优分析和版本兼容,最优分析描述不同构件之间的依赖关系,版本兼容描述同种构件的不同版本之间的兼容关系。
而且,最优分析和版本兼容这两种关联在语义上都定义为传递关系,使用本体工具集Jena的推理规则形式化表示。
而且,构件注册知识库的内容随着构件应用领域知识的演化而变更。
本发明使用本体作为构件库注册信息逻辑上的存储机制,构造构件注册知识库(包括概念模型和实例模型),这样一方面能够保证构件注册信息的共享,另一方面为基于语义推理的查询机制提供了理论和可操作的基础。在上述基础上,本发明建立了语义关联,提供了基于语义推理的查询机制,实现了高效智能管理构件库方案。构件注册知识库概念模型能够灵活地随领域知识的演化而演化,提供了灵活的构件分类机制。将查询本体作为构件注册知识库的不同视图,避免了构件注册信息知识库在语义推理派生过程中规模不断扩大而导致的降低查询效率的问题。而且只需基于国际标准(例如ISO/IEC19763)构造构件注册知识库,即可满足与其他标准的兼容性,建立的构件库开放性和通用性更强。


图1本发明分布式构件库管理示意图;图2本发明基于推理的知识派生实例示意图;图3本发明实施例的构件属性公共本体示意图。
具体实施例方式
参见附图1,本发明包括以下步骤,(1)构造构件注册知识库概念模型,包括构件注册属性以及构件应用领域的分类属性;(2)构造构件注册知识库实例模型,构件的注册信息根据概念模型的属性组织而成,即在属性和具有该属性的构件之间建立语义关联;(3)根据复杂查询的要求定义构件注册知识中的语义关联,这些语义关联是定义在概念层上,但可以应用在和概念相对应的实例上;(4)由构件注册知识库派生得到满足不同查询需求的查询本体,查询本体中包含构件注册知识库中未明确表达的信息;(5)由查询本体解析得到的信息资源作为查询和理解构件的基础,为用户提供构件语义推理查询机制。
本发明首先使用本体作为构件库逻辑上的存储机制,构造构件注册知识库概念模型和构件注册知识库实例模型。本发明提供理论基础以便理解这种方案的技术效果本体概念源于哲学中的本体论,用于表示概念内涵的显式表达和语义约定。本体能为不同范围、不同层次的研究领域统一认识,从而消除由于应用背景不同而造成的理解上的冲突和混乱,促进人-机、机-机之间的通信、资源共享和协同工作。本体信息是对特定领域知识的共同认识,以便实现领域相关应用之间的互操作。本体提供的灵活分类机制和以描述逻辑语义为基础的推理机制,成为解决目前构件库管理诸多问题的关键所在。
本发明构造的构件注册知识库正是基于本体论,知识库的概念模型定义了构件注册属性及其关联,即各具体领域通用的构件分类机制。在构件注册知识库概念模型的基础上构造构件注册知识库实例模型,即在属性和具有该属性的构件之间建立对应关系。构件查询时在概念层查找和分析属性,确定好查找目标,然后通过该对应关系获得能够满足查找要求的构件,这种信息管理方法极大地降低了查询的工作量。由于构件注册知识库概念模型不仅定义了构件注册属性概念集还定义了这些概念之间的语义关联,能够通过语义推理机制自动地找到和某个概念相关的所有相关概念,这种方法实现了基于语义推理的查询机制。构造查询本体能够避免由于语义推理产生的推理信息可能带来的信息规模不断扩大所带来的问题。基于国际标准实现本发明,由于与其他标准的兼容性好,建立的构件库开放性、通用性和互操作性更强。因此本发明实施例采用ISO/IEC 19763标准构造构件注册知识库概念模型,主要是在ISO/IEC 19763-3本体注册元模型(Information Technology--Metamodel framework forinteroperabilityMetamodel for ontology registration,即MFI-3)的指导下实现。
针对某个具体构件应用领域时,采用本发明提供的上述方法即可。由于本方法基于本体理论,因此在针对多个具体构件应用领域时可以显示互通优势。参见附图1,本发明提供了分布构件库管理方法,可以根据本体理论和应用划分为三个层次遵循国际标准MFI-3构造构件属性参考本体,然后根据不同具体构件应用领域的知识演化出构件属性本地本体,以上操作属于本体互操作层;根据构件属性本地本体建立构件注册知识库,由构件注册知识库派生得到满足不同查询需求的查询本体,这些属于应用本体层;在服务资源层,用户提出的查询需求对应查询本体,分析用户的查询需求在构件注册知识库中找到满足要求的构件,从存放构件的构件实体库中调出满足要求的构件。
基于语义推理的查询机制是根据复杂查询的要求定义语义关联。本发明包括最优分析和版本兼容这两种基础的语义关联。最优分析描述不同构件之间的依赖关系,参见图2构件属性本体中具有一些直接依赖关系,例如构件B直接依赖构件A,构件C和D直接依赖构件B,经过推理引擎的表达,构件C和D和构件A在查询本体中表现为一种间接依赖关系。版本兼容描述同种构件的不同版本之间的兼容关系,与最优分析情况类似。本发明实施例将最优分析和版本兼容这两种关联在语义上都定义为传递关系,使用本体工具集Jena的推理规则形式化表示,因此也将Jena称为推理引擎。
以下具体说明本发明实施例的实现过程以便实施(1)构造构件注册知识库概念模型,包括构件注册属性以及构件应用领域的分类属性。
首先建立构件注册属性本体。综合考虑现有构件分类标准和应用范围,同时抽取和分析与构件注册相关的知识,采用ISO/IEC 19763标准构造一个构件注册属性本体,即各应用领域通用的构件分类机制。该本体不仅定义和标识了各个构件属性涉及的概念及意义,还定义了概念之间的联系和约束,使其成为一个有机的、一致的知识表示。本发明实施例建立的构件注册属性本体的内容和结构如图3所示,定义了构件的各种属性(即构件注册属性),包括功能属性、管理属性、注册属性等,还可根据具体应用领域知识添加其他子类关系的对象属性(即构件应用领域的分类属性)。本发明具体实施例的功能属性包括领域信息和功能信息;管理属性包括厂商信息及相应联系信息(一般包括地址、联系人、电子邮件、电话号码、传真号码和主页)和产品信息(一般包括附加信息、许可证、价格和版本);注册属性包括包(一般包括构件的实体文件)和注册对象(一般包括构件在库中的生命周期状态);技术属性包括开发属性(一般包括构件的描述模型和运行时所依赖的构件)、构件公共属性(一般包括编程语言、构件容器、操作系统和计算机架构)和构件技术属性(一般包括构件标准)。
然后引入构件涉及的具体应用领域(本发明实施例针对制造业信息化领域)知识,以构件注册属性本体为基础,构造制造业信息化领域构件注册属性本体,即将构件作为领域模型中的一个概念与构件属性公共本体进行关联。这是一个较为粗略的本体,还应在领域模型的支持下,按照MFI for Ontology的规范进行细化,得到一个更为精细的构件注册属性本体,即构件注册知识库概念模型。该模型和领域知识密切相关,构件注册知识库的内容可以随着构件应用领域知识的演化而变更,以实现和领域相关的灵活的构件分类管理机制。
(2)构造构件注册知识库实例模型,对于已注册的构件,是按照概念模型重新组织注册信息;对于尚未注册的构件,是按照由概念模型生成的注册模版登记。模型中的构件的注册信息根据概念模型的属性组织而成。
构件的具体注册信息作为构件注册知识库实例模型的内容会随着构件的增删和修改发生改变。具体实施时可提供维护用户界面加以支持,界面可以显示如下4部分基本内容①构件注册知识库概念模型信息总揽;②显示①中所选概念相应的构件注册知识库实例信息,这一部分信息是可以编辑的,例如构件的实例——已注册的构件的名称和ID;③为②中所选实例的关联属性和属性值,如图显示的是构件的相关注册属性和属性值;④为③中所有属性信息的总揽。实施时可根据用户的角色分配使用权限,对构件注册知识库的内容进行修改和维护,能够维护概念模型的用户具有最高权限。
(3)在本发明实施例中根据制造业构件的特点定义了构件的两种语义关联“最优分析”(perfectAnalysis)和“版本兼容”(versionCompatibility)。“最优分析”描述了不同构件之间的依赖关系。“版本兼容”描述了同种构件的不同版本之间的兼容关系。这两种关联在语义上都具有传递关系,由本体的工具集Jena的推理规则定义。
(4)由构件注册知识库派生出用于处理最优分析的查询本体和处理版本兼容的查询本体,这些查询本体中包含原来构件注册知识库中未明确表达的语句,如图2中表达的间接依赖关系。
(5)由查询本体解析得到的信息资源作为查询和理解构件的基础,可为不同角色的用户提供不同权限的基于语义推理的构件查询机制。对于基于语义推理的查询要求,使用Jena解析相应的查询本体,通过本体查询得到满足条件的结果。具体实施时可提供构件查询用户界面,显示以下内容查询的条件请求;设置构件之间的语义关联的模块;查询结果。
权利要求
1.一种构件库管理方法,其特征是包括以下步骤,(1)构造构件注册知识库概念模型,包括构件注册属性以及构件应用领域的分类属性;(2)构造构件注册知识库实例模型,模型中构件的注册信息根据概念模型的属性组织而成;(3)根据复杂查询的要求定义构件注册知识中的语义关联;(4)由构件注册知识库派生得到满足不同查询要求的查询本体;(5)由查询本体解析得到的信息资源作为查询和理解构件的基础,为用户提供基于语义推理的构件查询机制。
2.如权利要求1所述的构件库管理方法,其特征在于语义关联包括最优分析和版本兼容,最优分析描述不同构件之间的依赖关系,版本兼容描述同种构件的不同版本之间的兼容关系。
3.如权利要求2所述的构件库管理方法,其特征在于最优分析和版本兼容这两种关联在语义上都定义为传递关系,使用本体工具集Jena的推理规则形式化表示。
4.如权利要求1或2或3所述的构件库管理方法,其特征在于构件注册知识库的内容随着构件应用领域知识的演化而变更。
全文摘要
本发明涉及一种构件库管理方法,包括以下步骤,(1)构造构件注册知识库概念模型,包括构件注册属性以及构件应用领域的分类属性;(2)构造构件注册知识库实例模型,模型中构件的注册信息根据概念模型的属性组织而成;(3)根据复杂查询的要求定义构件注册知识中的语义关联;(4)由构件注册知识库派生得到满足不同查询要求的查询本体;(5)由查询本体解析得到的信息资源作为查询和理解构件的基础,为用户提供基于语义推理的构件查询机制。本发明提供了基于语义推理的查询机制,实现了高效智能管理构件库方案。且只需基于国际标准(例如ISO/IEC 19763)构造构件注册知识库,即可满足与其他标准的兼容性,建立的构件库开放性和通用性更强。
文档编号G06F9/44GK101017432SQ20061012531
公开日2007年8月15日 申请日期2006年12月6日 优先权日2006年12月6日
发明者何克清, 刘玮, 何扬帆, 王翀, 马于涛, 田精白 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1