一种软件组件系统组件间协作行为分析方法技术方案

技术编号:9896182 阅读:96 留言:0更新日期:2014-04-09 22:11
本发明专利技术涉及一种软件组件系统组件间协作行为分析方法,包括:分析组件行为,建立组件的行为模型;对各组件进行基于Pi演算的行为描述;生成协作路径集合;分析协作路径上的时间约束,生成带时间约束的协作路径集。本发明专利技术适用于软件组件系统,关注的不是组件顺序的线性行为,而是组件间的交互行为。将UML与Pi演算理论相结合,提出软件组件协作路径分析方法,在较高的抽象层次上描述各组件间的协作。使用带时间约束的协作路径集作为组件间的协作行为,对行为的描述更加准确。将本发明专利技术应用于软件系统的开发过程中,对于提高软件组件协作行为的可信性以及增强整个软件系统的可信性具有重要作用。

【技术实现步骤摘要】
一种软件组件系统组件间协作行为分析方法
本专利技术属于计算机软件领域,涉及一种软件组件系统组件间协作行为分析方法。
技术介绍
近年来,随着计算机和软件技术的迅速发展与广泛应用,社会的信息化程度不断提高,计算机软件已经广泛应用于诸如航空航天、核反应堆、国防建设以及与国民经济相关的重要领域。如果计算机软件系统的安全受到危害,将会危及国家安全,引起社会混乱,造成重大损失。因此,确保计算机软件系统的安全成为世人关注的社会问题,并成为信息科学
中的研究热点。随着人们对软件系统功能要求的不断提高,软件系统的规模也越来越大,导致软件的开发、集成和维护工作也越来越复杂,软件在被使用时遇到广泛的软件信任问题。增强软件系统的可信性得到了广泛的关注。软件系统的可信是指软件系统的行为及其结果总是符合人们的,在受到干扰时仍能提供连续的服务。然而,由于目前尚严重缺乏相关的可信软件构造技术,导致软件产品在推出时总会含有一些已知或未知的缺陷,这些缺陷对软件系统的运行构成了严重的威胁。因此,构造可信软件已经成为现代软件技术发展和应用的重要趋势和必然选择。目前,对于可信软件的开发方法以及运行支撑平台的研究仍然处于起步阶段。对于生产可信软件产品来说,仍然缺少科学的理论基础和严格的技术手段。因此,如何构造可信软件的相关问题,已经成为当前软件行业所面临的一个挑战,并且已成为软件工程领域的热点问题之一,该领域的研究具有重要的理论意义和应用价值。现有的软件行为分析方法多是通过静态分析或动态分析,获取软件自身的状态序列从而进一步获取行为序列,其缺点是只能关注软件本身顺序执行的行为,而对软件系统中各组件的协作行为关注不够。申请号为201210303587.4的专利公开了一种基于状态层的软件行为建模方法,该方法通过截获软件执行时的调用序列,转化并建立状态转移图,抽取敏感状态序列,导出软件行为。该方法虽使用了状态转移图,但无法适用于基于组件的软件系统,无法描述各组件的交互行为,其算法的复杂度也较高。
技术实现思路
针对软件各组件间协作行为中存在的问题,本专利技术提出一种软件组件系统组件间协作行为分析方法,不仅能够分析组件间的协作路径,而且还能够同时分析这些路径上的时间约束,从而使所获取的协作行为模型既可以用与时间无关的领域,也可以用与时间相关的领域,具有较好的适用性。为达到以上目的,本专利技术采用如下方案。组件协作行为的分析方法包括:基于UML与Pi演算理论的软件组件协作路径分析方法,基于时序图构造的软件组件协作路径上的时间约束分析方法。组件间的协作路径是指人们所期望的组件间的协作路径。组件间的协作是通过相互收发消息完成的,所以在获取组件间的协作路径时只需考虑人们所期望的组件间的消息传递序列即可,这种消息传递序列反映了组件间的协作路径。时间约束是指组件协作路径上关于消息传递的一种时间限制。一方面,需要分析协作路径上消息传递所花费时间的约束;另一方面,还需要分析协作路径上相邻消息传递之间的时间间隔约束。一种软件组件系统组件间协作行为分析方法,包括以下步骤:步骤1:分析组件行为,建立组件的行为模型。分析组件与其它组件的外部交互,确定组件与指定组件交互所接收和发送的消息,建立组件的UML状态图,通过状态图进一步了解了组件的行为。步骤2:对各组件进行基于Pi演算的行为描述。针对组件行为分析结果,以组件与其它组件协作情况下的UML状态图为主,并将组件收发的消息作为附加信息,按所定义的抽取规则对组件状态图进行Pi演算语义的抽取,得到各组件基于Pi演算的行为描述。本专利技术设计的抽取规则如下:规则1.一个组件可以作为Pi演算中的一个进程。规则2.一个组件可以通过消息的接收与发送与其它组件交互,当一个消息被传递时,假定存在一个传递该消息的通道与Pi演算中的传递该消息的通道相对应。规则3.在状态图中,状态的迁移是由事件的触发引起的,事件的触发由消息的收发引起,因此一个状态迁移可以由基本进程表达式表达。例如:从S1状态迁移到S2状态是由通道a接收消息x完成的,这一迁移可以表示为a<x>。规则4.在状态图中,没有通过接收或发送消息而被触发的事件所造成的状态变迁不进行Pi演算语义抽取。规则5.在状态图中,互斥的条件分支借助Pi演算中的和式表达式表示。规则6.在状态图中,由一系列状态迁移构成的可行流程用Pi演算的进程表达式来表达。步骤3:生成协作路径集合。利用Pi演算操作语义推演组件间的协作路径,生成协作路径集合,将该集合作为组件间协作行为的一部分。协作路径是各组件协作完成某项任务的过程中进行消息传递形成的协作消息链。组件间的协作路径可以表示为pi=<mi1mi2…mij>,其中mij是所传递的消息,可以用一个三元组表示为mij=(sender,name,receiver),其中,i>0,j>0;sender为消息发送者的标识;name为所传递消息的标识;receiver为消息接收者的标识。协作路径集合可以表示为集合P={pk},其中pk为组件间的协作路径,k>0。步骤4:分析协作路径上的时间约束,生成带时间约束的协作路径集。构造系统的时序图,根据所生成的协作路径从所构造的时序图中抽取所需的时间约束,生成带时间约束的协作路径集。时序图用于显示系统内各个实体处于某种特定状态的时间,以及触发这些状态发生变化的消息。其主要元素包括参与者、状态、状态线、事件与消息以及时间约束。其中,参与者:参与者是交互所涉及的所有实体。状态:状态是实体在交互过程中自身的所有状态。状态线:是用来显示系统中的实体在任何特定时间下所处的状态,系统中实体的状态线与系统中实体的某个状态是一致的。事件与消息:将事件与消息显示在时序图上,用于表示触发实体的状态改变。协作路径上的时间约束包括消息时间约束和相邻消息间隔时间约束。消息时间约束可以表示为一个二元组STnm=(L,U),相邻消息间隔时间约束可以表示为一个二元组ITnm=(L,U),其中,L表示时间下限,U表示时间上限,n>0,m>0。带时间约束的协作路径可以表示为:pti=<mti1ITi1mti2ITi2…ITij-1mtij>,mtij=(sender,name,receiver,STij),其中,mtij表示所传递的消息,用一个四元组表示;STij为消息时间约束;ITij-1为相邻消息间隔时间约束。带时间约束的协作路径集可以表示为PT={pt1pt2…ptk},其中,ptk为带时间约束的协作路径,k>0。抽取时间约束的步骤如下:步骤4.1:从协作路径集P中选取一条协作路径pi,i>0。步骤4.2:对于pi消息链中的每一个消息mij,在系统的时序图中进行定位,抽取其时间约束,形成消息时间约束二元组STij,生成表示所传递消息的四元组mtij。步骤4.3:对于pi消息链中的任意两个相邻消息mij和mij+1,在系统的时序图中进行定位,通过时序图给出的相关时间约束计算mij和mij+1之间的间隔时间约束,形成相邻消息间隔时间约束二元组ITij。步骤4.4:生成带时间约束的协作路径pti=<mti1ITi1mti2ITi2…ITij-1mtij>。步骤4.5:重复执行步骤4本文档来自技高网
...
一种软件组件系统组件间协作行为分析方法

