当前位置: 首页 > 专利查询>龙比亚大学专利>正文

组件式开发的改进制造技术

技术编号:4478515 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术披露了一种改进软件组件的方法和工具,该方法利用上下文引导的改进规范和改进规则通过执行深度组件改进来大大的增加组件在不同上下文的可重用性。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及组件式开发(CBD ),特别涉及使组件适合于在不同上下文使用 的新方法。
技术介绍
在过去的十年间,信息技术产业领域的许多软件系统已经采用了组件式系 统(CBS)这一创新的系统架构,并相应的采用了组件式开发(CBD)的软件 开发过程,这一架构和过程大大地减少了开发的时间和成本。组件式系统由同 一团队或第三方公司开发,封装了早先开发知识和专门技术的资产,使用可重 复使用的软件组件进行软件系统的设计和构建。组件式系统将软件设计的重点 从软件编程转向了整合软件系统。"组件"是指可在不同软件系统中重用的一部分代码或程序。组件由它的 接口特性来说明,可能包含了组件的语义、操作或逻辑约束,或组件的行为。 定义接口特性的数据被称为"组件规范"。组件规范给出了组件的特性及在不同 上下文或用例场景下的适用性。组件重用和无缝的系统连接的一个难点在于重用上下文的高度变化性。在 此,由数据模型的类型、组件将放置的系统架构及企图使用的程序特性来表示 組件使用的上下文。术语"上下文" 一词不同于单一的用例场景,单一的用例 场景仅仅由组件将^f吏用的应用程序类型来说明。组件式系统的基本原理在于组件是构建应用程序的独立重用单元。然而, 目前,不经改进而可重复使用的组件不多。引起该问题的原因举例如下不完 整的组件规范、组件和包括应用软件架构的重用上下文之间的错配、功能性需 求、软硬件环境、质量属性以及其他相关的协作组件。为解决该问题,有必要提供一种自动化深度组件改进技术。"深度"改迸意味着组件结构的改进,也即 是超出组件基本的输入输出转化的一种改进,依据改进可将组件^L为一个"黑 匣子",无需了解组件的功能性知识。多种改进技术已被提出来了。它们中的第一项被称为"组件定制,,,它适用 于简单层面的改进。最终用户可从一套预包装在软件组件包中的固定选项中定 制所需的软件组件。组件应当可定制以适应在重用过程中特定真实环境的需求。 很显然,组件定制是整个組件重用过程中一项十分有效的工作,但那些组件需要内建一套特定的服务以实现定制的需求。在另一项被称为"活跃接口,,的改进技术中,组件接口被定义为一系列端 口。该接口在帮助软件开发者进行组件改进时必然发挥更重要的作用。当一个 方法被调用时,组件的一个活跃接口可以通过编程来实现。由于一个端口与一 系列方法相关联,每个方法的请求也是对一个端口的请求。内部组件接口由私 有的和受保护的方法组成。尽管某些内部方法对于组件是私有的,它们仍可支 持一个活跃接口并拥有他们自己的生命周期前后阶段。然而,用这种方法展现 的组件内部接口并不暴露它的实现过程。 '如前所述,活跃接口机制被限制在标准接口界限内改进组件的行为。 一般 而言,组件的设计者可以建立特殊的端口,允许组件的策略决定被改进。通过 这种方式,加强了组件接口,如同在众所周知的开放实现(由施乐公司的帕洛阿尔托研究中心(PARC研究中心)提出)中,使得关键决定得以改进。活 跃接口的改进技术由组件仲裁器的内部改进机制所支持。这样的仲裁器可以很 轻松地集成到任何组件中。更常用的组件重用技术是组件封装。例如,Microsoft .NET框架提供了一 个封装工具(COM Wrapper)为开发人员在.NET环境中封装先前Windows组 件所使用。虽然适用于某些情况,但组件封装在改进组件时无疑产生了繁重的 代码冗余,并时常使改进组件和目标系统性能下降。此外,组件封装只能在非 常有限的范围内进行组件接口的改进。
技术实现思路
从而,依然需要对组件式开发领域进行改进。本专利技术的第 一个方面提供了 一种软件组件改进的方法,其包括 从第 一组件中提取一个包含二进制码和元数据的组件规范; 建立一个上下文引导的改进规范;依照上下文51导的改进规范及改进规则来改进至少第 一组件的 一部分; 以第一组件中改进的和未改进的部分为基础生成改进組件。 优选地,该方法迸一步包括建立改进规则的步骤。 优选地,改进规则从预定义的改进规则集中筛选。优选地,当一个选定的改进被请求时,上述改进规则将被自动触发,同时 上述改进规则执行一个改进算法以产生一个或多个合成改进。优选地,上述改进算法被存储于库中,通过改进规则调用。优选地,资格预审过程依据包括系统架构、功能性和质量属性的系统需求 来选^t奪第一组件。优选地,改进规则从库中选才奪。优选地,库拥有一个开放的结构。优选地,改进失见则以组件式系统和组件的程序域知识或以应用域知识为基 础建立。优选地,组件改进规则被绑定入组件改进规则对象的二进制类中。 优选地,根据健康性条件检查组件改进的步骤,使其符合正确的操作。 优选地,当拟定改进破坏了健康条件时,系统向软件开发人员或用户提出警告。优选地,健康性条件以组件式系统和组件的程序域知识或以应用域知识为 基础建立。优选地,生成一个依赖关系图以描述改进对于其它组件或同 一组件中其它7部分的影响。优选地,在最终通过审核并使用前,根据提出的上下文引导的改进规范检 查突变式改进的组件的适用性。优选地,该方法适用于.NET平台中。优选地,组件规范包括组件的结构和由功能性及服务质量组成的语义。优选地,第一组件的骨架由第一组件的类型,类,方法特征符创建,骨架 中不包含方法体。优选地,改进规则对象被应用于改进相关改进组件的方法体。优选地, 一个改进组件的骨架由改进的或插入的方法体或方法体的部分所 构成,用于建立改进组件。优选地,该方法适用于JAVA平台。优选地,组件改进在源^a码层执行。优选地,^是取和改进的组件规范采用XML4各式。优选地,组件改进在二进制码层扭J亍。优选地,组件少见范包括组件的JVM 二进制码和Java元数据。优选地,组件规范包括组件的结构和接口的简要规范。优选地,Java的字节码引擎类库据上下文改进规则定义的改进规则实例改 进组件的二进制码。本专利技术的第二方面提供了 一种生成改进组件的工具,其包括从一个第 一組件中提取组件规范的装置;建立和/或编辑上下文引导的改进M^范的装置;依照上下文引导的改进规范及改进规则来改进至少第 一组件的一部分的装置;以第一组件的改进的和非改进的部分为基础生成改进组件的装置。 优选地,该工具进一步包括一个改进规则提取器,用以创建和编辑改进规则。 优选地,该工具进一步包括一个开放结构的改进规则库。优选地,该工具进一步包括一个类库生成器,用以自动生成改进规则库的类库。优选地,该工具进一步包括一个组件规范(cs)浏览器工具,用以对组件的结构进行导航。优选地,组件规范浏览器中的依赖关系图显示了组件和/或改进规则实例之 间的依赖关系。 优选地,该工具纟皮改进用以第一方面的方法的实现。 根据进一 步的方面,提供了 一个包括第二方面的工具的计算机程序产品。附图说明在此,将以实例的方法介绍本专利技术,并附以下参考图进行说明 图1根据本专利技术的一方面,描迷上下文引导的规则驱动的突变式组件改进 的过程;图2根据本专利技术的一方面,描述自动实现改进机制的组件改进工具的系统架构;图3根据本专利技术的一方面,描述在.NET框架中实际突变式组件的改进实现 过程;图4根据本专利技术的一方面,描述在Java环境下实际突变式组件的改进实现 过程;以及图5根据本专利技术的一方面,描述了改进规则库、自动绑定和改进规则应用程本文档来自技高网
...

【技术保护点】
一种改进软件组件的方法,包括: 从第一组件中提取一个包含二进制码和元数据的组件规范; 建立一个上下文引导的改进规范; 依照上下文引导的改进规范及改进规则来改进至少第一组件的一部分; 以第一组件中改进的和未改进的部分为 基础生成一个改进组件。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:刘晓东王北虎科林糠比
申请(专利权)人:龙比亚大学
类型:发明
国别省市:GB[英国]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1