一种确定UML模型的运行逻辑的方法和装置与流程

文档序号:29854812发布日期:2022-04-30 09:01阅读:73来源:国知局
一种确定UML模型的运行逻辑的方法和装置与流程
一种确定uml模型的运行逻辑的方法和装置
技术领域
1.本发明属于计算机应用与模型解析领域,尤其涉及一种确定uml模型的运行逻辑的方法和装置。


背景技术:

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


技术实现要素:

4.本发明提出了一种用于游泳姿态识别的方案,以解决上述技术问题。
5.本发明第一方面公开了一种确定uml模型的运行逻辑的方法。所述方法包括:步骤s1、利用uml模型解析器解析输入的uml模型,以获取所述uml模型的仿真模型,其中所述uml模型为基于统一建模语言构建的模型;步骤s2、利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述uml模型的运行逻辑。
6.根据本发明第一方面的方法,所述uml模型解析器包括解析器模块、解析规则模块、语法树模块,所述步骤s1具体包括:调用所述解析器模块基于所述输入的uml模型的uml语义,解析所述uml模型中各个节点之间的关联关系,以基于所述关联关系提取所述uml模型的结构信息;调用所述语法树模块根据所述解析器模块提取出的所述uml模型的结构信息生成解析语法树,并利用所述解析语法树创建仿真上下文;利用由所述解析规则模块获取的所述uml模型与所述仿真模型的之间的映射关系,基于所述仿真上下文来创建所述仿真模型。
7.根据本发明第一方面的方法,所述输入的uml模型为uml活动图,所述uml活动图包括多个执行节点,每个执行节点包括节点语义模型、节点上下文、节点输入输出,所述uml活动图的定义中包含所述uml活动图的执行顺序,获取的所述仿真模型中包含所述uml活动图的执行顺序。
8.根据本发明第一方面的方法,在所述步骤s1中,基于petri网的计算节点结构构建所述仿真模型,所述petri网的计算节点与uml活动图的执行节点对应,并将所述uml活动图的执行节点的信息存储至对应的所述petri网的计算节点上。
9.根据本发明第一方面的方法,所述仿真虚拟机包括仿真执行器模块和仿真动画模块,在所述步骤s2中,利用所述仿真执行器执行所述仿真模型,并基于所述仿真模型中包含
的所述uml活动图的执行顺序确定执行所述仿真模型时的执行逻辑,由所述仿真动画模块可视化执行所述仿真模型时的执行逻辑。
10.根据本发明第一方面的方法,在所述步骤s2中,在验证所述uml模型的运行逻辑时,所述仿真执行器利用所述petri网的有向性执行各个计算节点,基于与所述petri网的计算节点对应的所述uml活动图的执行节点的所述节点语义模型、所述节点上下文、所述节点输入输出来完成对所述uml模型的运行逻辑的验证。
11.本发明第二方面公开了一种确定uml模型的运行逻辑的装置。所述装置包括:第一处理单元,被配置为,利用uml模型解析器解析输入的uml模型,以获取所述uml模型的仿真模型,其中所述uml模型为基于统一建模语言构建的模型;第二处理单元,被配置为,利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述uml模型的运行逻辑。
12.根据本发明第二方面的装置,所述uml模型解析器包括解析器模块、解析规则模块、语法树模块,所述第一处理单元具体被配置为:调用所述解析器模块基于所述输入的uml模型的uml语义,解析所述uml模型中各个节点之间的关联关系,以基于所述关联关系提取所述uml模型的结构信息;调用所述语法树模块根据所述解析器模块提取出的所述uml模型的结构信息生成解析语法树,并利用所述解析语法树创建仿真上下文;利用由所述解析规则模块获取的所述uml模型与所述仿真模型的之间的映射关系,基于所述仿真上下文来创建所述仿真模型。
13.根据本发明第二方面的装置,所述输入的uml模型为uml活动图,所述uml活动图包括多个执行节点,每个执行节点包括节点语义模型、节点上下文、节点输入输出,所述uml活动图的定义中包含所述uml活动图的执行顺序,获取的所述仿真模型中包含所述uml活动图的执行顺序。
14.根据本发明第二方面的装置,所述第一处理单元具体被配置为:基于petri网的计算节点结构构建所述仿真模型,所述petri网的计算节点与uml活动图的执行节点对应,并将所述uml活动图的执行节点的信息存储至对应的所述petri网的计算节点上。
15.根据本发明第二方面的装置,所述仿真虚拟机包括仿真执行器模块和仿真动画模块,所述第二处理单元具体被配置为:利用所述仿真执行器执行所述仿真模型,并基于所述仿真模型中包含的所述uml活动图的执行顺序确定执行所述仿真模型时的执行逻辑,由所述仿真动画模块可视化执行所述仿真模型时的执行逻辑。
16.根据本发明第二方面的装置,所述第二处理单元具体被配置为:在验证所述uml模型的运行逻辑时,调用所述仿真执行器利用所述petri网的有向性执行各个计算节点,基于与所述petri网的计算节点对应的所述uml活动图的执行节点的所述节点语义模型、所述节点上下文、所述节点输入输出来完成对所述uml模型的运行逻辑的验证。
17.本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第一方面中任一项所述的一种确定uml模型的运行逻辑的方法中的步骤。
18.本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第一方面中任一项所述的一种确定uml模型的运行逻辑的方法中的步骤。
19.综上,本发明的技术方案根据uml模型自动解析出仿真模型并进行仿真计算和逻辑推理,使得设计人员能够轻松验证使用uml设计的复杂系统的行为是否符合预期,提前发现设计的模型问题。
附图说明
20.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为根据本发明实施例的一种确定uml模型的运行逻辑的方法的流程图;
22.图2为根据本发明实施例的仿真运行结构的示意图;
23.图3为根据本发明实施例的uml模型的解析流程的示意图;
24.图4为根据本发明实施例的仿真执行器的运行流程的示意图;
25.图5为根据本发明实施例的一种确定uml模型的运行逻辑的装置的结构图;
26.图6为根据本发明实施例的一种电子设备的结构图。
具体实施方式
27.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.本发明第一方面公开了一种确定uml模型的运行逻辑的方法。图1为根据本发明实施例的一种确定uml模型的运行逻辑的方法的流程图,如图1所示,所述方法包括:步骤s1、利用uml模型解析器解析输入的uml模型,以获取所述uml模型的仿真模型,其中所述uml模型为基于统一建模语言构建的模型;步骤s2、利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述uml模型的运行逻辑。
29.图2为根据本发明实施例的仿真运行结构的示意图;如图2所示,该方法方法主要分为uml模型解析器和仿真虚拟机两部分,uml模型解析器接收uml模型,对其根据解析规则进行分析,并输出仿真模型。得到仿真模型后,将仿真模型输入仿真虚拟机,仿真虚拟机内部执行器按照仿真模型对应的逻辑规则进行执行,并同步驱动可视化界面显示仿真动画,对模型仿真行为进行直观显示,方便设计人员分析验证系统的运行逻辑。
30.在步骤s1,利用uml模型解析器解析输入的uml模型,以获取所述uml模型的仿真模型,其中所述uml模型为基于统一建模语言构建的模型。
31.在一些实施例中,所述uml模型解析器包括解析器模块、解析规则模块、语法树模块,所述步骤s1具体包括:调用所述解析器模块基于所述输入的uml模型的uml语义,解析所述uml模型中各个节点之间的关联关系,以基于所述关联关系提取所述uml模型的结构信息;调用所述语法树模块根据所述解析器模块提取出的所述uml模型的结构信息生成解析语法树,并利用所述解析语法树创建仿真上下文;利用由所述解析规则模块获取的所述uml模型与所述仿真模型的之间的映射关系,基于所述仿真上下文来创建所述仿真模型。
32.具体地,所述解析器模块基于所述输入的uml模型的uml语义,先解析uml模型各个节点之间的关联关系,以提取模型结构信息。进一步生成解析语法树,以创建仿真上下文。再解析uml模型与仿真模型的映射关系,结合解析规则模块的规则定义,创建仿真模型。其中所述解析器模块根据uml模型的uml语义,在解析过程中构建所述uml模型与所述仿真模型的之间的映射关系,同时可为解析器模块在创建仿真模型的上下文时提供检索。其中所述解析规则模块表征所述输入的uml模型与所述仿真模型之间的对应关系;也可以扩展用于新的仿真模型。
33.在一些实施例中,所述输入的uml模型为uml活动图,所述uml活动图包括多个执行节点,每个执行节点包括节点语义模型、节点上下文、节点输入输出,所述uml活动图的定义中包含所述uml活动图的执行顺序,获取的所述仿真模型中包含所述uml活动图的执行顺序。
34.在一些实施例中,在所述步骤s1中,基于petri网的计算节点结构构建所述仿真模型,所述petri网的计算节点与uml活动图的执行节点对应,并将所述uml活动图的执行节点的信息存储至对应的所述petri网的计算节点上。
35.具体地,uml模型解析器用于解析uml模型,生成对应的仿真模型,供仿真虚拟机执行。uml模型解析器内部分为解析器、解析规则与语法树三个部分(模块)。图3为根据本发明实施例的uml模型的解析流程的示意图;如图3所示,解析器根据输入的uml模型,解析uml模型各个节点之间的关联关系,调用语法树模块,根据uml模型的结构信息生成解析语法树,并利用解析语法树创建仿真上下文;同时,解析器调用解析规则模块获取的uml模型与仿真模型的之间的映射关系,创建仿真模型。
36.具体地,uml模型解析运行分为输入、解析、输出三个步骤。首先将需要仿真的模型输入uml模型解析器。解析器将根据内置的解析规则的集合对模型进行解析。该解析规则的集合可以按照解析模型的类别增加或减少,因此可以扩充到uml以外的模型中去。解析器根据模型结构构造语法树,语法树记录模型的层级关系,代表不同uml模型元素的继承关系。在完成模型的解析后,根据解析得到的信息,结合解析规则,构造相应的仿真模型,其中仿真模型的数据与uml模型的数据对应,保证了仿真模型的正确性。
37.具体地,uml模型解析器可以用于uml活动图解析,也可以扩展解析其它的uml图。对于uml活动图来说,每个活动图由多个可以执行的节点构成,每个节点由当前节点的语义模型、节点所在的模型(上下文)和节点的输入输出构成。活动图的模型定义中还包含了仿真模型执行的顺序信息,对uml模型进行图结构分析后,可以得到仿真模型的执行顺序。经过上述分析后,即可生成仿真模型,用于后续的仿真执行过程。
38.在步骤s2,利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述uml模型的运行逻辑。
39.在一些实施例中,所述仿真虚拟机包括仿真执行器模块和仿真动画模块,在所述步骤s2中,利用所述仿真执行器执行所述仿真模型,并基于所述仿真模型中包含的所述uml活动图的执行顺序确定执行所述仿真模型时的执行逻辑,由所述仿真动画模块监听所述仿真执行器执行事件对所述活动图进行仿真动画展示。
40.在一些实施例中,在所述步骤s2中,在验证所述uml模型的运行逻辑时,所述仿真执行器利用所述petri网的有向性执行各个计算节点,基于与所述petri网的计算节点对应
的所述uml活动图的执行节点的所述节点语义模型、所述节点上下文、所述节点输入输出来完成对所述uml模型的运行逻辑的验证。
41.图4为根据本发明实施例的仿真执行器的运行流程的示意图;如图4所示,仿真执行器是仿真虚拟机执行的入口,由任务调度算法按规则执行,当引擎运行至仿真执行器时,所述活动仿真模型被载入仿真执行器,活动仿真模型基于petri网的有向性,分析petri网中的开始节点,将开始节点载入仿真执行器执行,节点执行完成后,计算下一个节点,再将下一节点加入仿真执行器执行,直至仿真结束。各执行节点产生执行事件,仿真动画通过监听节点执行事件,调用仿真动画显示驱动算法,输出仿真动画信息到可视化界面。同时,可视化界面还有仿真视窗,可以向仿真执行器执行发送控制指令,进行启动、暂停、终止和重启等功能控制,也可以发送信号指令,激活仿真过程中的等待事件。
42.具体地,仿真虚拟机的包括仿真执行器与仿真动画两个部分。仿真执行器用于执行uml模型解析器生成的仿真模型,仿真动画用于结合仿真执行器的运行情况,驱动仿真动画信息,达到实时显示系统的运行行为的目的。
43.具体地,仿真模型的构建基于petri网。petri网是用于描述通过执行节点的消息传递来实现数据流计算系统模型的有向网络,在petri网中每个执行节点的模型为node=(i,o,p,d),其中,i代表输入集合或者是输入数据,o代表输出集合或者是输出数据,p代表处理或者是变化,d代表处理时的数据或者是状态,该概念符合uml活动图运行的基本逻辑。由于uml活动图的每个节点由当前节点的语义模型、节点所在的上下文和节点的输入输出构成,这样uml活动图的执行节点与一个计算节点的模型逻辑符合,因此采用petri网描述的模型作为uml活动图的仿真模型。
44.最后是仿真器的运行流程。仿真执行器的运行按照petri网节点的运行逻辑执行。执行器接收仿真模型后,作为一个计算节点,接受输入数据与上下文数据后,执行指定的运行逻辑,产生输出数据。数据在节点构成的网络中流动,传入下一个执行的节点,重复之前的运行步骤,直到仿真完成。
45.本发明第二方面公开了一种确定uml模型的运行逻辑的装置。图5为根据本发明实施例的一种确定uml模型的运行逻辑的装置的结构图;如图5所示,所述装置500包括:第一处理单元501,被配置为,利用uml模型解析器解析输入的uml模型,以获取所述uml模型的仿真模型,其中所述uml模型为基于统一建模语言构建的模型;第二处理单元502,被配置为,利用仿真虚拟机执行所述仿真模型,以可视化执行所述仿真模型时的执行逻辑,从而验证所述uml模型的运行逻辑。
46.根据本发明第二方面的装置,所述uml模型解析器包括解析器模块、解析规则模块、语法树模块,所述第一处理单元501具体被配置为:调用所述解析器模块基于所述输入的uml模型的uml语义,解析所述uml模型中各个节点之间的关联关系,以基于所述关联关系提取所述uml模型的结构信息;调用所述语法树模块根据所述解析器模块提取出的所述uml模型的结构信息生成解析语法树,并利用所述解析语法树创建仿真上下文;利用由所述解析规则模块获取的所述uml模型与所述仿真模型的之间的映射关系,基于所述仿真上下文来创建所述仿真模型。
47.根据本发明第二方面的装置,所述输入的uml模型为uml活动图,所述uml活动图包括多个执行节点,每个执行节点包括节点语义模型、节点上下文、节点输入输出,所述uml活
动图的定义中包含所述uml活动图的执行顺序,获取的所述仿真模型中包含所述uml活动图的执行顺序。
48.根据本发明第二方面的装置,所述第一处理单元501具体被配置为:基于petri网的计算节点结构构建所述仿真模型,所述petri网的计算节点与uml活动图的执行节点对应,并将所述uml活动图的执行节点的信息存储至对应的所述petri网的计算节点上。
49.根据本发明第二方面的装置,所述仿真虚拟机包括仿真执行器模块和仿真动画模块,所述第二处理单元502具体被配置为:利用所述仿真执行器执行所述仿真模型,并基于所述仿真模型中包含的所述uml活动图的执行顺序确定执行所述仿真模型时的执行逻辑,由所述仿真动画模块可视化执行所述仿真模型时的执行逻辑。
50.根据本发明第二方面的装置,所述第二处理单元502具体被配置为:在验证所述uml模型的运行逻辑时,调用所述仿真执行器利用所述petri网的有向性执行各个计算节点,基于与所述petri网的计算节点对应的所述uml活动图的执行节点的所述节点语义模型、所述节点上下文、所述节点输入输出来完成对所述uml模型的运行逻辑的验证。
51.本发明第三方面公开了一种电子设备。所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现本公开第一方面中任一项所述的一种确定uml模型的运行逻辑的方法中的步骤。
52.图6为根据本发明实施例的一种电子设备的结构图,如图6所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、近场通信(nfc)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
53.本领域技术人员可以理解,图6中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
54.本发明第四方面公开了一种计算机可读存储介质。所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本公开第一方面中任一项所述的一种确定uml模型的运行逻辑的方法中的步骤。
55.综上,本发明的技术方案根据uml模型自动解析出仿真模型并进行仿真计算和逻辑推理,使得设计人员能够轻松验证使用uml设计的复杂系统的行为是否符合预期,提前发现设计的模型问题。
56.请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变
形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1