【技术保护点】
一种软件组件系统组件间协作行为分析方法,其特征在于包括以下步骤:步骤1:分析组件行为,建立组件的行为模型;分析组件与其它组件的外部交互,确定组件与指定组件交互所接收和发送的消息,建立组件的UML状态图,通过状态图进一步了解了组件的行为;步骤2:对各组件进行基于Pi演算的行为描述;针对组件行为分析结果,以组件与其它组件协作情况下的UML状态图为主,并将组件收发的消息作为附加信息,按所定义的抽取规则对组件状态图进行Pi演算语义的抽取,得到各组件基于Pi演算的行为描述;步骤3:生成协作路径集合;利用Pi演算操作语义推演组件间的协作路径,生成协作路径集合,将该集合作为组件间协作行为的一部分;步骤4:分析协作路径上的时间约束,生成带时间约束的协作路径集;构造系统的时序图,根据所生成的协作路径从所构造的时序图中抽取所需的时间约束,生成带时间约束的协作路径集。

【技术特征摘要】
1.一种软件组件系统组件间协作行为分析方法,其特征在于包括以下步骤:步骤1:分析组件行为,建立组件的行为模型;分析组件与其它组件的外部交互,确定组件与指定组件交互所接收和发送的消息,建立组件的UML状态图,通过状态图进一步了解了组件的行为;步骤2:对各组件进行基于Pi演算的行为描述;针对组件行为分析结果,以组件与其它组件协作情况下的UML状态图为主,并将组件收发的消息作为附加信息,按所定义的抽取规则对组件状态图进行Pi演算语义的抽取,得到各组件基于Pi演算的行为描述;步骤3:生成协作路径集合;利用Pi演算操作语义推演组件间的协作路径,生成协作路径集合,将该集合作为组件间协作行为的一部分;步骤4:分析协作路径上的时间约束,生成带时间约束的协作路径集;构造系统的时序图,根据所生成的协作路径从所构造的时序图中抽取所需的时间约束,生成带时间约束的协作路径集;其中,步骤2所述的抽取规则包括以下内容:规则1.一个组件可以作为Pi演算中的一个进程;规则2.一个组件可以通过消息的接收与发送与其它组件交互,当一个消息被传递时,假定存在一个传递该消息的通道与Pi演算中的传递该消息的通道相对应;规则3.在状态图中,状态的迁移是由事件的触发引起的,事件的触发由消息的收发引起,因此一个状态迁移可以由基本进程表达式表达;从S1状态迁移到S2状态,由通道a接收消息x,这一迁移可以表示为a<x>;规则4.在状态图中,没有通过接收或发送消息而被触发的事件所造成的状态变迁不进行Pi演算语义抽取;规则5.在状态图中,互斥的条件分支借助Pi演算中的和式表达式表示;规则6.在状态图中,由一系列状态迁移构成的可行流程用Pi演算的进程表达式来表达;步骤3所述的协作路径是各组件协作完成某项任务的过程中进行消息传递形成的协作消息链;组件间的协作路径可以表示为pi=<mi1mi2…mij>,其中mij是所传递的消息,可以用一个三元组表示为mij=(sender,name,receiver),其中,i>0,j>0;sender为消息发送者的标识;name为所传递消息的标识;receiver为消息接收者的标识;所述协作路径集合可以表示为集合P={pk},其中pk为组件间的协作...

【专利技术属性】
技术研发人员:王丹王晓曦杜金莲苏航庞俊彪赵文兵
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

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

1