CN104375842A - 一种自适应软件uml建模及其形式化验证方法 - Google Patents
一种自适应软件uml建模及其形式化验证方法 Download PDFInfo
- Publication number
- CN104375842A CN104375842A CN201410738547.1A CN201410738547A CN104375842A CN 104375842 A CN104375842 A CN 104375842A CN 201410738547 A CN201410738547 A CN 201410738547A CN 104375842 A CN104375842 A CN 104375842A
- Authority
- CN
- China
- Prior art keywords
- self
- adaptation
- software
- model
- uml
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种自适应软件UML建模及其形式化验证方法,主要用于处理自适应软件的建模与验证问题,具体步骤包括:(1)建立自适应软件概念模型;(2)通过扩展UML引入新的构造型、标记值和约束条件,建立自适应软件的可视化模型,包括自适应软件的结构模型自适应类图和行为模型自适应序列图;(3)设计模型转换算法将自适应软件的行为模型转换为时间自动机网络,建立自适应软件的形式化模型;(4)给出描述自适应软件性质的TCTL时序逻辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性,并根据反馈结果进一步优化自适应软件的UML模型。本发明可有效降低软件自适应建模和验证的复杂度,提高软件自适应的建模效率和模型可靠性。
Description
技术领域
本发明属于软件新方法和软件建模与验证技术领域,特别是自适应软件UML建模及其形式化验证方法。
背景技术
自适应软件/软件自适应技术是一种新的软件设计范型,该类软件能够有效降低软件维护压力、增强自身容错和应对变化的能力,其赋予软件一种应对环境和用户需求变化的自适应能力,使软件能够在运行过程中,实时收集软件上下文信息,并根据预先设定好的策略,在必要时对自身进行参数、结构或行为的调整,以能及时消除或减轻变化所带来的不利影响,确保软件持续而不间断地提供服务。由于自适应软件应用场景动态多变、软件规模复杂庞大、应用领域安全可靠性要求高,其需求分析、设计等阶段均面临着新的困难和挑战。因此,研究在设计阶段对自适应软件建模与验证的方法具有重要的理论意义和应用价值,可有效降低自适应软件建模和验证的复杂度,提高自适应软件的建模效率和模型可靠性。
针对自适应软件建模及其形式化验证的研究主要围绕两个问题:自适应软件可视化建模方法和自适应软件形式化验证方法。现有软件需求分析与建模方法(如UML)缺少自适应软件领域设施,不能直接用于自适应软件的建模,且其缺少模型的形式化分析与验证机制,直接对其进行形式化验证非常困难;现有形式化的方法(如时间自动机模型)过于抽象,难以理解和掌握,很难直接应用到工业实践中。因此,目前大部分研究工作中,自适应软件的可视化建模与形式化建模之间存在“鸿沟”,导致可视化的方法形象直观、但缺乏严格的分析机制,难以让人信服;形式化的方法定义严格、但可读性差,难以被软件工程师理解和掌握。尽管少数学者(如密歇根州立大学的Andres J.Ramirez和Betty H.C.Cheng)已经尝试将可视化的建模方法和形式化建模方法相结合用于自适应软件的建模和形式化验证,但该方面研究尚未成熟,缺乏对模型转换算法、自适应特性等因素的考虑。
发明内容
本发明的目的在于提供一种自适应软件UML建模及其形式化验证方法,主要用于需求设计阶段自适应软件的可视化建模、形式化建模及形式化验证,能够有效降低自适应软件建模和形式化验证的复杂度,提高自适应软件的建模效率和模型的可靠性。
实现本发明目的的技术解决方案为:一种自适应软件UML建模及其形式化验证方法,将可视化的UML与严格化的时间自动机相结合用于自适应软件的建模和形式化验证,具体步骤如下:
步骤1,建立自适应软件概念模型,具体是改进现有自治计算MAPE-K模型,添加刻画环境变化的Environment要素和刻画用户需求变化的User要素,建立自适应软件概念模型;
步骤2,建立自适应软件可视化模型,具体是通过扩展UML引入新的构造型、标记值和约束条件,建立自适应软件的结构模型和行为模型,包括如下子步骤:
步骤2-1,对UML的类图进行扩展构造结构模型自适应类图,具体是扩展类构造自适应类的集合CA、扩展关系构造自适应关系集合RA、扩展属构造自适应属性集合AA,同时添加约束条件集合SA,将自适应类图形式化描述为一个四元组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代表自适应关系的有限集合,RA={select,precede,trigger,monitor,invoke,adjust},RA基于UML的Relationship构造,表示自适应软件各功能单元之间的连接关系,select表示选择关系,precede表示优先关系,trigger表示触发关系,monitor表示监测关系,invoke表示调用关系,adjust表示调整关系;
c.AA代表自适应属性的集合,部分属性以标记值的形式附加在CA的构造型中,即AA=A∪Tag,其中,A是Class的属性Attribute的集合,Tag是所添加标记值的集合,其形式为[Tag]=[Value],Tag主要用于显示化刻画各功能单元的类型和属性;
d.SA代表约束条件的集合,SA=TimeCons∪EventCons,分别为时间约束和事件约束,本文采用对象约束语言OCL描述和定义约束条件;
步骤2-2,对UML的序列图进行扩展构造行为模型自适应序列图,具体是扩展对象构造自适应对象OA、扩展片段Fragment构造自适应片段FG,引入状态State的概念,同时添加约束条件集合SA,将自适应序列图形式化描述为一个五元组ASD:=(OA,STA,MA,FG,SA),其中:
a.OA表示参与软件自适应过程的对象的有限集合,OA={monitor,analyzer,planner,executer,knowledgebase,user,environment,soft-self},分别是自适应类CA的实例化;
b.STA表示对象生命线上状态的有限集合,ST*A表示不包括空事件在内的所有不重复状态的集合,即STA=ε∪ST*A,ε表示空事件,自适应序列图中的状态用对象生命线上的圆角矩形表示;
c.MA是有穷消息的集合,对每个消息m∈M,m!表示消息的发送事件,m?表示消息的接收事件;
d.FG是组合片段的集合,自适应序列图在UML序列图基础上定义了sim,alt,loop三种片段,即FG={sim,alt,loop},每个片段由片段名和执行条件组成即[Name]:[Condition];sim为简单片段,执行条件为空即Sim:ε;alt为分支选择片段,执行条件决定对象下一个状态的流向;loop为循环片段,条件为真时所包含对象转为激活状态;
e.SA代表约束的有限集合,SA=Sintra∪Sinter,Sintra表示状态内部、Sinter表示状态之间的约束集合;
步骤3,建立自适应软件形式化模型,具体是在自适应软件行为模型和时间自动机模型直接建立映射关系,设计模型转换算法将自适应软件的行为模型自适应序列图转换为时间自动机网络TAN;所述映射关系包括,一个自适应序列图ASD可映射为一个时间自动机网络TAN;每个自适应对象和它生命周期内的状态迁移映射为一个时间自动机TA;自适应序列图的状态State映射为时间自动机中的位置Location;自适应序列图ASD中每个对象纵轴状态的集合对应每个自动机TA位置的集合;自适应序列图的消息message映射为时间自动机的通道Chan;ASD的每个消息m∈MA对应于TA的一对发送事件a!和接收事件a?,其中A=({a!|a∈Chan}∪{a?|a∈Chan});自适应序列图的约束SA对应TA的约束S,其中状态间约束Sinter和片段执行条件Condition对应TA边E上的约束S,状态内部约束Sintra对应TA的位置不变式Invariant;ASD中的变量对应TAN中的数据变量Var和时钟变量Clock;
步骤4,自适应软件形式化验证,具体是给出描述自适应软件性质的TCTL时序逻辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性;所述自适应软件性质包括:系统有无死锁、自适应动作有效性、自适应规则正确性和自适应快速响应能力;
所述TCTL时序逻辑规范,有以下五种形式:
Prop::=A[]p|E<>p|E[]p|A<>p|p→q
其中:A[]p表示对所有的路径,p总是成立;E<>p表示存在一条路径,p最终成立;E[]p表示存在一条路径,p总是成立;A<>p表示对所有的路径,p最终成立;p→q表示无论何时p成立,q最终成立,上述语句相组合用于描述自适应软件性质。
本发明与现有技术相比,其显著优点为:(1)直接面向自适应软件领域建模,可显示化地描述和刻画自适应软件的结构特征和行为特性,为软件建模人员提供一种直观、易理解的软件建模方法,可有效提高自适应软件开发效率;(2)基于UML扩展机制构造建模方法,可视化程度高、通用性强、兼容性好;(3)将可视化的UML建模与严格化的自动机模型有机融合起来,很大程度上消除了自适应软件可视化建模和形式化建模之间的“鸿沟”;(4)用时序逻辑TCTL严格描述自适应软件的性质,利用模型检测工具UPPAAL验证软件自身的可靠性和自适应逻辑的正确性,可有效提高自适应软件模型的可靠性。
附图说明
图1是本发明自适应软件UML建模及其形式化验证方法实施步骤图。
图2是自适应软件概念模型图。
图3是本发明方法中自适应类图的形式化描述。
图4是本发明方法中自适应序列图的形式化描述。
图5是本发明方法中ZNN.com范例自适应类图。
图6是本发明方法中ZNN.com范例自适应序列图。
图7是本发明方法中ZNN.com范例时间自动机网络示意图,其中(a)为负载探针时间自动机,(b)为响应时间探针时间自动机,(c)为负载检测单元时间自动机,(d)为响应时间检测单元时间自动机,(e)为负载分析单元时间自动机,(f)为响应时间分析单元时间自动机,(g)为负载均衡单元时间自动机,(h)为响应时间自适应单元时间自动机,(i)为服务器池管理单元时间自动机,(j)为服务模式管理单元时间自动机。
图8是本发明方法中ZNN.com范例模型检测结果。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
本发明将可视化的UML模型与定义严格的时间自动机模型有机融合,提出一种自适应软件UML建模及其形式化验证方法,为软件开发者提供直观而又不失严格的软件自适应建模与形式化验证方法,同时在很大程度上消除了可视化建模和形式化建模之间的“鸿沟”。首先,利用UML扩展机制定义了软件自适应建模设施,并引入时间属性,建立了软件自适应的结构模型和行为模型;然后,根据模型转换算法将软件自适应行为模型转换为时间自动机网络,建立了软件自适应形式化模型;最后,给出描述自适应软件性质的TCTL时序逻辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性。
结合图1,本发明的自适应软件UML建模及其形式化验证方法,将可视化的UML模型与定义严格的时间自动机模型有机融合用于自适应软件的建模和形式化验证,具体步骤如下:
步骤1,建立自适应软件概念模型,具体是改进现有自治计算MAPE-K模型,添加刻画环境变化的Environment要素和刻画用户需求变化的User要素,建立自适应软件概念模型,如图2所示;
步骤2,建立自适应软件可视化模型,具体是通过扩展UML引入新的构造型、标记值和约束条件,建立自适应软件的结构模型和行为模型,包括如下子步骤:
步骤2-1,对UML的类图进行扩展构造结构模型自适应类图,如图3所示,具体是扩展类构造自适应类的集合CA、扩展关系构造自适应关系集合RA、扩展属构造自适应属性集合AA,同时添加约束条件集合SA,将自适应类图形式化描述为一个四元组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代表自适应关系的有限集合,RA={select,precede,trigger,monitor,invoke,adjust},RA基于UML的Relationship构造,表示自适应软件各功能单元之间的连接关系,select表示选择关系,precede表示优先关系,trigger表示触发关系,monitor表示监测关系,invoke表示调用关系,adjust表示调整关系,其形式化描述如下表:
c.AA代表自适应属性的集合,部分属性以标记值的形式附加在CA的构造型中,即AA=A∪Tag,其中,A是Class的属性Attribute的集合,Tag是所添加标记值的集合,其形式为[Tag]=[Value],Tag主要用于显示化刻画各功能单元的类型和属性;
d.SA代表约束条件的集合,SA=TimeCons∪EventCons,分别为时间约束和事件约束,本文采用对象约束语言OCL描述和定义约束条件;
步骤2-2,对UML的序列图进行扩展构造行为模型自适应序列图,如图4所示,具体是扩展对象构造自适应对象OA、扩展片段Fragment构造自适应片段FG,引入状态State的概念,同时添加约束条件集合SA,将自适应序列图形式化描述为一个五元组ASD:=(OA,STA,MA,FG,SA),其中:
a.OA表示参与软件自适应过程的对象的有限集合,OA={monitor,analyzer,planner,executer,knowledgebase,user,environment,soft-self},分别是自适应类CA的实例化;
b.STA表示对象生命线上状态的有限集合,ST*A表示不包括空事件在内的所有不重复状态的集合,即STA=ε∪ST*A,ε表示空事件,自适应序列图中的状态用对象生命线上的圆角矩形表示;
c.MA是有穷消息的集合,对每个消息m∈MA,m!表示消息的发送事件,m?表示消息的接收事件;
d.FG是组合片段的集合,自适应序列图在UML序列图基础上定义了sim,alt,loop三种片段,即FG={sim,alt,loop},每个片段由片段名和执行条件组成,即[Name]:[Condition];sim为简单片段,执行条件为空,即Sim:ε;alt为分支选择片段,执行条件决定对象下一个状态的流向;loop为循环片段,条件为真时所包含对象转为激活状态;
e.SA代表约束的有限集合,SA=Sintra∪Sinter,Sintra表示状态内部、Sinter表示状态之间的约束集合。
步骤3,建立自适应软件形式化模型,具体是在自适应软件行为模型和时间自动机模型直接建立映射关系,设计模型转换算法将自适应软件的行为模型自适应序列图转换为时间自动机网络TAN,即TAN≡TA1||TA2…||TAn,TA=(L,l0,S,A,E,I)是时间自动机的形式化描述,其中:L是有限位置的集合,l0∈L表示初始位置;S是边E上约束的集合;A是所有动作的集合,包括输入、输出和内部三类动作;E是有向边的集合,表示从位置l到位置l′的迁移,迁移过程伴有卫式约束g、赋值操作u和动作a;I是不变式invariant的集合,用以约束位置的状态;
所述映射关系包括,一个自适应序列图ASD可映射为一个时间自动机网络TAN;每个自适应对象和它生命周期内的状态迁移映射为一个时间自动机TA;自适应序列图的状态State映射为时间自动机中的位置Location;自适应序列图ASD中每个对象纵轴状态的集合对应每个自动机TA位置的集合;自适应序列图的消息message映射为时间自动机的通道Chan;ASD的每个消息m∈MA对应于TA的一对发送事件a!和接收事件a?,其中A=({a!|a∈Chan}∪{a?|a∈Chan});自适应序列图的约束SA对应TA的约束S,其中状态间约束Sinter和片段执行条件Condition对应TA边E上的约束S,状态内部约束Sintra对应TA的位置不变式Invariant;ASD中的变量对应TAN中的数据变量Var和时钟变量Clock;
根据上述映射关系给出自适应序列图到时间自动机网络的转换算法:
步骤4,自适应软件形式化验证,具体是给出描述自适应软件性质的TCTL时序逻辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性;
所述自适应软件性质包括:系统有无死锁、自适应动作有效性、自适应规则正确性和自适应快速响应能力;
所述TCTL时序逻辑规范,有以下五种形式:
Prop::=A[]p|E<>p|E[]p|A<>p|p→q
其中:A[]p表示对所有的路径,p总是成立;E<>p表示存在一条路径,p最终成立;E[]p表示存在一条路径,p总是成立;A<>p表示对所有的路径,p最终成立;p→q表示无论何时p成立,q最终成立,上述语句相组合用于描述自适应软件性质。
下面结合具体实施例对本发明作进一步详细说明。
实施例
下面结合实施例对本发明做进一步详细的描述:
以一个简化的基于Web的客户端/服务器系统为例,阐述本发明方法实施步骤;ZNN.com是一个基于Web的客户端/服务器系统,其客户端与服务器池Server Pool相连,系统维护人员可根据系统负载和用户需求手动添加或移除服务器,客户端将用户需求实时传送给服务器,提供文本(Textual)或多媒体(Multimedia)形式的网页服务。由于客户端用户访问量处于动态变化中,手动方式调节服务器池的大小已无法适应环境的频繁变化,为此,在原软件系统之上构造软件自适应逻辑,赋予系统自适应能力;
步骤1,以改进的MAPE-K软件自适应概念模型为指导,对ZNN.com进行需求分析与设计;
步骤2,建立ZNN.com的可视化模型,对ZNN.com进行需求分析与设计,以改进的MAPE-K软件自适应概念模型为指导,为ZNN.com添加自适应逻辑(self-adaptivelogic),建立其结构视图和行为视图,即自适应类图和自适应序列图(如图5和图6所示)。
自适应类图刻画了自适应软件的结构组成和各功能单元的连接关系。如图5所示,为实时监测系统负载和服务响应时间,构造LoadMonitor和TimeMonitor,并设置监测上下限(LowerBound和UpperBound),Analyzer将以此记录被监测量越限次数,并适时触发自适应行为,系统决策阶段(Planner&Executer)根据事先设定的自适应策略选择合适的自适应动作,并施加到目标软件系统上。在自适应逻辑,本文设计四条ECA(Event-Condition-Action)规则(如图6自适应序列图片段alt所示):
a.用户需求长时间响应较慢时,若服务器数量仍有冗余,则优先增加服务器数量,
即:
E[ResTime>UpperBound&&ExceedTimes>=ConstantE]C[SerNum<Max]→A[AddServer];
b.用户需求长时间响应较慢时,若服务器数量已达上限,则将服务切换到文本形式,即:
E[ResTime>UpperBound&&ExceedTimes>=ConstantE],C[SerNum==Max]→A[ToTextual];
c.服务器池长时间冗余过大(负载较小)时,若客户端为文本形式,则优先切换到多媒体形式,即:
E[Load<LowerBound&&BelowTimes>=ConstantB],C[mode==0]→A[ToMultimedia];
d.服务器池长时间冗余过大(负载较小)时,若客户端为多媒体形式,则适时减少服务器数量,即:
E[Load<LowerBound&&BelowTimes>=ConstantB],C[mode==1]→A[RemoveServer]。
步骤3,将ZNN.com可视化模型转换为自动机模型。依据模型转换算法,将ZNN.com的自适应序列图转换为时间自动机网络,如图7所示,将自适应序列图每个对象纵轴的活跃状态映射为一个时间自动机。
a.探针自动机。目标软件中嵌入了负载探针LoadProbe和响应时间探针TimeProbe周期性探测系统负载和服务响应时间,并将检测值通过通道monitorL和monitorT传送给自适应逻辑的检测单元Monitor,如图7(a)和图7(b)所示,这里用select命令随机产生干扰量l和t模仿网络负载和响应时间的动态变化;
b.检测自动机。自适应逻辑负载检测单元LoadMonitor通过通道monitorL获取到系统实时负载Load后,检测系统负载是否越限,若越限则通过triggerL通道通知负载分析单元LoadAnalyzer,并将循环检测标志位tag2置零。响应时间检测单元TimeMonitor的行为与LoadMonitor类似,不再重述,对应自动机如图7(c)和图7(d)所示。
c.分析自动机。LoadAnalyzer和TimeAnalyzer在接收到触发请求后,分析触发请求是否已到上限,若已达上限,则触发负载均衡器和响应时间自适应器,并将触发标志位tag1清零,避免本次自适应过程尚未结束而分析单元重复提交触发请求,如图7(e)和图7(f)所示;
d.自适应自动机.自适应自动机LoadBalancer和TimeAdapter在接收到自适应请求后,依据自适应规则(即上述ECA规则)产生相应自适应行为,如图7(g)和图7(h)所示,图中自适应策略(如AddServer和RemoveServer)的详细算法以函数的形式封装在时间自动机后台;
e.目标软件自动机。本文以PoolManager和ModeManager两个自动机模拟目标软件接收到自适应动作后的动态演化过程,如图7(i)和图7(j)所示。
步骤4,ZNN.com自适应模型形式化验证
对ZNN.com进行软件自适应形式化验证,首先需要将参与该软件自适应行为的所有时间自动机组合成一个自动机网络:
TAN={LoadProbe,LoadMonitor,LoadAnalyzer,LoadBalancer,TimeProbe,TimeMonitor,TimeAnalyzer,TimeAdapter,PoolManager,ModeManager};
然后,通过模型检测工具UPPAAL模拟软件自适应行为,并逐条验证软件自适应性质(部分验证结果如图8所示):
a.系统有无死锁。输入命令检测系统是否有死锁现象,若存在死锁,通过模拟器simulator模拟自适应行为,找到发生死锁时各自动机所处状态,及时调整模型;
b.自适应动作有效性。该性质用于验证各自适应动作是否冗余,是否都能得到有效执行,在本案例中设计了四种自适应动作,即E<>PoolManager.Increased,E<>PoolManager.Decreased,E<>ModeManager.Textual,E<>ModeManager.Multimedia.通过验证分析,四类自适应动作都能够得到执行,不存在冗余;
c.自适应规则正确性。验证本案例所设定四条自适应规则是否正确,命令为:
LoadAnalyzer.Redundant-->PoolManager.Decreased||ModeManager.Multimedia;
TimeAnalyzer.Sluggish-->PoolManager.Increased||ModeManager.Textual,验证结果表明,本案例在服务器系统过载或服务响应迟缓时都会触发一定的自适应动作响应变化;
d.自适应快速反应能力。验证本案例自适应行为在触发后,自适应逻辑能在规定时间内作出响应,如:E<>PoolManager.Increased<5;
通过对上述模型的模拟和自适应性质的验证,所设计模型满足系统需求,上述设计的ZNN.com的结构模型和行为模型是合理的。
Claims (5)
1.一种自适应软件UML建模及其形式化验证方法,其特征在于,将可视化的UML与严格化的时间自动机相结合用于自适应软件的建模和形式化验证,具体步骤如下:
步骤1,建立自适应软件概念模型,具体是改进现有自治计算MAPE-K模型,添加刻画环境变化的Environment要素和刻画用户需求变化的User要素,建立自适应软件概念模型;
步骤2,建立自适应软件可视化模型,具体是通过扩展UML引入新的构造型、标记值和约束条件,建立自适应软件的结构模型和行为模型,包括如下子步骤:
步骤2-1,对UML的类图进行扩展构造结构模型自适应类图,具体是扩展类构造自适应类的集合CA、扩展关系构造自适应关系集合RA、扩展属性构造自适应属性集合AA,同时添加约束条件集合SA,将自适应类图形式化描述为一个四元组ACD:=(CA,RA,AA,SA);
步骤2-2,对UML的序列图进行扩展构造行为模型自适应序列图,具体是扩展UML的对象构造自适应对象、扩展片段构造自适应片段,引入状态的概念,同时添加约束条件集合,将自适应序列图形式化描述为一个五元组ASD:=(OA,STA,MA,FG,SA),其中,OA表示自适应对象的集合,STA表示对象生命线上状态的有限集合,MA是有穷消息的集合,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代表自适应关系的有限集合,RA={select,precede,trigger,monitor,invoke,adjust},RA基于UML的Relationship构造,表示自适应软件各功能单元之间的连接关系,select表示选择关系,precede表示优先关系,trigger表示触发关系,monitor表示监测关系,invoke表示调用关系,adjust表示调整关系;
c.AA代表自适应属性的集合,部分属性以标记值的形式附加在CA的构造型中,即AA=A∪Tag,其中,A是Class的属性Attribute的集合,Tag是所添加标记值Tag的集合,其形式为[Tag]=[Value],Tag用于显示化刻画各功能单元的类型和属性;
d.SA代表约束条件的集合,SA=TimeCons∪EventCons,TimeCons为时间约束、EventCons为事件约束,采用对象约束语言OCL描述和定义约束条件。
3.根据权利要求1所述的自适应软件UML建模及其形式化验证方法,其特征在于,步骤2-2所述对UML的序列图进行扩展构造行为模型自适应序列图ASD:=(OA,STA,MA,FG,SA),其中:
a.OA表示参与软件自适应过程的对象的有限集合,OA={monitor,analyzer,planner,executer,knowledgebase,user,environment,soft-self},分别是自适应类CA的实例化;
b.STA表示对象生命线上状态的有限集合,ST*A表示不包括空事件在内的所有不复状态的集合,即STA=ε∪ST*A,ε表示空事件,自适应序列图中的状态用对象生命线上的圆角矩形表示;
c.MA是有穷消息的集合,对每个消息m∈MA,m!表示消息的发送事件,m?表示消息的接收事件;
d.FG是组合片段的集合,自适应序列图在UML序列图基础上定义了sim,alt,loop三种片段,即FG={sim,alt,loop},每个片段由片段名和执行条件组成即[Name]:[Condition];sim为简单片段,执行条件为空;alt为分支选择片段,执行条件决定对象下一个状态的流向;loop为循环片段,条件为真时所包含对象转为激活状态;
e.SA代表约束的有限集合,SA=Sintra∪Sinter,Sintra表示状态内部、Sinter表示状态之间的约束集合。
4.根据权利要求1所述的自适应软件UML建模及其形式化验证方法,其特征在于,步骤3所述在自适应软件行为模型和时间自动模型直接建立映射关系,设计模型转换算法将自适应软件的行为模型自适应序列图转换为时间自动机网络,具体为:
所述映射关系包括,一个自适应序列图ASD可映射为一个时间自动机网络TAN;每个自适应对象和它生命周期内的状态迁移映射为一个时间自动机TA;自适应序列图的状态State映射为时间自动机中的位置Location;自适应序列图ASD中每个对象纵轴状态的集合对应每个自动机TA位置的集合;自适应序列图的消息message映射为时间自动机的通道Chan;ASD的每个消息m∈MA对应于TA的一对发送事件a!和接收事件a?,其中A=({a!|a∈Chan}∪{a?|a∈Chan});自适应序列图的约束SA对应TA的约束S,其中状态间约束Sinter和片段执行条件Condition对应TA边E上的约束S,状态内部约束Sintra对应TA的位置不变式Invariant;ASD中的变量对应TAN中的数据变量Var和时钟变量Clock。
5.根据权利要求1所述的自适应软件UML建模及其形式化验证方法,其特征在于,步骤4给出描述自适应软件性质的TCTL时序逻辑规范,并利用模型检测工具UPPAAL验证自适应软件模型的可靠性;
所述自适应软件性质包括:系统有无死锁、自适应动作有效性、自适应规则正确性和自适应快速响应能力;
所述TCTL时序逻辑规范,有以下五种形式:
Prop::=A[]p|E<>p|E[]p|A<>p|p→q
其中:A[]p表示对所有的路径,p总是成立;E<>p表示存在一条路径,p最终成立;E[]p表示存在一条路径,p总是成立;A<>p表示对所有的路径,p最终成立;p→q表示无论何时p成立,q最终成立,上述语句相组合用于描述自适应软件的性质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410738547.1A CN104375842B (zh) | 2014-12-05 | 2014-12-05 | 一种自适应软件uml建模及其形式化验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410738547.1A CN104375842B (zh) | 2014-12-05 | 2014-12-05 | 一种自适应软件uml建模及其形式化验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104375842A true CN104375842A (zh) | 2015-02-25 |
CN104375842B CN104375842B (zh) | 2018-06-05 |
Family
ID=52554785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410738547.1A Active CN104375842B (zh) | 2014-12-05 | 2014-12-05 | 一种自适应软件uml建模及其形式化验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104375842B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787198A (zh) * | 2016-03-17 | 2016-07-20 | 北京航空航天大学 | 一种从UML活动图到Event-B模型的转换方法 |
CN106528407A (zh) * | 2016-10-19 | 2017-03-22 | 中国航空综合技术研究所 | 一种嵌入式软件安全性自动化验证系统及其验证方法 |
CN106598566A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
CN106648617A (zh) * | 2016-11-14 | 2017-05-10 | 南京大学 | 一种基于扩展的uml2序列图的中断驱动系统建模方法 |
CN106775704A (zh) * | 2016-12-12 | 2017-05-31 | 广州视源电子科技股份有限公司 | 软件属性需求检验方法及装置 |
CN106842915A (zh) * | 2016-12-22 | 2017-06-13 | 首都师范大学 | 一种用于机器人分布式控制系统的形式建模方法及装置 |
CN107066388A (zh) * | 2017-04-19 | 2017-08-18 | 艾瑞克·李 | 软件行为模型面向对象建模方法 |
CN107967134A (zh) * | 2017-11-20 | 2018-04-27 | 中国人民解放军国防科技大学 | 一种新型作战效能仿真建模方法 |
CN108830085A (zh) * | 2018-06-13 | 2018-11-16 | 天津大学 | 基于扩展UML的Web应用形式化建模及验证方法 |
CN109165832A (zh) * | 2018-08-13 | 2019-01-08 | 郑州向心力通信技术股份有限公司 | 信息安全管理方法及系统 |
CN109388377A (zh) * | 2018-10-08 | 2019-02-26 | 广西民族大学 | 一种基于形式化建模的软件安全需求获取方法 |
CN109656539A (zh) * | 2018-11-14 | 2019-04-19 | 杭州电子科技大学 | 一种基于面向对象编程的软件自适应改造方法 |
CN109828746A (zh) * | 2018-11-20 | 2019-05-31 | 杭州电子科技大学 | 一种基于自适应序列图转换为时间自动机的方法 |
CN110175019A (zh) * | 2019-06-04 | 2019-08-27 | 南京大学 | 一种基于中断序列图的中断驱动系统验证方法 |
CN110311977A (zh) * | 2019-07-01 | 2019-10-08 | 成都奥卡思微电科技有限公司 | 一种基于云计算的形式验证平台及其方法 |
CN111103797A (zh) * | 2019-12-09 | 2020-05-05 | 南京理工大学 | 基于多变量控制的软件行为调节方法 |
CN111488276A (zh) * | 2020-04-07 | 2020-08-04 | 北京航空航天大学 | 基于代码跟踪的软件可靠性测试方法和装置 |
CN112214401A (zh) * | 2020-09-23 | 2021-01-12 | 华东师范大学 | 一种基于模型检测的标准模型分析方法 |
CN112559358A (zh) * | 2020-12-21 | 2021-03-26 | 北京航空航天大学 | 一种面向策略选择的自适应运行的可靠性预计方法 |
CN114189454A (zh) * | 2021-12-02 | 2022-03-15 | 深圳前海微众银行股份有限公司 | 网络调度策略的评估方法、框架、装置及电子设备 |
CN117874393A (zh) * | 2024-03-12 | 2024-04-12 | 成都谐盈科技有限公司 | 通过xml文件构建sca模型工程的方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100251208A1 (en) * | 2009-03-31 | 2010-09-30 | Fujitsu Limited | Validating Behavioral Diagrams |
CN104050087A (zh) * | 2014-07-04 | 2014-09-17 | 东南大学 | 一种基于uml模型的软件架构正确性验证方法 |
-
2014
- 2014-12-05 CN CN201410738547.1A patent/CN104375842B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100251208A1 (en) * | 2009-03-31 | 2010-09-30 | Fujitsu Limited | Validating Behavioral Diagrams |
CN104050087A (zh) * | 2014-07-04 | 2014-09-17 | 东南大学 | 一种基于uml模型的软件架构正确性验证方法 |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787198A (zh) * | 2016-03-17 | 2016-07-20 | 北京航空航天大学 | 一种从UML活动图到Event-B模型的转换方法 |
CN105787198B (zh) * | 2016-03-17 | 2018-11-02 | 北京航空航天大学 | 一种从UML活动图到Event-B模型的转换方法 |
CN106528407B (zh) * | 2016-10-19 | 2019-01-25 | 中国航空综合技术研究所 | 一种嵌入式软件安全性自动化验证系统及其验证方法 |
CN106528407A (zh) * | 2016-10-19 | 2017-03-22 | 中国航空综合技术研究所 | 一种嵌入式软件安全性自动化验证系统及其验证方法 |
CN106598566A (zh) * | 2016-11-03 | 2017-04-26 | 南京航空航天大学 | 一种面向航电系统的基于需求的形式化建模与验证方法 |
CN106648617A (zh) * | 2016-11-14 | 2017-05-10 | 南京大学 | 一种基于扩展的uml2序列图的中断驱动系统建模方法 |
CN106648617B (zh) * | 2016-11-14 | 2019-10-15 | 南京大学 | 一种基于扩展的uml2序列图的中断驱动系统建模方法 |
CN106775704A (zh) * | 2016-12-12 | 2017-05-31 | 广州视源电子科技股份有限公司 | 软件属性需求检验方法及装置 |
CN106842915A (zh) * | 2016-12-22 | 2017-06-13 | 首都师范大学 | 一种用于机器人分布式控制系统的形式建模方法及装置 |
CN107066388A (zh) * | 2017-04-19 | 2017-08-18 | 艾瑞克·李 | 软件行为模型面向对象建模方法 |
CN107967134B (zh) * | 2017-11-20 | 2020-05-05 | 中国人民解放军国防科技大学 | 一种新型作战效能仿真建模方法 |
CN107967134A (zh) * | 2017-11-20 | 2018-04-27 | 中国人民解放军国防科技大学 | 一种新型作战效能仿真建模方法 |
CN108830085A (zh) * | 2018-06-13 | 2018-11-16 | 天津大学 | 基于扩展UML的Web应用形式化建模及验证方法 |
CN109165832A (zh) * | 2018-08-13 | 2019-01-08 | 郑州向心力通信技术股份有限公司 | 信息安全管理方法及系统 |
CN109388377A (zh) * | 2018-10-08 | 2019-02-26 | 广西民族大学 | 一种基于形式化建模的软件安全需求获取方法 |
CN109656539A (zh) * | 2018-11-14 | 2019-04-19 | 杭州电子科技大学 | 一种基于面向对象编程的软件自适应改造方法 |
CN109656539B (zh) * | 2018-11-14 | 2021-12-14 | 杭州电子科技大学 | 一种基于面向对象编程的软件自适应改造方法 |
CN109828746A (zh) * | 2018-11-20 | 2019-05-31 | 杭州电子科技大学 | 一种基于自适应序列图转换为时间自动机的方法 |
CN110175019A (zh) * | 2019-06-04 | 2019-08-27 | 南京大学 | 一种基于中断序列图的中断驱动系统验证方法 |
US11853721B2 (en) | 2019-06-04 | 2023-12-26 | Nanjing University | Interrupt-driven system verification method based on interrupt sequence diagram |
CN110175019B (zh) * | 2019-06-04 | 2021-11-16 | 南京大学 | 一种基于中断序列图的中断驱动系统验证方法 |
WO2020244028A1 (zh) * | 2019-06-04 | 2020-12-10 | 南京大学 | 一种基于中断序列图的中断驱动系统验证方法 |
CN110311977B (zh) * | 2019-07-01 | 2022-03-08 | 成都奥卡思微电科技有限公司 | 一种基于云计算的形式验证平台及其方法 |
CN110311977A (zh) * | 2019-07-01 | 2019-10-08 | 成都奥卡思微电科技有限公司 | 一种基于云计算的形式验证平台及其方法 |
CN111103797A (zh) * | 2019-12-09 | 2020-05-05 | 南京理工大学 | 基于多变量控制的软件行为调节方法 |
CN111103797B (zh) * | 2019-12-09 | 2022-06-21 | 南京理工大学 | 基于多变量控制的软件行为调节方法 |
CN111488276A (zh) * | 2020-04-07 | 2020-08-04 | 北京航空航天大学 | 基于代码跟踪的软件可靠性测试方法和装置 |
CN111488276B (zh) * | 2020-04-07 | 2021-07-27 | 北京航空航天大学 | 基于代码跟踪的软件可靠性测试方法和装置 |
CN112214401A (zh) * | 2020-09-23 | 2021-01-12 | 华东师范大学 | 一种基于模型检测的标准模型分析方法 |
CN112214401B (zh) * | 2020-09-23 | 2023-05-09 | 华东师范大学 | 一种基于模型检测的标准模型分析方法 |
CN112559358A (zh) * | 2020-12-21 | 2021-03-26 | 北京航空航天大学 | 一种面向策略选择的自适应运行的可靠性预计方法 |
CN112559358B (zh) * | 2020-12-21 | 2022-04-12 | 北京航空航天大学 | 一种面向策略选择的自适应运行的可靠性预计方法 |
CN114189454A (zh) * | 2021-12-02 | 2022-03-15 | 深圳前海微众银行股份有限公司 | 网络调度策略的评估方法、框架、装置及电子设备 |
CN114189454B (zh) * | 2021-12-02 | 2024-04-09 | 深圳前海微众银行股份有限公司 | 网络调度策略的评估方法、框架、装置及电子设备 |
CN117874393A (zh) * | 2024-03-12 | 2024-04-12 | 成都谐盈科技有限公司 | 通过xml文件构建sca模型工程的方法和系统 |
CN117874393B (zh) * | 2024-03-12 | 2024-05-14 | 成都谐盈科技有限公司 | 通过xml文件构建sca模型工程的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104375842B (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104375842A (zh) | 一种自适应软件uml建模及其形式化验证方法 | |
WO2021000556A1 (zh) | 一种工业设备剩余有效寿命预测方法、系统及电子设备 | |
Stanovich et al. | Development of a smart-grid cyber-physical systems testbed | |
Hawrylak et al. | Using hybrid attack graphs to model cyber-physical attacks in the smart grid | |
CN103901847A (zh) | 一种印刷机远程故障监测系统及方法 | |
Lei et al. | Developing a smart learning environment in universities via cyber-physical systems | |
CN103365727A (zh) | 一种云计算环境中的主机负载预测方法 | |
CN112800428B (zh) | 一种终端设备的安全状态判断方法及装置 | |
CN102360333B (zh) | 基于hisqm排队模型考虑故障排除过程的构件软件可靠性分析方法 | |
CN104811499A (zh) | 一种网络文件传输优化方法 | |
CN103576667B (zh) | 主控板的测试方法、装置及系统 | |
Xiong et al. | Construction of approximate reasoning model for dynamic CPS network and system parameter identification | |
Garitano et al. | A method to construct network traffic models for process control systems | |
CN102184136A (zh) | 一种验证aadl模型运行状态与需求一致性的方法 | |
Wang | Network distance education platform control system based on big data | |
He et al. | Probabilistic model checking of pipe protocol | |
Sztipanovits et al. | Model-based integration technology for next generation electric grid simulations | |
Vogel-Heuser et al. | Modeling of networked automation systems for simulation and model checking of time behavior | |
Grichi et al. | A development tool chain for reconfigurable WSNs | |
Corici et al. | An OpenMTC platform-based interconnected European–South African M2M Testbed for Smart City Services | |
Girstein et al. | SCART: Simulation of Cyber Attacks for Real-Time | |
Zhang | Design of English Learning Platform Based on Knowledge Management | |
Jacobson | Cyber-physical systems | |
Munck et al. | Test-driven modeling and development of cloud-enabled cyber-physical smart systems | |
Ismail et al. | Emulation network analyzer development for campus environment and comparison between OPNET Application and Hardware Network Analyzer‖ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |