CN115629828A - 一种状态机的展示方法、装置以及介质 - Google Patents
一种状态机的展示方法、装置以及介质 Download PDFInfo
- Publication number
- CN115629828A CN115629828A CN202211102501.1A CN202211102501A CN115629828A CN 115629828 A CN115629828 A CN 115629828A CN 202211102501 A CN202211102501 A CN 202211102501A CN 115629828 A CN115629828 A CN 115629828A
- Authority
- CN
- China
- Prior art keywords
- state machine
- state
- skip
- view
- jump
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000005284 excitation Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 2
- 230000001747 exhibiting effect Effects 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 15
- 238000011161 development Methods 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000000547 structure data Methods 0.000 abstract description 3
- 238000004573 interface analysis Methods 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000008140 language development Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4498—Finite state machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种状态机的展示方法、装置以及介质,应用于云计算数据中心技术领域。该方法先获取状态机项目的源码,然后提取源码中的状态机描述结构以得到预设格式的状态机项目描述文件,并根据状态机项目描述文件得到对应的状态机跳转视图,最后展示状态机跳转视图。本申请采用图形界面的分析系统,通过程序算法加载并解析复杂的状态机结构数据,有效加快了对相应领域开发和维护人员分析状态机的时间,并以非常条理的方式展示了各个状态机跳转流程,使状态机信息便于查看和分析,显著减少了人工处理晦涩难懂的代码时出错的概率,并降低了对状态机跳转流程更改时出现纰漏的情况。
Description
技术领域
本申请涉及云计算数据中心技术领域,特别是涉及一种状态机的展示方法、装置以及介质。
背景技术
在云计算时代,海量数据传输需要写入和读取,云计算作为数据密集型的超级计算,它要存储海量的数据。数据存储的安全可靠与数据读写的经济高效是云计算的基础,而在这之间,少不了从底层到上层里每一个完善稳定的状态机系统的保证。目前,若需要查看状态机的相关信息,则需要获取状态机的源码,通过源码查看状态机的跳转路径等。
但对于复杂系统中更加复杂的状态机,如果只在源码中查看或者梳理流程则非常复杂,且容易出现错误从而得到错误的状态机信息。
由此可见,如何使状态机信息便于查看和分析,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种状态机的展示方法、装置以及介质,使状态机信息便于查看和分析。
为解决上述技术问题,本申请提供一种状态机的展示方法,包括:
获取状态机项目的源码;
提取所述源码中的状态机描述结构以得到预设格式的状态机项目描述文件;
根据所述状态机项目描述文件得到对应的状态机跳转视图;
展示所述状态机跳转视图。
优选地,所述根据所述状态机项目描述文件得到对应的状态跳转视图包括:
将所述状态机项目描述文件中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态加载到状态机描述集;
使用状态机图形化显示引擎加载所述状态机描述集以得到所述状态机跳转视图。
优选地,所述展示所述状态机跳转视图包括:
若接收到多视图展示指令,则同时展示多个对应的所述状态机跳转视图。
优选地,所述根据所述状态机项目描述文件得到对应的状态机跳转视图之后,还包括:
若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在多余信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的多余信息进行删除。
优选地,所述根据所述状态机项目描述文件得到对应的状态机跳转视图之后,还包括:
若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在缺失信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的缺失信息进行添加。
优选地,所述根据所述状态机项目描述文件得到对应的状态机跳转视图之后,还包括:
若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在错误信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的错误信息进行修正。
优选地,所述状态机项目描述文件具体为JSON格式。
为解决上述技术问题,本申请还提供一种状态机的展示装置,包括:
获取模块,用于获取状态机项目的源码;
提取模块,用于提取所述源码中的状态机描述结构以得到预设格式的状态机项目描述文件;
处理模块,用于根据所述状态机项目描述文件得到对应的状态机跳转视图;
展示模块,用于展示所述状态机跳转视图。
优选地,所述状态机的展示装置还包括:删除模块,用于在根据所述状态机项目描述文件得到对应的状态机跳转视图之后,若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在多余信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的多余信息进行删除。
优选地,所述状态机的展示装置还包括:添加模块,用于在根据所述状态机项目描述文件得到对应的状态机跳转视图之后,若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在缺失信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的缺失信息进行添加。
优选地,所述状态机的展示装置还包括:修正模块,用于在根据所述状态机项目描述文件得到对应的状态机跳转视图之后,若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在错误信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的错误信息进行修正。
为解决上述技术问题,本申请还提供一种状态机的展示装置,包括:存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述状态机的展示方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述状态机的展示方法的步骤。
本申请所提供的一种状态机的展示方法,先获取状态机项目的源码,然后提取源码中的状态机描述结构以得到预设格式的状态机项目描述文件,并根据状态机项目描述文件得到对应的状态机跳转视图,最后展示状态机跳转视图。本申请采用图形界面的分析系统,通过程序算法加载并解析复杂的状态机结构数据,有效加快了对相应领域开发和维护人员分析状态机的时间,并以非常条理的方式展示了各个状态机跳转流程,使状态机信息便于查看和分析,显著减少了人工处理晦涩难懂的代码时出错的概率,并降低了对状态机跳转流程更改时出现纰漏的情况。
本申请还提供了一种状态机的展示装置和计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种状态机的展示方法的流程图;
图2为本申请实施例提供的一种分析系统分析状态机的实现过程示意图;
图3为本申请实施例提供的状态机的展示装置的结构图;
图4为本申请另一实施例提供的状态机的展示装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种状态机的展示方法、装置以及介质,使状态机信息便于查看和分析。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
目前,若需要查看状态机的相关信息,则需要获取状态机的源码,通过源码查看状态机的跳转路径等。但对于复杂系统中更加复杂的状态机,如果只在源码中查看或者梳理流程则非常复杂,且容易出现错误从而得到错误的状态机信息。为解决上述技术问题,本申请通过设计了一套针对复杂状态机结构与各种激励条件的分析系统来实现快速准确分析与所有跳转路径生成的目的。此分析系统可以将源码中的状态机描述结构录入并转化为JS对象描述符(JavaScript Object Notation,JSON)描述文件保存在存储介质中,也可以通过向导工具进行手动添加状态机的新状态和新激励和修改状态机。当系统加载状态机的描述文件后,可以依据问题现场中收集到的进程的内存镜像中状态机的记录快速分析状态机跳转的路径。也可以根据适配过程中的新需求来快速进行状态机状态与激励的添加,可以通过一些条件快速生成状态机的跳转路径,进行问题的分析与梳理。进程的内存镜像即dump文件,dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开。
图1为本申请实施例提供的一种状态机的展示方法的流程图;如图1所示,该方法包括如下步骤:
S10:获取状态机项目的源码。
状态机是有限状态自动机的简称,是现实事物运行规则抽象而成的一个数学模型。给定一个状态机,同时给定它的当前状态以及输入,那么输出状态时可以明确的运算出来的。在Java开发中,状态机是一种常见的设计模式,常常用于一些复杂的业务场景。状态机项目的源码就是一些繁琐杂乱的代码段,本方案的关键点是设计合理的状态机描述数据结构和状态机解析展现方式,在进行后续步骤之前需要先获取源码。
S11:提取源码中的状态机描述结构以得到预设格式的状态机项目描述文件。
在获取源码之后,需提取源码中的状态机描述结构以得到预设格式的状态机项目描述文件。具体的预设格式不作要求,一般是预设的一种固定格式,便于保存和使用。可通过使用C#语言开发软件工具,合理的设计状态机描述文件的保存形式与结构框架,在保留了易读性与已于编辑修改的特性,同时还适应了复杂状态机的结构特点,能够对大多数的复杂状态机进行转换、分析。采用JSON格式保存文件,通过对复杂状态机的归纳整理,预留了包括前置条件、激励、跳转状态等字段,可以对大多数复杂状态机的模式进行覆盖。
S12:根据状态机项目描述文件得到对应的状态机跳转视图。
S13:展示状态机跳转视图。
在选择不同的状态机项目描述文件后,状态机项目描述文件加载引擎将以JSON形式存储的状态机项目描述文件按照每一个状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态等,将这些信息加载到内存当中的状态机描述集中。状态机描述集是一个抽象化的C#数据结构集,内部规定了每一个状态机当前状态下所有可能的前置条件以及对应的激励。状态机图形化显示引擎主要负责将状态机描述集中的状态机显示到软件界面上,并提供给使用者对每一个状态机状态的前置条件选择和激励选择,并进行相应状态机状态的跳转路径绘制。
另外,勘误人员可以将错误现场收集的dump信息中的状态机跳转路径输入,协助分析定位问题。状态机图像化显示引擎还可以通过使用者的选择同时展示多个状态机的跳转路径,以便于不同的状态机之间的对比。状态机图形化编辑引擎可以对当前的状态机流程进行修改。通过添加、修改、删除等功能按钮,可以添加状态机的前置条件以及此条件路径下的激励以及跳转的状态。
状态机分析分析系统使用时可包括以下几个步骤:1、启动分析系统,选择要加载的原有的状态机项目描述文件,或者新建状态机项目并导入源码中的状态机描述结构得到对应的状态机项目描述文件。2、在查看模式中,根据需要选择状态机的每一个状态以及状态机当前状态进入的激励,分析系统会自动显示下一个状态。分析系统还可根据需要开启另外的状态跳转视图以进行对比。3、在编辑模式中,分析系统根据需要对状态机进行增加新的状态、新的激励、新的激励前置条件等,或者编辑状态机的每一种状态等。
图2为本申请实施例提供的一种分析系统分析状态机的实现过程示意图;如图2所示,状态机项目描述文件中包括多个状态机当前状态,分别表示为当前状态描述1、当前状态描述2、…当前状态描述n。每个状态机当前状态又包括多个状态机前置条件,分别表示为前置条件1、前置条件2、…前置条件n。在不同前置条件下产生激励对应不同的跳转状态。状态机项目描述文件是通过源码提取而来,在实际应用时,可以使用提前生成的状态机项目描述文件,将已有的状态机项目描述文件加载到分析系统1的状态机项目描述文件加载引擎中,状态机项目描述文件加载引擎将以JSON形式存储的状态机项目描述文件中每一个状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态等信息加载到内存当中的状态机描述集中,在解析状态机描述集之后,状态机图形化显示引擎负责将状态机描述集中的状态机显示到软件界面上,即对应图形化展示层,并提供给使用者对每一个状态机状态的前置条件选择和激励选择,并进行相应状态机状态的跳转路径绘制。分析系统1还通过编辑工具提供给使用者编辑状态机跳转视图的功能,若状态机跳转视图的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中存在多余信息、错误信息、缺失信息,则可通过状态机图形化显示引擎对状态机跳转视图中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中的多余信息进行删除、修正、添加等。状态机源码转换引擎则可直接将源码转换为标准格式的状态机项目描述文件,适用于新建的状态机项目,通过导入源码中的状态机描述结构得到对应的状态机描述文件。
本申请实现了一种针对复杂状态机系统的快速分析系统,采用C#语言对分析系统进行开发实现,通过此分析系统,可以将源码中的状态机描述结构源码导入,分析系统可以通过预先设置好的描述结构识别引擎对状态机描述结构中的状态机前置条件、状态机当前状态、状态机激励、状态机跳转状态进行自动识别,并转换为本分析系统可以直接使用的状态机描述结构。使用者也可以在编辑模式下手动创建状态机或对已加载的状态机进行编辑,加入新的状态或者激励。借助于图形界面,使用者可以在查看模式下通过选择状态机的每一种前置条件和激励来展示出一条状态机的跳转途径,还可以在对比模式下选择不同的状态机跳转途径进行对比。
本申请所提供的一种状态机的展示方法,先获取状态机项目的源码,然后提取源码中的状态机描述结构以得到预设格式的状态机项目描述文件,并根据状态机项目描述文件得到对应的状态机跳转视图,最后展示状态机跳转视图。本申请采用图形界面的分析系统,通过程序算法加载并解析复杂的状态机结构数据,有效加快了对相应领域开发和维护人员分析状态机的时间,并以非常条理的方式展示了各个状态机跳转流程,使状态机信息便于查看和分析,显著减少了人工处理晦涩难懂的代码时出错的概率,并降低了对状态机跳转流程更改时出现纰漏的情况。
上述实施例并未限定如何根据状态机项目描述文件得到对应的状态跳转视图,本申请实施例提供一种具体方案,包括将状态机项目描述文件中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态加载到状态机描述集中;使用状态机图形化显示引擎加载状态机描述集以得到状态机跳转视图。
在得到状态机项目描述文件后,状态机项目描述文件加载引擎将以JSON形式存储的状态机项目描述文件中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态等信息加载到内存当中的状态机描述集中。状态机描述集是一个抽象化的C#数据结构集,内部规定了每一个状态机当前状态下所有可能的前置条件以及对应的激励。状态机图形化显示引擎主要负责根据状态机描述集中的状态机得到状态机跳转视图并显示到软件界面上,并提供给使用者对每一个状态机状态的前置条件选择和激励选择,并进行相应状态机状态的跳转路径绘制。
在实际应用中,可能需要将多个状态机跳转视图同时展示以便于进行对比,因此,展示状态机跳转视图包括:若接收到多视图展示指令,则同时展示多个对应的状态机跳转视图。在查看模式中,分析系统会根据需要选择状态机的每一个状态以及状态机当前状态进入的激励,分析系统会自动显示下一个状态。若使用者需要对比两个状态机跳转视图,则分析系统会根据需要开启另外一个的状态跳转视图以进行对比,实际应用时展示的状态机跳转视图不作限定。
具体实施中,在根据状态机项目描述文件得到对应的状态机跳转视图之后,使用者查看状态机跳转视图,会查找出状态机跳转视图中的错误信息,因此,若状态机跳转视图的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中存在多余信息,则通过状态机图形化显示引擎对状态机跳转视图中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中的多余信息进行删除。若状态机跳转视图的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中存在缺失信息,则通过状态机图形化显示引擎对状态机跳转视图中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中的缺失信息进行添加。若状态机跳转视图的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中存在错误信息,则通过状态机图形化显示引擎对状态机跳转视图中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中的错误信息进行修正。
本申请实施例所提供的状态机项目描述文件具体为JSON格式。JSON是一种轻量级的数据交换格式,它是基于欧洲计算机协会制定的js规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。采用JSON格式保存文件,通过对复杂状态机的归纳整理,预留了包括前置条件、激励、跳转状态等字段,可以对大多数复杂状态机的模式进行覆盖。
在上述实施例中,对于状态机的展示方法进行了详细描述,本申请还提供状态机的展示装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
基于功能模块的角度,本实施例提供一种状态机的展示装置,图3为本申请实施例提供的状态机的展示装置的结构图,如图3所示,该装置包括:
获取模块10,用于获取状态机项目的源码;
提取模块11,用于提取源码中的状态机描述结构以得到预设格式的状态机项目描述文件;
处理模块12,用于根据状态机项目描述文件得到对应的状态机跳转视图;
展示模块13,用于展示状态机跳转视图。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
作为优选的实施方式,状态机的展示装置还包括:删除模块,用于在根据状态机项目描述文件得到对应的状态机跳转视图之后,若状态机跳转视图的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中存在多余信息,则通过状态机图形化显示引擎对状态机跳转视图中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中的多余信息进行删除。
添加模块,用于在根据状态机项目描述文件得到对应的状态机跳转视图之后,若状态机跳转视图的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中存在缺失信息,则通过状态机图形化显示引擎对状态机跳转视图中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中的缺失信息进行添加。
修正模块,用于在根据状态机项目描述文件得到对应的状态机跳转视图之后,若状态机跳转视图的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中存在错误信息,则通过状态机图形化显示引擎对状态机跳转视图中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态中的错误信息进行修正。
本实施例提供的状态机的展示装置,与上述方法对应,故具有与上述方法相同的有益效果。
基于硬件的角度,本实施例提供了另一种状态机的展示装置,图4为本申请另一实施例提供的状态机的展示装置的结构图,如图4所示,状态机的展示装置包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的状态机的展示方法的步骤。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的状态机的展示方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于状态机的展示方法涉及到的数据等。
在一些实施例中,状态机的展示装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图中示出的结构并不构成对状态机的展示装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的状态机的展示装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:状态机的展示方法。
本实施例提供的状态机的展示装置,与上述方法对应,故具有与上述方法相同的有益效果。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例描述的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质,与上述方法对应,故具有与上述方法相同的有益效果。
以上对本申请所提供的一种状态机的展示方法、装置以及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种状态机的展示方法,其特征在于,包括:
获取状态机项目的源码;
提取所述源码中的状态机描述结构以得到预设格式的状态机项目描述文件;
根据所述状态机项目描述文件得到对应的状态机跳转视图;
展示所述状态机跳转视图。
2.根据权利要求1所述的状态机的展示方法,其特征在于,所述根据所述状态机项目描述文件得到对应的状态跳转视图包括:
将所述状态机项目描述文件中的状态机当前状态、状态机前置条件、状态机激励、状态机跳转状态加载到状态机描述集;
使用状态机图形化显示引擎加载所述状态机描述集以得到所述状态机跳转视图。
3.根据权利要求2所述的状态机的展示方法,其特征在于,所述展示所述状态机跳转视图包括:
若接收到多视图展示指令,则同时展示多个对应的所述状态机跳转视图。
4.根据权利要求1所述的状态机的展示方法,其特征在于,所述根据所述状态机项目描述文件得到对应的状态机跳转视图之后,还包括:
若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在多余信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的多余信息进行删除。
5.根据权利要求4所述的状态机的展示方法,其特征在于,所述根据所述状态机项目描述文件得到对应的状态机跳转视图之后,还包括:
若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在缺失信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的缺失信息进行添加。
6.根据权利要求5所述的状态机的展示方法,其特征在于,所述根据所述状态机项目描述文件得到对应的状态机跳转视图之后,还包括:
若所述状态机跳转视图的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中存在错误信息,则通过所述状态机图形化显示引擎对所述状态机跳转视图中的所述状态机当前状态、所述状态机前置条件、所述状态机激励、所述状态机跳转状态中的错误信息进行修正。
7.根据权利要求1所述的状态机的展示方法,其特征在于,所述状态机项目描述文件具体为JSON格式。
8.一种状态机的展示装置,其特征在于,包括:
获取模块,用于获取状态机项目的源码;
提取模块,用于提取所述源码中的状态机描述结构以得到预设格式的状态机项目描述文件;
处理模块,用于根据所述状态机项目描述文件得到对应的状态机跳转视图;
展示模块,用于展示所述状态机跳转视图。
9.一种状态机的展示装置,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的状态机的展示方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的状态机的展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211102501.1A CN115629828A (zh) | 2022-09-09 | 2022-09-09 | 一种状态机的展示方法、装置以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211102501.1A CN115629828A (zh) | 2022-09-09 | 2022-09-09 | 一种状态机的展示方法、装置以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115629828A true CN115629828A (zh) | 2023-01-20 |
Family
ID=84901851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211102501.1A Pending CN115629828A (zh) | 2022-09-09 | 2022-09-09 | 一种状态机的展示方法、装置以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115629828A (zh) |
-
2022
- 2022-09-09 CN CN202211102501.1A patent/CN115629828A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9021440B1 (en) | System and method for automated test script generation | |
CN114424257A (zh) | 使用机器学习对表格数据进行自动描绘和提取 | |
US20170054790A1 (en) | System and Method for Object Compression and State Synchronization | |
CN112558967A (zh) | 页面自动生成方法、装置、电子设备和存储介质 | |
US20240160413A1 (en) | Application Development Platform, Micro-program Generation Method, and Device and Storage Medium | |
CN114020256A (zh) | 前端页面生成方法、装置、设备及可读存储介质 | |
CN114077430A (zh) | 界面生成方法、装置、电子设备及存储介质 | |
CN112306486B (zh) | 一种界面生成方法、装置、服务器及存储介质 | |
KR20140116438A (ko) | 연산 순서의 그래픽 표현 기법 | |
CN114185874A (zh) | 一种基于大数据的建模方法、装置、开发框架及设备 | |
JP2023553220A (ja) | マルチインスタンスプロセスのためのプロセスマイニング | |
CN114764296A (zh) | 机器学习模型训练方法、装置、电子设备及存储介质 | |
US10198784B2 (en) | Capturing commands in a multi-engine graphics processing unit | |
Ledur et al. | A high-level dsl for geospatial visualizations with multi-core parallelism support | |
CN116578293A (zh) | 业务数据方法、装置、设备及存储介质 | |
CN113867700B (zh) | 模型构建方法、展示平台、服务器及存储介质 | |
CN115629828A (zh) | 一种状态机的展示方法、装置以及介质 | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN114398282A (zh) | 测试脚本的生成方法、装置、设备及存储介质 | |
CN111273913A (zh) | 一种输出规范表示的应用程序接口数据的方法及装置 | |
JP2007213487A (ja) | アスペクト生成方法及び装置 | |
CN117369789B (zh) | 基于可视化配置工具生成代码的方法及可视化显示设备 | |
Milovanovic et al. | Python Data Visualization Cookbook | |
US20180032929A1 (en) | Risk-adaptive agile software development | |
CN115543323B (zh) | 一种页面开发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |