一种确定UML模型的运行逻辑的方法和装置制造方法及图纸

技术编号:33283049 阅读:19 留言:0更新日期:2022-04-30 23:44
本发明专利技术提出一种确定UML模型的运行逻辑的方法和装置。所述方法包括:步骤S1、利用UML模型解析器解析输入的UML模型,以获取所述UML模型的仿真模型,其中所述UML模型为基于统一建模语言构建的模型;步骤S2、利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述UML模型的运行逻辑。所述方法根据UML模型自动解析出仿真模型并进行仿真计算和逻辑推理,使得设计人员能够轻松验证使用UML设计的复杂系统的行为是否符合预期,提前发现设计的模型问题。提前发现设计的模型问题。提前发现设计的模型问题。

【技术实现步骤摘要】
一种确定UML模型的运行逻辑的方法和装置


[0001]本专利技术属于计算机应用与模型解析领域,尤其涉及一种确定UML模型的运行逻辑的方法和装置。

技术介绍

[0002]在各种复杂的设计与建模领域,比如汽车设计或者大型工程项目设计,为了方便系统设计内部、系统与系统之间的交互,使用UML是描述设计模型的通用办法。然而,即便UML具有强大的模型表示能力,但是UML仅能表示分析设计模型的静态特征,缺乏对系统动态逻辑的辅助分析功能,使得分析设计人员之间很难发现设计缺陷或者模型中存在的问题,降低了设计方案的质量,影响了开发效率,也使得复杂系统分系统之间、分系统内部的部件之间协同设计工作难以推进。
[0003]因此,为了验证设计模型的合理性与正确性,针对模型的动态行为,尤其是针对活动图表示的系统行为模型进行推理验证,需要寻找一种方法来模拟系统行为的运行过程。

技术实现思路

