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

一种软件演化中的系统功能行为一致性分析方法及系统技术方案

技术编号:17466864 阅读:22 留言:0更新日期:2018-03-15 04:34
本发明专利技术属于软件演化技术领域,公开了一种软件演化中的系统功能行为一致性分析方法及系统,采用Petri‑net来对待演化软件系统进行形式化建模,之后将相应的系统Petri网模型转化为状态迁移图(Petri‑net可达图),其中的每一个状态就是相应的系统行为状态,然后基于状态迁移图来进行系统演化一致性分析,因此该方法是从系统行为层而不是构件行为层出发去分析演化前后是否保证了一致性。本发明专利技术与直接分析系统的Petri‑net模型相比,更加简单而且易于理解;可以让系统在运行时刻以尽可能小的代价进行软件的动态配置和更新。

A system functional behavior consistency analysis method and system in software evolution

【技术实现步骤摘要】
一种软件演化中的系统功能行为一致性分析方法及系统
本专利技术属于软件演化
,尤其涉及一种软件演化中的系统功能行为一致性分析方法及系统。
技术介绍
构造性和演化性是软件的两个基本特性。在如今这个科学技术飞速发展的时代,本专利技术的计算机软件也发生着重大变化,日新月异。随着用户需求、运行环境等因素的不断变化,软件系统在运行中需要做出相应的改变以适应新的需求和环境,这就表示本专利技术的软件需要不断地进行演化来达到新的要求继而可以继续被使用。软件演化被分为静态演化和动态演化:静态演化是指整个软件系统停止运行,然后对其进行演化,演化完成后再重新启用系统,目前已有相对完整的方案和可行技术,但是这种方式在现在这种多变的环境中,所需的资源和时间成本太高,所以现如今主要关注软件动态演化;动态演化的目标在于可以让系统在运行时刻以尽可能小的代价进行软件的动态配置和更新,即系统中不受动态演化实施影响的部分仍可以继续提供服务,而受影响的部分则须暂停服务而无法正常工作。目前,实施软件动态演化依然面临着挑战。演化必须保证实施动态演化前后的系统一致性,只有保证了演化前后系统的一致性,演化后的系统才可以替代演化前的系统。系统一致性主要涉及到系统的状态迁移问题,主要包括内部一致性和外部一致性:内部一致性是指构件在演化前后的内部状态是否保持了一致,是否可以继续运行完成相应的任务;外部一致性是指在演化前后的系统中演化构件与其他构件之间的交互保持一致。构件系统由不同的构件组成的,遵循高内聚低耦合的原则,各个构件之间通过交互来实现互连互通,使整个系统可以正常运作,完成相应事务。系统行为不受约束的改变可能导致系统出错,因此在演化时引入某些约束条件对于系统正确运行有着很重要的意义。在这里,本专利技术把通过保留系统行为的特征来保证系统运行正确性的约束条件称为一致性约束规则。本专利技术针对整个系统功能不变的情况,通过描述构件的功能行为和构件间的交互行为,这两者一起构成了相应的系统行为,并在系统行为层面而不是在构件行为层面进行一致性判定,来保证系统的功能行为的延续。当演化后系统的功能行为是延续了原系统功能行为的情况下,系统行为执行的正确性就可以得到保证。这样,不需要对替换的构件行为进行严格的行为约束,又保证了运行时的系统行为不会因此偏离原来的系统而产生错误。目前,对软件演化和交互行为的分析有许多,如文献和通过在新构件和原来的构件间建立相容性和替换性,通过局部构件行为的一致性来实现全局的系统行为的一致性,保证原来系统环境下对新构件使用不会导致系统行为出错。而文献和文献都是通过找出演化前后的理论模型之间的不一致,然后去对这些不一致进行分析修改,使得最终的演化结果保持一致性。不同的是文献是分析行为概要文件来找到不一致,再通过改变传播模型来使得最终的演化满足一致性,并且用Petri网建模验证了这一想法,文献是在云领域通过庞大的基数集和经验找出功能模型的不一致,然后去对这些不一致进行修改而达到最终的一致,并且介绍了一个支持自动根据现成的数据集进行不一致性检测并提出解决方案的工具。这类方法的实现有一定难度,并且对相关技术和硬件条件的要求相对较高。文献提出一个基于非功能特征的软件动态演化框架,但演化的准确性和有效性有待提高。综上所述,现有技术存在的问题是:现在软件演化在多变的环境中,所需的资源和时间成本高;现有软件系统演化前后行为状态不满足一致性,导致演化后的系统偏离既定的功能目标,引发不可知的问题发生;通过分析新构件和原构件的关系来保持一致性的方法缺乏全局考虑,没有考虑一些其他因素,比如接口,结构等,没有从系统角度出发去分析一致性问题;通过云领域和其他文件等方法找到理论模型的不一致,再对其进行修改以致最终保持演化一致性的方法,在相关技术和硬件上要求相对较高,不易操作。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种软件演化中的系统功能行为一致性分析方法及系统。本专利技术是这样实现的,一种软件演化中的系统功能行为一致性分析方法,所述软件演化中的系统功能行为一致性分析方法包括:通过将构件系统的Petri网转换得到表示整个系统的所有行为状态的状态迁移图;然后从系统行为层出发,分析用于保证系统演化一致性满足的约束条件。进一步,所述构件系统为三元组S=(Is,Gs,Rs),其中:Is是系统的名称标识;Cs是构成系统的构件的集合;Rs是构件间的交互关系的集合;构件C,为五元组Ω=(Ic,Mc,Pc,PM,BMc),其中:Ic是构件的名称标识;Mc是构件功能实现的方法的集合;Pc是构件提供的外部接口的集合;PM:Pc→Mc关联函数表表示构件提供的外部接口与构件内部的某个功能实现方法的关联关系;BMc是构件的功能行为模型,表示构件C的生命周期。进一步,所述通过将构件系统的Petri网转换得到表示整个系统的所有行为状态的状态迁移图,包括:状态迁移图为三元组,G=(IG,SG,EG),其中:IG是系统状态图的名称标识;SG是构成系统状态图的系统状态的集合;EG是系统状态间关系的集合,表示从哪个状态到达哪个状态的关系的集合;所述系统状态为三元组,S=(Si,QVi),其中:Si是状态的名称标识;Q=(P0,P1,P2,......,Psn,),是软件系统Petri-net模型中库所P的一种排列组合,表示系统状态标记;其中,sn是库所的总个数;Vi是状态值,是由0和1组成的,0表示无托肯,1表示有托肯;所述系统状态具体包括:输入状态Sstart、中间状态和输出状态Send,系统状态S表示所有行为模型{BMc1,BMc2,...,BMcn,BMl1,BMl2,...,BMln}中的标记的集合;初始状态S0是系统的所有构件功能实现的行为模型的输入库所都被标记,{ic1,ic2,...,icn};结束状态是指没有后续状态的状态;中间状态为初始状态和结束状态中间的状态;其中系统状态标记为Q={P0,P1,P2,P3,P4,P5,P6,P7},系统状态间关系的集合所有状态为:S0{1,0,0,0,1,0,0,0},S1{0,1,0,0,1,0,0,0},S2{0,0,1,0,1,0,0,1},S3{0,0,1,0,0,1,0,0},S4{0,0,0,1,1,0,0,1},S5{0,0,1,0,0,0,1,0},S6{0,0,0,1,0,1,0,0},S7{0,0,0,1,0,0,1,0};其中S0为初始状态,S7为结束状态。进一步,保证系统演化一致性满足的约束条件的方法包括:行为继承、完整继承的系统演化一致性;所述行为继承有演化前后的系统状态变迁图GA和GA′,若行为继承自则中值为1的标记Pa相对应的标记Pb在中同样为1,且即或记为:其中,i≤n,n为GA中的状态的个数;j≤m,m为GA′中的状态的个数;所述完整继承包括:在演化后的状态变迁图中依次找到所有的行为继承且满足演化后的初始状态和结束状态分别行为继承自演化前的初始状态和结束状态,或演化前后系统满足一致性;所述系统演化一致性包括:第一点,在系统状态迁移图中,原系统中动作的状态行为都被继承,在演化后的系统中找到;第二点,完整继承,在演化后的系统状态中依次找到所有演化前状态的行为继承,且初始状态和结束状态分别行为继承自演化前的初始状态和结束状态;本文档来自技高网
...
一种软件演化中的系统功能行为一致性分析方法及系统

