一种自适应软件uml建模及其形式化验证方法

文档序号:6637558阅读:717来源:国知局
一种自适应软件uml建模及其形式化验证方法
【专利摘要】本发明公开了一种自适应软件UML建模及其形式化验证方法,主要用于处理自适应软件的建模与验证问题,具体步骤包括:(1)建立自适应软件概念模型;(2)通过扩展UML引入新的构造型、标记值和约束条件,建立自适应软件的可视化模型,包括自适应软件的结构模型自适应类图和行为模型自适应序列图;(3)设计模型转换算法将自适应软件的行为模型转换为时间自动机网络,建立自适应软件的形式化模型;(4)给出描述自适应软件性质的TCTL时序逻辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性,并根据反馈结果进一步优化自适应软件的UML模型。本发明可有效降低软件自适应建模和验证的复杂度,提高软件自适应的建模效率和模型可靠性。
【专利说明】-种自适应软件UML建模及其形式化验证方法

【技术领域】
[0001] 本发明属于软件新方法和软件建模与验证【技术领域】,特别是自适应软件UML建模 及其形式化验证方法。

【背景技术】
[0002] 自适应软件/软件自适应技术是一种新的软件设计范型,该类软件能够有效降低 软件维护压力、增强自身容错和应对变化的能力,其赋予软件一种应对环境和用户需求变 化的自适应能力,使软件能够在运行过程中,实时收集软件上下文信息,并根据预先设定好 的策略,在必要时对自身进行参数、结构或行为的调整,W能及时消除或减轻变化所带来的 不利影响,确保软件持续而不间断地提供服务。由于自适应软件应用场景动态多变、软件规 模复杂鹿大、应用领域安全可靠性要求高,其需求分析、设计等阶段均面临着新的困难和挑 战。因此,研究在设计阶段对自适应软件建模与验证的方法具有重要的理论意义和应用价 值,可有效降低自适应软件建模和验证的复杂度,提高自适应软件的建模效率和模型可靠 性。
[0003] 针对自适应软件建模及其形式化验证的研究主要围绕两个问题:自适应软件可视 化建模方法和自适应软件形式化验证方法。现有软件需求分析与建模方法(如UML)缺少 自适应软件领域设施,不能直接用于自适应软件的建模,且其缺少模型的形式化分析与验 证机制,直接对其进行形式化验证非常困难;现有形式化的方法(如时间自动机模型)过于 抽象,难W理解和掌握,很难直接应用到工业实践中。因此,目前大部分研究工作中,自适应 软件的可视化建模与形式化建模之间存在"鸿沟",导致可视化的方法形象直观、但缺乏严 格的分析机制,难W让人信服;形式化的方法定义严格、但可读性差,难W被软件工程师理 解和掌握。尽管少数学者(如密歇根州立大学的An化esJ.Ramirez和BettyH.C.化eng) 已经尝试将可视化的建模方法和形式化建模方法相结合用于自适应软件的建模和形式化 验证,但该方面研究尚未成熟,缺乏对模型转换算法、自适应特性等因素的考虑。


【发明内容】

