一种基于属性序列图的监听器生成系统和方法

文档序号:6515429阅读:169来源:国知局
一种基于属性序列图的监听器生成系统和方法
【专利摘要】本发明公开一种基于属性序列图的监听器生成系统和方法,通过属性序列图对已知系统的行为的描述,得到与之对应的博弈结构,最终得到与系统以及环境中参加交互的组件一一对应的监听器,对已知系统进行监控,从而达到阻止系统失效的发生的目的,属性序列图编辑器,提供完全图形化的窗口以供用户画出系统中的交互;属性序列图转化为博弈结构的规则(标准),将属性序列图根据该规则转化成博弈结构;博弈结构窗口,显示由属性序列图生成的博弈结构;博弈结构转化为监听器的规则(标准),博弈结构根据该规则生成多个监听器;监听器窗口,显示所有的监听器.本发明根据博弈结构具有多值语义的特性,获取更详细的监控结果并且提供所需的信息以实现阻止和恢复失效。
【专利说明】一种基于属性序列图的监听器生成系统和方法
[0001]
【技术领域】
[0002]本发明涉及一种基于属性序列图的监听器生成系统和方法,涉及对开放环境下对系统进行运行时监控,属于信息【技术领域】。
【背景技术】
[0003]近年来,由于SOA (Service-Oriented Architecture)这类新范式的出现,软件密集型系统的环境正在从静态、封闭、可控向动态、开放、不可控发展。这种开放环境下的软件系统行为很容易受到其内部框架以及来自外部环境输入的影响,从而导致软件失效。传统的设计时验证技术只能保证软件系统的行为满足封闭或者可控环境下需要的属性,不能完全考虑到系统运行时不停变化的环境以及系统的执行状态。运行验证的主体思想是生成一个可以检查运行时行为是否满足系统需要属性的监控器,这些属性用一种特定的语言表示。属性的验证大多集中在基于逻辑规范和基于场景规范两种方法。基于逻辑的形式通常比基于场景的形式具有更强的表达能力,但是基于场景的方法提供了在工业实践中被广泛采用的图形规范形式。
[0004]属性序列图是一种基于场景的可视化语言,容易理解并具有较强的表达能力。根据属性序列图的语义将消息分为三类:正则消息(e:)、强制消息(r:)、错误消息(f:)并定义了严格操作(strict),而没有定义严格操作的就是松散顺序。在属性序列图中可对消息添加限制,如:unwanted message constraint 、unwanted chain constraint 、wantedchain constraint等等,这些限制都包含past和future两类。属性序列图还可以用来表示并(parallel)、循环(loop)、交替(alternative)等操作。属性序列图能够克服当前工业中常用符号中存在的诸多表达缺陷。
[0005]博弈结构在语句结构上跟普通的自动机比较相似,但是不同的是,博弈结构具有多值语义,可以提供更详细的监控结果并且提供所需的信息以实现阻止和恢复失效。而自动机一般只有true和false两个值。博弈结构的状态和消息分别可以分为系统可控和环境可控。本文生成的博弈结构的状态根据系统或者环境、可控或者不可控,可以分为7类来解释PSC的语义:满足、无限可控、系统有限可控、系统紧急可控、环境有限可控、环境紧急可控以及违例。
[0006]Aspect Oriented Programming (面向方面编程)可以通过预编译方式和运行期间动态代理实现在不修改源代码的情况下给程序动态的添加功能。AOP代码就是前文提到的“监控器”,根据GS生成AOP代码,本发明利用AOP技术可以在不对原有系统代码做任何修改的前提下对各个组件或服务添加监控器,该监控器可以捕捉到系统内部以及系统内部与外部环境之间的信息交互,判断系统的行为是否“合法”,从而达到对整个系统的运行时监控甚至对系统的失效行为做出预测、阻止和恢复。
【发明内容】

[0007]发明目的:针对现有技术中存在的问题,本发明提供一种基于属性序列图的监听器生成系统和方法,提高开放环境下运行时系统的可靠性和安全性。
[0008]技术方案:一种基于属性序列图的监听器生成系统,包括应用层、用户交互层和逻辑层;
a)应用层:该层即为目标系统,监听器的监控对象。首先需要分析应用层系统的内部以及外部交互,得出需求。最终生成的监听器也被应用在应用层,原有系统在监听器的监控下运行,以监控甚至预测、防止系统失效的发生。
[0009]b)用户交互层:通过名称为“PSC2GS”的桌面端程序实现与用户的交互,其用户交互界面包括属性序列图编辑窗口、博弈结构窗口和监听器生成窗口。
[0010]c)逻辑层:该层主要有两个逻辑,PSC2GS规则主要将属性序列图编辑窗口中的属性序列图转化成博弈结构并在博弈结构窗口输出;GS2A0P规则主要将博弈结构窗口中的博弈结构转化成Monitors也就是AOP代码并在监听器窗口输出。
[0011]一种基于属性序列图的监听器生成方法,包括如下步骤:
步骤I,设计属性序列图,软件设计者根据开放式系统各个组件之间以及内部组件与外部环境之间的交互在系统(PSC2GS)中的属性序列图编辑窗口(PSC Editor)中画出软件系统中各组件以及内部组件与外部环境之间交互的图形化的流程,即属性序列图。对各个消息加上必要的限制以及对相应的消息加需要的操作。
[0012]步骤2,生成博弈结构,根据所画属性序列图将可视化的软件系统运行流程转化成文本形式的博弈结构,博弈结构的形式类似自动机但是在状态和消息的表示上略有不同。博弈结构包含了自动化生成监控器的基本信息,比如:消息的source与target,消息的内容以及source端发送消息所调用的方法,target端接受消息所调用的方法、消息的类型内容等等。
[0013]步骤3,生成Monitor,根据生成的博弈结构,生成相应的监控器。针对系统中每个产生交互的组件或服务都生成一个单独的监控器。
[0014]步骤4,对目标软件系统进行监控,对每个组件的监控器进行修改,使之可以在目标软件系统中顺利运行从而达到在不修改原有系统的情况下对原有系统进行监控。
[0015]有益效果:与现有技术相比,本发明生成的博弈结构在语句结构上跟普通的自动机比较相似,但是不同的是,自动机一般只有true和false两个值,而博弈结构具有多值语义,可以提供更详细的监控结果并且提供所需的信息以实现阻止和恢复失效。
【专利附图】