[0004]本专利技术提出了一种用于游泳姿态识别的方案,以解决上述技术问题。
[0005]本专利技术第一方面公开了一种确定UML模型的运行逻辑的方法。所述方法包括:步骤S1、利用UML模型解析器解析输入的UML模型,以获取所述UML模型的仿真模型,其中所述UML模型为基于统一建模语言构建的模型;步骤S2、利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述UML模型的运行逻辑。
[0006]根据本专利技术第一方面的方法,所述UML模型解析器包括解析器模块、解析规则模块、语法树模块,所述步骤S1具体包括:调用所述解析器模块基于所述输入的UML模型的UML语义,解析所述UML模型中各个节点之间的关联关系,以基于所述关联关系提取所述UML模型的结构信息;调用所述语法树模块根据所述解析器模块提取出的所述UML模型的结构信息生成解析语法树,并利用所述解析语法树创建仿真上下文;利用由所述解析规则模块获取的所述UML模型与所述仿真模型的之间的映射关系,基于所述仿真上下文来创建所述仿真模型。
[0007]根据本专利技术第一方面的方法,所述输入的UML模型为UML活动图,所述UML活动图包括多个执行节点,每个执行节点包括节点语义模型、节点上下文、节点输入输出,所述UML活动图的定义中包含所述UML活动图的执行顺序,获取的所述仿真模型中包含所述UML活动图的执行顺序。
[0008]根据本专利技术第一方面的方法,在所述步骤S1中,基于Petri网的计算节点结构构建所述仿真模型,所述Petri网的计算节点与UML活动图的执行节点对应,并将所述UML活动图的执行节点的信息存储至对应的所述Petri网的计算节点上。
[0009]根据本专利技术第一方面的方法,所述仿真虚拟机包括仿真执行器模块和仿真动画模块,在所述步骤S2中,利用所述仿真执行器执行所述仿真模型,并基于所述仿真模型中包含
的所述UML活动图的执行顺序确定执行所述仿真模型时的执行逻辑,由所述仿真动画模块可视化执行所述仿真模型时的执行逻辑。
[0010]根据本专利技术第一方面的方法,在所述步骤S2中,在验证所述UML模型的运行逻辑时,所述仿真执行器利用所述Petri网的有向性执行各个计算节点,基于与所述Petri网的计算节点对应的所述UML活动图的执行节点的所述节点语义模型、所述节点上下文、所述节点输入输出来完成对所述UML模型的运行逻辑的验证。
[0011]本专利技术第二方面公开了一种确定UML模型的运行逻辑的装置。所述装置包括:第一处理单元,被配置为,利用UML模型解析器解析输入的UML模型,以获取所述UML模型的仿真模型,其中所述UML模型为基于统一建模语言构建的模型;第二处理单元,被配置为,利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述UML模型的运行逻辑。
[0012]根据本专利技术第二方面的装置,所述UML模型解析器包括解析器模块、解析规则模块、语法树模块,所述第一处理单元具体被配置为:调用所述解析器模块基于所述输入的UML模型的UML语义,解析所述UML模型中各个节点之间的关联关系,以基于所述关联关系提取所述UML模型的结构信息;调用所述语法树模块根据所述解析器模块提取出的所述UML模型的结构信息生成解析语法树,并利用所述解析语法树创建仿真上下文;利用由所述解析规则模块获取的所述UML模型与所述仿真模型的之间的映射关系,基于所述仿真上下文来创建所述仿真模型。
[0013]根据本专利技术第二方面的装置,所述输入的UML模型为UML活动图,所述UML活动图包括多个执行节点,每个执行节点包括节点语义模型、节点上下文、节点输入输出,所述UML活动图的定义中包含所述UML活动图的执行顺序,获取的所述仿真模型中包含所述UML活动图的执行顺序。
[0014]根据本专利技术第二方面的装置,所述第一处理单元具体被配置为:基于Petri网的计算节点结构构建所述仿真模型,所述Petri网的计算节点与UML活动图的执行节点对应,并将所述UML活动图的执行节点的信息存储至对应的所述Petri网的计算节点上。
[0015]根据本专利技术第二方面的装置,所述仿真虚拟机包括仿真执行器模块和仿真动画模块,所述第二处理单元具体被配置为:利用所述仿真执行器执行所述仿真模型,并基于所述仿真模型中包含的所述UML活动图的执行顺序确定执行所述仿真模型时的执行逻辑,由所述仿真动画模块可视化执行所述仿真模型时的执行逻辑。
[0016]根据本专利技术第二方面的装置,所述第二处理单元具体被配置为:在验证所述UML模型的运行逻辑时,调用所述仿真执行器利用所述Petri网的有向性执行各个计算节点,基于与所述Petri网的计算节点对应的所述UML活动图的执行节点的所述节点语义模型、所述节点上下文、所述节点输入输出来完成对所述UML模型的运行逻辑的验证。
[0017]本专利技术第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第一方面中任一项所述的一种确定UML模型的运行逻辑的方法中的步骤。
[0018]本专利技术第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第一方面中任一项所述的一种确定UML模型的运行逻辑的方法中的步骤。
[0019]综上,本专利技术的技术方案根据UML模型自动解析出仿真模型并进行仿真计算和逻辑推理,使得设计人员能够轻松验证使用UML设计的复杂系统的行为是否符合预期,提前发现设计的模型问题。
附图说明
[0020]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为根据本专利技术实施例的一种确定UML模型的运行逻辑的方法的流程图;
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种确定UML模型的运行逻辑的方法,其特征在于,所述方法包括:步骤S1、利用UML模型解析器解析输入的UML模型,以获取所述UML模型的仿真模型,其中所述UML模型为基于统一建模语言构建的模型;步骤S2、利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述UML模型的运行逻辑。2.根据权利要求1所述的一种确定UML模型的运行逻辑的方法,其特征在于,所述UML模型解析器包括解析器模块、解析规则模块、语法树模块,所述步骤S1具体包括:调用所述解析器模块基于所述输入的UML模型的UML语义,解析所述UML模型中各个节点之间的关联关系,以基于所述关联关系提取所述UML模型的结构信息;调用所述语法树模块根据所述解析器模块提取出的所述UML模型的结构信息生成解析语法树,并利用所述解析语法树创建仿真上下文;利用由所述解析规则模块获取的所述UML模型与所述仿真模型的之间的映射关系,基于所述仿真上下文来创建所述仿真模型。3.根据权利要求2所述的一种确定UML模型的运行逻辑的方法,其特征在于,所述输入的UML模型为UML活动图,所述UML活动图包括多个执行节点,每个执行节点包括节点语义模型、节点上下文、节点输入输出,所述UML活动图的定义中包含所述UML活动图的执行顺序,获取的所述仿真模型中包含所述UML活动图的执行顺序。4.根据权利要求3所述的一种确定UML模型的运行逻辑的方法,其特征在于,在所述步骤S1中,基于Petri网的计算节点结构构建所述仿真模型,所述Petri网的计算节点与UML活动图的执行节点对应,并将所述UML活动图的执行节点的信息存储至对应的所述Petri网的计...

【专利技术属性】
技术研发人员:李紫雄陈建江于红艳叶鹏云李海宝
申请(专利权)人:北京机电工程研究所
类型:发明
国别省市:

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

1