当前位置: 首页 > 专利查询>浙江大学专利>正文

基于语义的构件动态替换方法技术

技术编号:2913678 阅读:218 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及计算机软件开发中间件领域,特别是涉及一种基于语义的构件动态替换方法。一种基于语义的构件动态替换方法,采用语义技术为构件描述提供更为丰富的信息,然后使用基于构件的软件系统一致性约束的保证方法进行构件替换的约束条件,所述构件为基于语义技术的构件模型。本发明专利技术与背景技术相比,具有的有益的效果是:它采用较成熟的非形式化方法,在构件模型中引入语义,能更好地描述构件的运行时信息,为构件的动态替换提供了必要的信息,同时在替换过程中将粒度从整个构件细化到构件的端口,提高了查找影响目标构件的构件集合的精度,且在替换期间只阻塞这些构件的相应事务启动端口,从而提高了替换期间系统的性能。

【技术实现步骤摘要】

本专利技术涉及计算机软件开发中间件领域,特别是涉及一种基于语义的构件动态替换方法
技术介绍
一些系统必须无间断长期运行,比如导航系统、金融系统、邮件系统。不管是对提供商还是客户来说,中断这些服务都将带来巨大损失,甚至灾难。因此,新技术的发展、客户需求、功能实现或业务流程的改变,都要求软件系统具备动态演化的能力,即可以在不停止系统运行的情况下,实现软件的功能更新。此外,自适应、自管理系统也越来越引起人们的关注。随着Internet的出现与发展,现在的基于构件的系统所面临的环境从静态、封闭逐步走向动态、开放,应用系统变得越来越难以管理和维护,必须尽可能实现应用系统的自动管理。从软件体系结构的角度看,所有的软件系统,无论多么复杂,都可视为由构件根据一定规则连接而成。组成系统的构件,构件的物理分布及构件间的连接关系等构成了系统的配置。在系统运行期间对系统配置进行更改的技术就是动态配置。而动态配置主要有构件删除、构件添加、构件替换、构件迁移、连接建立、连接删除、连接重定向和构件属性等方面,其中最关键的就是构件替换,亦即动态替换。虽然某些场景可停止系统运行来替换构件,动态替换仍是较好的选择。因-->为动态替换期间,系统中仍有部分构件不受影响,可继续为客户服务,这样就把对系统的影响降到了最低。目前的做法有形式化方法和非形式化方法两种。动态配置形式化方向的研究重点在于对系统结构和配置变化的形式化描述以及相关性质的形式化验证,包括动态配置意图本身的合法性,动态配置操作序列是否保证系统一致性,以及系统在动态配置后是否具有期望的性质,如是否存在死锁、活锁等。但是目前利用形式化的系统结构描述语言对系统的描述和分析技术,特别是对系统动态特性的描述和分析技术还远未成熟。非形式化方法根据保证系统一致性方法的不同,非形式化的动态配置方法大致可分为恢复性方法、避免性方法和通用配置框架这三种方法。其中,避免性方法对应用系统本身没有过高要求、使用范围较广、动态配置性能较好、动态配置能力也较强,目前很多研究都集中在此类方法上,本专利技术也采用了这种方法。但是目前的非形式化方法由于找不到一种强有力的构件描述方法,来描述构件的运行时信息,一般只能采用阻塞大量的构件以防止动态替换期间目标构件处于非稳定状态。因此急需一种能够尽可能减少构件动态替换期间对系统性能带来影响的可行方法,以满足动态配置的需求。
技术实现思路
为解决以上问题,本专利技术提供能够尽可能减少构件动态替换期间对系统性能影响的基于语义的构件动态替换方法。一种基于语义的构件动态替换方法,采用语义技术为构件描述提供更为丰-->富的信息,然后使用基于构件的软件系统一致性约束的保证方法进行构件替换的约束条件,所述构件为基于语义技术的构件模型。进一步的,所述语义构件模型包括行为模型和交互模型。进一步的,动态替换过程中的系统一致性约束包括行为一致性、状态一致性、应用一致性和引用一致性。更进一步的,所述系统一致性约束的保证方法主要通过端口负责构件的状态设置。更进一步的,所述系统一致性约束的保证方法包括:a)行为一致性的保证方法为,找到启动事务的源构件并阻塞它,从而保证在动态替换期间没有正在执行的事务;b)状态一致性的保证方法为,构件通过指定的一个端口负责状态的收集,同时指定另一个端口负责状态的初始化,这样就能实现构件状态在新旧构件之间的正确传递;c)应用一致性的保证方法为,构件通过指定一个端口负责构件加入系统时的相关状态的设置,同时指定另一个端口负责构件离开系统时的相关状态设置;d)引用一致性的保证方法为,通过引用注册中心解决引用一致性的问题,所有新创建的构件的端口都需要在引用注册中心登记,由引用注册中心统一管理端口之间的引用;进一步的,所述构件替换的流程为:第一阶段,找出所有可以启动需要目标构件参与的事务的源端口;第二阶段为钝化阶段;第三阶段为激活阶段。-->更进一步的,所述钝化阶段为:首先阻塞第一阶段中找到的所有源端口,其次以等待方式驱动目标构件进入稳定状态,然后保存目标构件的状态并设置系统中的其他构件状态,最后通过引用注册中心删除目标构件。更进一步的,所述激活阶段,首先通过引用注册中心添加新构件,其次设置系统中其他构件的状态,然后设置新构件的状态并激活它,最后激活系统中在第二阶段被阻塞的所有源端口。本专利技术与
技术介绍
相比,具有的有益的效果是:它采用较成熟的非形式化方法,在构件模型中引入语义,能更好地描述构件的运行时信息,为构件的动态替换提供了必要的信息,同时在替换过程中将粒度从整个构件细化到构件的端口,提高了查找影响目标构件的构件集合的精度,且在替换期间只阻塞这些构件的相应事务启动端口,从而提高了替换期间系统的性能。附图说明图1是语义构件的概念模型;图2是接口本体的抽象示意图;图3是交互本体的抽象示意图图4是源端口求解示意图具体实施方式1)语义构件模型语义构件模型包括行为模型和交互模型,在行为模型中,一个操作序列组成一个接口,接口通过端口向外发布(见图1);在交互模型中,端口之间通过连接子进行连接。若接口中的操作序列为原子性序列(也就是事务),则可标识该接口为事务-->启动接口,而该接口发布的端口也相应地为事务启动端口。端口有两种类型:服务端口和配置端口。通过服务端口发布的接口提供通常意义上的一般服务。而配置端口则提供动态替换相关的服务,配置端口包括Getter、Setter、Passivator和Activator四种。其中Getter端口负责构件离开系统时状态的收集、Setter负责构件加入系统时状态的设置、Passivator负责构件离开系统时对系统中其他构件状态的设置、Activator负责构件加入系统时对系统中其他构件状态的设置。接口本体的抽象示意图见图2。构件通过端口进行交互,而连接子是端口之间的通道,连接子指明了源端口和目标端口等,交互本体的抽象示意图见图3。2)系统一致性约束动态替换过程中的系统一致性约束可分为以下几种:a)行为一致性:系统在运行时表现为一系列的行为序列,动态替换若保证了行为序列的正常完成,也就保证了系统处于一致性状态。b)状态一致性:进行动态替换时,构件状态在新旧构件之间的正确传递称为状态一致性。c)应用一致性:构件状态的除了与自身行为有关,还受到系统对状态全局约束的限制,动态替换必须保证不会破坏这种全局状态约束,称为应用一致性。d)引用一致性:构件替换前后,交互中的构件不会持有过时的引用,这就是引用一致性。3)系统一致性约束的保证方法a)行为一致性的保证方法为,找到启动事务的源构件并阻塞它,从而保证在动态替换期间没有正在执行的事务。-->为保证行为一致性,目标构件在动态配置前必须进入稳定状态。当端口满足如下条件时,称该端口处于懒惰状态:1.当前没有启动需要目标构件参与的事务2.将来不会启动需要目标构件参与的事务当处于懒惰状态的端口满足以下条件时,称该端口处于稳定状态:1.当前没有参与其他端口启动的事务2.将来不会参与其他端口启动的事务当目标构件的所有端口处于稳定状态时,称该目标构件处于稳定状态。如果某个端口可以启动需要目标构件参与事务,并且从该端口到目标构件之间的调用不需要另外一个事务启动端口参与,我们称该端口称为源端口。也就是离目标构件最近的事务启动端口本文档来自技高网
...

【技术保护点】
一种基于语义的构件动态替换方法,其特征在于:采用语义技术为构件描述提供更为丰富的信息,然后使用基于构件的软件系统一致性约束的保证方法进行构件替换的约束条件,所述构件为基于语义技术的构件模型。

【技术特征摘要】
1.一种基于语义的构件动态替换方法,其特征在于:采用语义技术为构件描述提供更为丰富的信息,然后使用基于构件的软件系统一致性约束的保证方法进行构件替换的约束条件,所述构件为基于语义技术的构件模型。2.根据权利要求1所述的基于语义的构件动态替换方法,其特征在于:所述语义构件模型包括行为模型和交互模型。3.根据权利要求1所述的基于语义的构件动态替换方法,其特征在于:动态替换过程中的系统一致性约束包括行为一致性、状态一致性、应用一致性和引用一致性。4.根据权利要求3所述的基于语义的构件动态替换方法,其特征在于:所述系统一致性约束的保证方法主要通过端口负责构件的状态设置。5.根据权利要求4所述的基于语义的构件动态替换方法,其特征在于:所述系统一致性约束的保证方法包括:a)行为一致性的保证方法为,找到启动事务的源构件并阻塞它,从而保证在动态替换期间没有正在执行的事务;b)状态一致性的保证方法为,构件通过指定的一个端口负责状态的收集,同时指定另一个端口负责状态的初始化,这样就能实现构件状态在新旧构件之间的正确传递;c)应...

【专利技术属性】
技术研发人员:邓水光殷昱煜李莹尹建伟吴健吴朝晖
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

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

1