【附图说明】
[0016]图1为本发明实施例的系统框架图;
图2为本发明设计系统属性序列图的流程示意图;
图3为本发明实施例的属性序列图;
图4为本发明实施例生成的博弈结构以及监听器的截图;
图5为本发明实施例的目标系统Dict添加了监听器之后的运行结果。
【具体实施方式】[0017]下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0018]如图1所示为本发明的系统框架图:
a)应用层:该层即为目标系统,监听器的监控对象。首先需要分析应用层系统的内部以及外部交互,得出需求。最终生成的监听器也被应用在应用层,原有系统在监听器的监控下运行,以监控甚至预测、防止系统失效的发生。
[0019]b)用户交互层:本发明具体实现为一款名为“PSC2GS”的桌面端程序,其用户交互界面如图4所示I为属性序列图编辑窗口、2为博弈结构窗口、3为监听器生成窗口。
[0020]c)逻辑层:该层主要有两个逻辑,PSC2GS规则主要将属性序列图编辑窗口中的属性序列图转化成博弈结构并在博弈结构窗口输出;GS2A0P规则主要将博弈结构窗口中的博弈结构转化成Monitors也就是AOP代码并在监听器窗口输出。
[0021]如图2为设计系统属性序列图的流程示意图。包括如下步骤:
步骤101,熟悉用户需求以及目标系统内部以及系统内部与外部环境之间的交互;
步骤102,画出所有参加交互的组件(Bundles);
步骤103,画出所有交互需要的Messages并且赋予Message类型以及Message内容;步骤104,遍历所有Message,为需要加上限制(Strict, UnwantedMessage等等)的Message加上限制;
步骤105,根据系统需求为相应的Messages加上Operator (Par, Alt, Loop);
如图3为应用实施例Diet系统的属性序列图。描述了整个查询过程中各Bundle之间的Message交互以及限制。
[0022]如图4为本实施例的Dict系统属性序列图转化成博弈结构进而转化成最终的Monitors整个流程结束时的截图。展示了该工具的整个人机交互界面。
[0023]如图5为本实施例生成的Monitors被加入到原有系统后的运行结果输出截图。图中打印出了各个Bundle在查询流程中所经历的状态,以及Message传递等信息。
【权利要求】
1.一种基于属性序列图的监听器生成系统,其特征在于:包括应用层、用户交互层和逻辑层; 应用层:该层即为目标系统,监听器的监控对象;分析应用层系统的内部以及外部交互,得出需求;最终生成的监听器也被应用在应用层,目标软件系统在监听器的监控下运行,以监控甚至预测、防止系统失效的发生; 用户交互层:通过名称为“PSC2GS”的桌面端程序实现与用户的交互,其用户交互界面包括属性序列图编辑窗口、博弈结构窗口和监听器生成窗口 ; 逻辑层:该层保护有两个逻辑,PSC2GS规则主要将属性序列图编辑窗口中的属性序列图转化成博弈结构并在博弈结构窗口输出;GS2A0P规则主要将博弈结构窗口中的博弈结构转化成Monitors也就是AOP代码并在监听器窗口输出。
2.一种基于属性序列图的监听器生成方法,其特征在于,包括如下步骤: 步骤I,设计属性序列图,软件设计者根据开放式系统各个组件之间以及内部组件与外部环境之间的交互在PSC2GS中的属性序列图编辑窗口中画出软件系统中各组件以及内部组件与外部环境之间交互的图形化的流程;对各个消息加上必要的限制以及对相应的消息加需要的操作; 步骤2,生成博弈结构,根据所画属性序列图将可视化的软件系统运行流程转化成文本形式的博弈结构; 步骤3,生成Monitor,根据生成的博弈结构,生成相应的监控器;针对系统中每个产生交互的组件或服务都生成一个单独的监控器; 步骤4,对目标软件系统进行监控,对每个组件的监控器进行修改,使之可以在系统中顺利运行从而达到在不修改原有系统的情况下对原有系统进行监控。
3.如权利要求2所述的基于属性序列图的监听器生成方法,其特征在于:步骤I设计属性序列图之前包括了解目标系统内部和外部的交互以及了解用户需求的步骤。
4.如权利要求2所述的基于属性序列图的监听器生成方法,其特征在于:步骤4对系统进行监控,对目标系统进行监控时在不修改原有系统任何代码的情况下对原有系统进行监控,只要在了解目标系统组件之间发送以及接受message方法的情况下就可以对目标系统进行监控。
【文档编号】G06F11/30GK103500134SQ201310481229
【公开日】2014年1月8日 申请日期:2013年10月15日 优先权日:2013年10月15日
【发明者】张鹏程, 余俊 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1