【技术保护点】
一种软件演化中的系统功能行为一致性分析方法,其特征在于,所述软件演化中的系统功能行为一致性分析方法包括:通过将构件系统的Petri网转换得到表示整个系统的所有行为状态的状态迁移图;然后从系统行为层出发,分析用于保证系统演化一致性满足的约束条件。

【技术特征摘要】
1.一种软件演化中的系统功能行为一致性分析方法,其特征在于,所述软件演化中的系统功能行为一致性分析方法包括:通过将构件系统的Petri网转换得到表示整个系统的所有行为状态的状态迁移图;然后从系统行为层出发,分析用于保证系统演化一致性满足的约束条件。2.如权利要求1所述的软件演化中的系统功能行为一致性分析方法,其特征在于,所述构件系统为三元组S=(Is,Cs,Rs),其中:Is是系统的名称标识;Cs是构成系统的构件的集合;Rs是构件间的交互关系的集合;构件C,为五元组Ω=(Ic,Mc,Pc,PM,BMc),其中:Ic是构件的名称标识;Mc是构件功能实现的方法的集合;Pc是构件提供的外部接口的集合;PM:Pc→Mc关联函数表表示构件提供的外部接口与构件内部的某个功能实现方法的关联关系;BMc是构件的功能行为模型,表示构件C的生命周期。3.如权利要求1所述的软件演化中的系统功能行为一致性分析方法,其特征在于,所述通过将构件系统的Petri网转换得到表示整个系统的所有行为状态的状态迁移图,包括:状态迁移图为三元组,G=(IG,SG,EG),其中:IG是系统状态图的名称标识;SG是构成系统状态图的系统状态的集合;EG是系统状态间关系的集合,表示从哪个状态到达哪个状态的关系的集合;所述系统状态为三元组,S=(Si,Q,Vi),其中:Si是状态的名称标识;Q=(P0,P1,P2,......,Psn,),是软件系统Petri-net模型中库所P的一种排列组合,表示系统状态标记;其中,sn是库所的总个数;Vi是状态值,是由0和1组成的,0表示无托肯,1表示有托肯;所述系统状态具体包括:输入状态Sstart、中间状态和输出状态Send,系统状态S表示所有行为模型{BMc1,BMc2,...,BMcn,BMi1,BMi2,...,BMin}中的标记的集合;初始状态S0是系统的所有构件功能实现的行为模型的输入库所都被标记...

【专利技术属性】
技术研发人员:郑交交秦江龙李彤林英谢仲文莫启王晓芳成蕾刘妙杨真谛郑明李响
申请(专利权)人:云南大学
类型:发明
国别省市:云南,53

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

1