[0004] 本发明的目的在于提供一种自适应软件UML建模及其形式化验证方法,主要用于 需求设计阶段自适应软件的可视化建模、形式化建模及形式化验证,能够有效降低自适应 软件建模和形式化验证的复杂度,提高自适应软件的建模效率和模型的可靠性。
[0005] 实现本发明目的的技术解决方案为:一种自适应软件UML建模及其形式化验证方 法,将可视化的UML与严格化的时间自动机相结合用于自适应软件的建模和形式化验证, 具体步骤如下:
[0006] 步骤1,建立自适应软件概念模型,具体是改进现有自治计算MA阳-K模型,添加刻 画环境变化的化vironment要素和刻画用户需求变化的化er要素,建立自适应软件概念模 型;
[0007] 步骤2,建立自适应软件可视化模型,具体是通过扩展UML引入新的构造型、标记 值和约束条件,建立自适应软件的结构模型和行为模型,包括如下子步骤:
[000引步骤2-1,对UML的类图进行扩展构造结构模型自适应类图,具体是扩展类构造自 适应类的集合Ca、扩展关系构造自适应关系集合Ra、扩展属构造自适应属性集合Aa,同时添 加约束条件集合Sa,将自适应类图形式化描述为一个四元组ACD:= ((;,1?4,44,54),其中:
[0009] a.Ca代表自适应类的有限集合Ca=(Monitor, Analyzer, Planner, Executer, Knowledgebase, User, Elnvironment, Soft-self},Ca基于UML的Class构造,用符号 〈〈stereotype〉〉表示,Monitor表示监测类,Analyzer表示分析类,Planner表示规划类, Exe州ter表示执行类,Knowledgebase表示知识库类,User表示用户类,Environment表示 环境类,Soft-self表示软件自身类;
[0010] b. Ra代表自适应关系的有限集合,巧E Ra={select, precede, trigger, monitor, invoke, adjust},Ra基于UML的Relationship构造,表示自适应软件各功能单元 之间的连接关系,select表示选择关系,precede表示优先关系,trigger表示触发关系, monitor表示监测关系,invoke表示调用关系,ad化st表示调整关系;
[0011] c.Aa代表自适应属性的集合,部分属性W标记值的形式附加在Ca的构造型中,即 Aa=AU化g,其中,A是Class的属性Attribute的集合,Tag是所添加标记值的集合,其 形式为[Tag] = [Value],Tag主要用于显示化刻画各功能单元的类型和属性;
[0012] d.Sa代表约束条件的集合,Sa=TimeConsUEventCons,分别为时间约束和事件 约束,本文采用对象约束语言0CL描述和定义约束条件;
[0013]步骤2-2,对UML的序列图进行扩展构造行为模型自适应序列图,具体是扩展对象 构造自适应对象〇A、扩展片段化agment构造自适应片段FG,引入状态State的概念,同时添 加约束条件集合Sa,将自适应序列图形式化描述为一个五元组ASD:=(〇a,STa,Ma,FG,Sa), 其中:
[0014] a.〇A表示参与软件自适应过程的对象的有限集合,〇A={monitor, analyzer, pla nner, executer, knowledgebase, user, environment, soft-self},分别是自适应类C* 的实 例化;
[0015] b. STa表示对象生命线上状态的有限集合,ST*a表示不包括空事件在内的所有不 重复状态的集合,即STa=eUST*a,£表示空事件,自适应序列图中的状态用对象生命 线上的圆角矩形表示;
[0016] C. Ma是有穷消息的集合,对每个消息mGM,m!表示消息的发送事件,m?表示 消息的接收事件;
[0017]d.FG是组合片段的集合,自适应序列图在UML序列图基础上定义了 sim,alt,loopH种片段,即FG= (sim,alt,loop},每个片段由片段名和执行条件组成即 [Name]: [Condition] ;sim为简单片段,执行条件为空即Sim:e;alt为分支选择片段,执 行条件决定对象下一个状态的流向;loop为循环片段,条件为真时所包含对象转为激活状 态;
[001引e. Sa代表约束的有限集合,Sa=ShttaU Sht。,,Shtta表示状态内部、Sht。,表示状态 之间的约束集合;
[0019]步骤3,建立自适应软件形式化模型,具体是在自适应软件行为模型和时间自动机 模型直接建立映射关系,设计模型转换算法将自适应软件的行为模型自适应序列图转换为 时间自动机网络TAN;所述映射关系包括,一个自适应序列图ASD可映射为一个时间自动机 网络TAN;每个自适应对象和它生命周期内的状态迁移映射为一个时间自动机TA;自适应 序列图的状态State映射为时间自动机中的位置Location;自适应序列图ASD中每个对象 纵轴状态的集合对应每个自动机TA位置的集合;自适应序列图的消息message映射为时 间自动机的通道化an;ASD的每个消息mGMa对应于TA的一对发送事件a!和接收事件 a?,其中A=({a!|aGChan}U{a?|aGChan});自适应序列图的约束SA对应TA 的约束S,其中状态间约束Sht。,和片段执行条件Condition对应TA边E上的约束S,状态 内部约束SiMt。对应TA的位置不变式Invariant;ASD中的变量对应TAN中的数据变量Var 和时钟变量Clock;
[0020] 步骤4,自适应软件形式化验证,具体是给出描述自适应软件性质的TCTL时序逻 辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性;所述自适应软件性质 包括;系统有无死锁、自适应动作有效性、自适应规则正确性和自适应快速响应能力;
[0021] 所述TCTL时序逻辑规范,有W下五种形式:
[0022] Prop:: =A[]p|E<>p|E[]p|AOp|p^q
[0023] 其中;A[]p表不对所有的路径,p总是成立;E<〉p表不存在一条路径,P最终成立; E[]p表示存在一条路径,P总是成立;A<〉p表示对所有的路径,P最终成立;P-q表示无论 何时P成立,q最终成立,上述语句相组合用于描述自适应软件性质。
[0024] 本发明与现有技术相比,其显著优点为;(1)直接面向自适应软件领域建模,可显 示化地描述和刻画自适应软件的结构特征和行为特性,为软件建模人员提供一种直观、易 理解的软件建模方法,可有效提高自适应软件开发效率;(2)基于UML扩展机制构造建模方 法,可视化程度高、通用性强、兼容性好;(3)将可视化的UML建模与严格化的自动机模型有 机融合起来,很大程度上消除了自适应软件可视化建模和形式化建模之间的"鸿沟";(4)用 时序逻辑TCTL严格描述自适应软件的性质,利用模型检测工具UPPAAL验证软件自身的可 靠性和自适应逻辑的正确性,可有效提高自适应软件模型的可靠性。

【专利附图】

【附图说明】
[00巧]图1是本发明自适应软件UML建模及其形式化验证方法实施步骤图。
[0026] 图2是自适应软件概念模型图。
[0027] 图3是本发明方法中自适应类图的形式化描述。
[002引图4是本发明方法中自适应序列图的形式化描述。
[0029] 图5是本发明方法中Z順.com范例自适应类图。
[0030]图6是本发明方法中ZNN.com范例自适应序列图。
[003。图7是本发明方法中ZNN.com范例时间自动机网络示意图,其中(a)为负载探针 时间自动机,化)为响应时间探针时间自动机,(C)为负载检测单元时间自动机,(d)为响应 时间检测单元时间自动机,(e)为负载分析单元时间自动机,讯为响应时间分析单元时间 自动机,(g)为负载均衡单元时间自动机,化)为响应时间自适应单元时间自动机,(i)为服 务器池管理单元时间自动机,(j)为服务模式管理单元时间自动机。
[003引图8是本发明方法中ZNN.com范例模型检测结果。

【具体实施方式】
[0033] 下面结合附图及具体实施例对本发明作进一步详细说明。
[0034] 本发明将可视化的UML模型与定义严格的时间自动机模型有机融合,提出一种自 适应软件UML建模及其形式化验证方法,为软件开发者提供直观而又不失严格的软件自适 应建模与形式化验证方法,同时在很大程度上消除了可视化建模和形式化建模之间的"鸿 沟"。首先,利用UML扩展机制定义了软件自适应建模设施,并引入时间属性,建立了软件自 适应的结构模型和行为模型;然后,根据模型转换算法将软件自适应行为模型转换为时间 自动机网络,建立了软件自适应形式化模型;最后,给出描述自适应软件性质的TCTL时序 逻辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性。
[00巧]结合图1,本发明的自适应软件UML建模及其形式化验证方法,将可视化的UML模 型与定义严格的时间自动机模型有机融合用于自适应软件的建模和形式化验证,具体步骤 如下:
[0036] 步骤1,建立自适应软件概念模型,具体是改进现有自治计算MA阳-K模型,添加刻 画环境变化的化vironment要素和刻画用户需求变化的化er要素,建立自适应软件概念模 型,如图2所示;
[0037] 步骤2,建立自适应软件可视化模型,具体是通过扩展UML引入新的构造型、标记 值和约束条件,建立自适应软件的结构模型和行为模型,包括如下子步骤:
[003引步骤2-1,对UML的类图进行扩展构造结构模型自适应类图,如图3所示,具体是 扩展类构造自适应类的集合Ca、扩展关系构造自适应关系集合Ra、扩展属构造自适应属性 集合Aa,同时添加约束条件集合Sa,将自适应类图形式化描述为一个四元组ACD: = (Ca,Ra, Aa,Sa),其中:
[0039]a.Ca代表自适应类的有限集合Ca= (Monitor,Analyzer,Planner,Executer, Knowledgebase,User,Elnvironment,Soft-self},Ca基于UML的Class构造,用符号 〈〈stereotype〉〉表示,Monitor表示监测类,Analyzer表示分析类,Planner表示规划类, Exe州ter表不执行类,Knowledgebase表不知识库类,User表不用户类,Environment表不 环境类,Soft-self表示软件自身类;
[0040]b.Ra代表自适应关系的有限集合,化! QC,|xC,,,Ra= {select,precede,trigger, monitor,invoke,adjust},Ra基于UML的Relationship构造,表示自适应软件各功能单元 之间的连接关系,select表示选择关系,precede表示优先关系,trigger表示触发关系, monitor表示监测关系,invoke表示调用关系,ad化st表示调整关系,其形式化描述如下 表:
[0041]

【权利要求】
1. 一种自适应软件UML建模及其形式化验证方法,其特征在于,将可视化的UML与严格 化的时间自动机相结合用于自适应软件的建模和形式化验证,具体步骤如下: 步骤1,建立自适应软件概念模型,具体是改进现有自治计算MPE-K模型,添加刻画环 境变化的Environment要素和刻画用户需求变化的User要素,建立自适应软件概念模型; 步骤2,建立自适应软件可视化模型,具体是通过扩展UML引入新的构造型、标记值和 约束条件,建立自适应软件的结构模型和行为模型,包括如下子步骤: 步骤2-1,对UML的类图进行扩展构造结构模型自适应类图,具体是扩展类构造自适应 类的集合Ca、扩展关系构造自适应关系集合Ra、扩展属性构造自适应属性集合Aa,同时添加 约束条件集合S a,将自适应类图形式化描述为一个四元组A⑶:=(Ca,Ra,Aa,S a); 步骤2-2,对UML的序列图进行扩展构造行为模型自适应序列图,具体是扩展UML的对 象构造自适应对象、扩展片段构造自适应片段,引入状态的概念,同时添加约束条件集合, 将自适应序列图形式化描述为一个五元组八50 : = ((^51\,1^^6,54),其中,(\表示自适应 对象的集合,STa表示对象生命线上状态的有限集合,M a是有穷消息的集合,FG是组合片段 的集合,Sa是约束条件集合; 步骤3,建立自适应软件形式化模型,具体是在自适应软件行为模型和时间自动机模型 直接建立映射关系,设计模型转换算法将自适应软件的行为模型自适应序列图转换为时间 自动机网络TAN; 步骤4,自适应软件形式化验证,具体是给出描述自适应软件性质的TCTL时序逻辑规 范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性。
2. 根据权利要求1所述的自适应软件UML建模及其形式化验证方法,其特征在于,步骤 2-1所述对UML的类图进行扩展构造结构模型自适应类图ACD: = (CA,RA,Aa,Sa),其中: a. Ca 代表自适应类的有限集合 Ca = {Monitor,Analyzer,Planner,Executer, Knowledgebase,User,Environment,Soft-self}, Ca 基于 UML 的 Class 构造,用符号 〈〈stereotype?表示,Monitor表示监测类,Analyzer表示分析类,Planner表示规划类, Executer表不执行类,Knowledgebase表不知识库类,User表不用户类,Environment表不 环境类,Soft-self表示软件自身类; b. Ra 代表自适应关系的有限集合,足! G Ra = {select, precede, trigger, monitor,invoke,adjust},Ra基于UML的Relationship构造,表不自适应软件各功能单兀 之间的连接关系,select表示选择关系,precede表示优先关系,trigger表示触发关系, monitor表示监测关系,invoke表示调用关系,adjust表示调整关系; c. Aa代表自适应属性的集合,部分属性以标记值的形式附加在Ca的构造型中,即Aa = A U Tag,其中,A是Class的属性Attribute的集合,Tag是所添加标记值Tag的集合,其形 式为[Tag] = [Value],Tag用于显示化刻画各功能单元的类型和属性; d. Sa代表约束条件的集合,Sa = TimeCons U EventCons,TimeCons为时间约束、 EventCons为事件约束,采用对象约束语言OCL描述和定义约束条件。
3. 根据权利要求1所述的自适应软件UML建模及其形式化验证方法,其特征在于,步骤 2-2所述对UML的序列图进行扩展构造行为模型自适应序列图ASD: = (0A,STA,MA,FG,Sa), 其中: a. Oa表示参与软件自适应过程的对象的有限集合,0A = {monitor, analyzer, planner, executer, knowledgebase, user, environment, soft-self},分别是自适应类 Ca 的实例化; b. STa表示对象生命线上状态的有限集合,31^表示不包括空事件在内的所有不复状 态的集合,即ST a = ε U ST*A,ε表不空事件,自适应序列图中的状态用对象生命线上的圆 角矩形表示; c. Ma是有穷消息的集合,对每个消息m e MA,m !表示消息的发送事件,m ?表示消息 的接收事件; d. FG是组合片段的集合,自适应序列图在UML序列图基础上定义了 sim,alt,loop 三种片段,即FG = {sim,alt,loop},每个片段由片段名和执行条件组成即 [Name] : [Condition] ;sim为简单片段,执行条件为空;alt为分支选择片段,执行条件决定 对象下一个状态的流向;loop为循环片段,条件为真时所包含对象转为激活状态; e. Sa代表约束的有限集合,Sa = Sintra U Sintw,Sintra表示状态内部、Sintw表示状态之间 的约束集合。
4. 根据权利要求1所述的自适应软件UML建模及其形式化验证方法,其特征在于,步 骤3所述在自适应软件行为模型和时间自动模型直接建立映射关系,设计模型转换算法将 自适应软件的行为模型自适应序列图转换为时间自动机网络,具体为: 所述映射关系包括,一个自适应序列图ASD可映射为一个时间自动机网络TAN ;每个 自适应对象和它生命周期内的状态迁移映射为一个时间自动机TA ;自适应序列图的状态 State映射为时间自动机中的位置Location ;自适应序列图ASD中每个对象纵轴状态的集 合对应每个自动机TA位置的集合;自适应序列图的消息message映射为时间自动机的通 道Chan ;ASD的每个消息m e Ma对应于TA的一对发送事件a !和接收事件a ?,其中A = ({a ! I a e Chan} U {a ? I a e Chan});自适应序列图的约束Sa对应TA的约束S,其中状 态间约束Sinte,和片段执行条件Condition对应TA边E上的约束S,状态内部约束S intra对应 TA的位置不变式Invariant ;ASD中的变量对应TAN中的数据变量Var和时钟变量Clock。
5. 根据权利要求1所述的自适应软件UML建模及其形式化验证方法,其特征在于,步 骤4给出描述自适应软件性质的TCTL时序逻辑规范,并利用模型检测工具UPPAAL验证自 适应软件模型的可靠性; 所述自适应软件性质包括:系统有无死锁、自适应动作有效性、自适应规则正确性和自 适应快速响应能力; 所述TCTL时序逻辑规范,有以下五种形式: Prop: : = A [] p I E〈>p IE [] p I A〈>p I p - q 其中:A[]p表不对所有的路径,p总是成立;E〈>p表不存在一条路径,p最终成立;E[] P表示存在一条路径,P总是成立;A〈>p表示对所有的路径,p最终成立;p - q表示无论何 时P成立,q最终成立,上述语句相组合用于描述自适应软件的性质。
【文档编号】G06F11/36GK104375842SQ201410738547
【公开日】2015年2月25日 申请日期:2014年12月5日 优先权日:2014年12月5日
【发明者】邢建春, 韩德帅, 杨启亮, 王平, 王洪达, 张学伟 申请人:中国人民解放军理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1