CN109446146B - 一种应用层通信协议的状态转换序列生成方法 - Google Patents

一种应用层通信协议的状态转换序列生成方法 Download PDF

Info

Publication number
CN109446146B
CN109446146B CN201811332438.4A CN201811332438A CN109446146B CN 109446146 B CN109446146 B CN 109446146B CN 201811332438 A CN201811332438 A CN 201811332438A CN 109446146 B CN109446146 B CN 109446146B
Authority
CN
China
Prior art keywords
state
state transition
node
application layer
communication protocol
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.)
Active
Application number
CN201811332438.4A
Other languages
English (en)
Other versions
CN109446146A (zh
Inventor
王俊杰
陈媛
王安邦
刘逻
哈清华
宋元章
王红园
李洪雨
林星辰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun Institute of Optics Fine Mechanics and Physics of CAS
Original Assignee
Changchun Institute of Optics Fine Mechanics and Physics of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changchun Institute of Optics Fine Mechanics and Physics of CAS filed Critical Changchun Institute of Optics Fine Mechanics and Physics of CAS
Priority to CN201811332438.4A priority Critical patent/CN109446146B/zh
Publication of CN109446146A publication Critical patent/CN109446146A/zh
Application granted granted Critical
Publication of CN109446146B publication Critical patent/CN109446146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Abstract

本发明公开了一种应用层通信协议的状态转换序列生成方法,能够响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,从而确定系统的状态转换关系,并根据状态转换关系生成状态转换图,确定状态转换图中从起始状态节点到终止状态节点的多个路径,最终根据各个路径生成多个状态转换序列。可见,该方法能响应生成指令自动分析不具备标准格式的应用层通信协议,从而确定系统的状态转换关系,并据此生成状态转换序列,避免了人工生成状态转换序列的过程,节省了时间和人力,提高了生成效率。此外,本发明还提供了一种应用层通信协议的状态转换序列生成装置、设备及计算机可读存储介质,其作用与上述方法相对应。

Description

一种应用层通信协议的状态转换序列生成方法
技术领域
本发明涉及通信领域,特别涉及一种应用层通信协议的状态转换序列的生成方法、装置、设备及计算机可读存储介质。
背景技术
在航天领域,航天/航空载荷、武器装备等一般由多个系统组成,各个系统之间交互信息,最常用的方式依然是串行通信,使用各自领域的串行总线,比如RS232/422/485/UART、CAN、ARINC429等。
通信协议在物理层、数据链路层等都按照各自总线标准组建数据,但是,在面向应用的应用层,由于系统设备工作方式千差万别,设计人员在设计应用层通信协议时,无法遵循统一的应用标准,而是根据系统信息交互的需要综合考虑。
在设计完成后,需要根据应用层通信协议确定系统的状态转换序列,并利用状态转换序列对应的数据元素序列对系统进行功能测试。然而,由于这种通信协议不具备标准格式,一般只能通过人工来选择并生成状态转换序列,这种方式浪费较多的时间和人力,而且生成效率较低。
发明内容
本发明的目的是提供一种应用层通信协议的状态转换序列的生成方法、装置、设备及计算机可读存储介质,用以解决由于这种通信协议不具备标准格式,传统的方式只能通过人工来选择并生成状态转换序列,这种方式浪费较多的时间和人力,而且生成效率较低的问题。具体实现方式如下:
第一方面,本发明提供了一种应用层通信协议的状态转换序列生成方法,应用于基于串行接口进行通信的系统,包括:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;
根据所述状态转换关系,生成状态转换图;
遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;
根据各个所述路径,生成多个状态转换序列。
可选的,所述响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系,包括:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
根据所述目标数据元数的不同取值,确定所述系统的状态转换关系。
可选的,所述遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径,包括:
以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
可选的,在所述根据各个所述路径,生成多个状态转换序列之后,包括:
获取所述应用层通信协议的数据元素约束关系;
根据所述数据元素约束关系,对所述状态转换序列进行调整。
可选的,在所述遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径之前,还包括:
判断所述状态转换图是否包括终止状态节点;
若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
可选的,所述若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,包括:
若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,所述距离;
从所述目标状态节点拆分出终止状态节点。
第二方面,本发明提供了一种应用层通信协议的状态转换序列生成装置,应用于基于串行接口进行通信的系统,包括:
状态转换关系确定模块:用于响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;
状态转换图生成模块:用于根据所述状态转换关系,生成状态转换图;
路径确定模块:用于遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;
状态转换序列生成模块:用于根据各个所述路径,生成多个状态转换序列。
可选的,所述状态转换关系确定模块包括:
目标数据元素确定单元:用于响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
状态转换关系确定单元:用于根据所述目标数据元数的不同取值,确定所述系统的状态转换关系。
可选的,所述路径确定模块包括:
转换单元:用于以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历单元:用于遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
可选的,所述装置还包括:
约束关系获取模块:用于获取所述应用层通信协议的数据元素约束关系;
调整模块:用于根据所述数据元素约束关系,对所述状态转换序列进行调整。
可选的,所述装置还包括:
判断模块:用于判断所述状态转换图是否包括终止状态节点;
拆分模块:用于若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
可选的,所述拆分模块包括:
目标状态节点确定单元:用于若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,所述距离;
拆分单元:用于从所述目标状态节点拆分出终止状态节点。
第三方面,本发明还提供了一种应用层通信协议的状态转换序列生成设备,应用于基于串行接口进行通信的系统,包括:
存储器:用于存储计算机程序;
处理器:用于在执行所述计算机程序时以实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;根据所述状态转换关系,生成状态转换图;遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;根据各个所述路径,生成多个状态转换序列。
可选的,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
根据所述目标数据元数的不同取值,确定所述系统的状态转换关系。
可选的,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
可选的,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
获取所述应用层通信协议的数据元素约束关系;
根据所述数据元素约束关系,对所述状态转换序列进行调整。
可选的,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
判断所述状态转换图是否包括终止状态节点;
若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
可选的,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,所述距离;
从所述目标状态节点拆分出终止状态节点。
第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;根据所述状态转换关系,生成状态转换图;遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;根据各个所述路径,生成多个状态转换序列。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
根据所述目标数据元数的不同取值,确定所述系统的状态转换关系。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
获取所述应用层通信协议的数据元素约束关系;
根据所述数据元素约束关系,对所述状态转换序列进行调整。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
判断所述状态转换图是否包括终止状态节点;
若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
可选的,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,所述距离;
从所述目标状态节点拆分出终止状态节点。
本发明所提供的一种应用层通信协议的状态转换序列生成方法,应用于基于串行接口进行通信的系统,能够响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,从而确定系统的状态转换关系,并根据状态转换关系生成状态转换图,确定状态转换图中从起始状态节点到终止状态节点的多个路径,最终根据各个路径生成多个状态转换序列。可见,该方法能响应生成指令自动分析不具备标准格式的应用层通信协议,从而确定系统的状态转换关系,并据此生成状态转换序列,避免了人工生成状态转换序列的过程,节省了时间和人力,提高了生成效率。
此外,本发明还提供了一种应用层通信协议的状态转换序列生成装置、设备及计算机可读存储介质,其作用与上述方法相对应,这里不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种应用层通信协议的状态转换序列生成方法实施例一的实现流程图;
图2为本发明所提供的一种应用层通信协议的状态转换序列生成方法实施例二的系统架构;
图3为本发明所提供的一种应用层通信协议的状态转换序列生成方法实施例二中初始的状态转换图;
图4为本发明所提供的一种应用层通信协议的状态转换序列生成方法实施例二中经过抽象的状态转换图;
图5为本发明所提供的一种应用层通信协议的状态转换序列生成方法实施例二中经过拆分的状态转换图;
图6为本发明所提供的一种应用层通信协议的状态转换序列生成方法实施例二中的状态树;
图7为本发明所提供的一种应用层通信协议的状态转换序列生成装置实施例的功能框图。
具体实施方式
本发明的核心是提供一种应用层通信协议的状态转换序列生成方法、装置、设备及计算机可读存储介质,实现了自动分析不具备标准格式的应用层通信协议,并生成状态转换序列的目的,避免了人工生成状态转换序列的过程,节省了时间和人力,提高了生成效率。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明提供的一种应用层通信协议的状态转换序列生成方法实施例一进行介绍,实施例一主要应用于基于串行接口进行通信的系统,参见图1,实施例一包括:
步骤S101:响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系。
需要说明的是,本实施例针对的应用层通信协议包括多个系统之间的数据传输要求,所述系统之间基于串行接口进行通信,串行通信协议适用于系统与系统之间传输数据的测试数据约束,也适用于单个系统内部子系统之间传输数据测试数据的约束。对应用层通信协议中的涉及的数据项进行分析描述,无论什么样的应用层协议,都可分解为数据包,数据包可分解为数据元素,其中数据元素的组成可由二进制的一位到多个字节。
步骤S102:根据所述状态转换关系,生成状态转换图。
具体的,根据通信协议相关数据包的相关数据元素的不同取值确定状态转换关系,并利用状态转换图进行表示。
步骤S103:遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径。
步骤S104:根据各个所述路径,生成多个状态转换序列。
可见,本实施例所提供一种应用层通信协议的状态转换序列生成方法,应用于基于串行接口进行通信的系统,能够响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,从而确定系统的状态转换关系,并根据状态转换关系生成状态转换图,确定状态转换图中从起始状态节点到终止状态节点的多个路径,最终根据各个路径生成多个状态转换序列。可见,该方法能响应生成指令自动分析不具备标准格式的应用层通信协议,从而确定系统的状态转换关系,并据此生成状态转换序列,避免了人工生成状态转换序列的过程,节省了时间和人力,提高了生成效率。。
本发明还提供了一种应用层通信协议的状态转换序列生成方法实施例二,实施例二基于实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,实施例一主要应用于基于串行接口进行通信的系统,下面以图2所示的系统架构为例,对实施例二进行展开介绍,需要指出的是,图2所示意的系统架构仅作为本发明实施例二的一种实现场景,并非本发明实现的必要条件。参见图2,该系统包括:
飞行控制系统200:与载荷控制系统210之间通过CAN总线连接,涉及到双向数据交互,数据交互内容见表1、表2,其中,表1为飞行控制系统200发往载荷控制系统210的数据内容,表2为载荷控制系统210发往飞行控制系统的数据内容。
载荷控制系统210:与飞行控制系统200之间通过CAN总线连接,涉及到双向数据交互,数据交互内容见表1、表2;与图像处理系统220之间通过RS422总线连接,涉及到双向数据交互,数据交互内容见表3、表4,其中,表3为载荷控制系统210发往图像处理系统220的数据内容,表4为图像处理系统220发往载荷控制系统210的数据内容;与伺服控制系统230之间通过RS422总线连接,涉及到双向数据交互,数据交互内容见表5、表6,其中,表5为载荷控制系统210发往伺服控制系统230的数据内容,表6为伺服控制系统230发往载荷控制系统210的数据内容。
图像处理系统220:与载荷控制系统210之间通过RS422总线连接,涉及到双向数据交互,数据交互内容见表3、表4。
伺服控制系统230:与载荷控制系统210之间通过RS422总线连接,涉及到双向数据交互,数据交互内容见表5、表6。
下面表1到表6中的每个表的内容组成通信协议的一个数据包,共包含6种不同类型的数据包,表格中每一个参数名称为一个数据元素,共有数据元素30个。
表1
Figure BDA0001860379940000101
Figure BDA0001860379940000111
表2
Figure BDA0001860379940000112
表3
Figure BDA0001860379940000113
表4
Figure BDA0001860379940000114
表5
Figure BDA0001860379940000121
表6
Figure BDA0001860379940000122
图2所示意的系统结构中包括多个系统,下面本实施例以飞行控制系统200发往载荷控制系统210的数据内容为例,通过分析如表1所示的数据内容,确定载荷控制系统210的状态转换关系,并根据状态转换关系生成状态转换序列。该过程具体包括以下步骤:
步骤S201:分析应用层通信协议,根据满足应用层通信协议的数据包中目标数据元素的不同取值,确定该系统的状态转换关系。
具体的,分析表1,可以确定该系统存在状态转换关系,根据表1中命令数据元数(即上述目标数据元素)的不同取值,可以得到该系统的状态转换关系,具体的,该状态转换关系包含四种状态,待机状态St0、准备拍照状态St1、拍照状态St2、停止拍照状态St3。
步骤S202:根据状态转换关系,生成状态转换关系图,并对其进行抽象。
如图3所示,根据上述状态转换关系,可以生成如图3所示的状态转换关系图。然后,对图3所示的状态转换图进行抽象,用数学符号抽象表示其转换逻辑,得到图4所示的状态转换图。
步骤S203:判断所述状态转换图是否包括终止状态节点,若不存在,则从状态转换图中查找目标状态节点,并从目标状态节点拆分出终止状态节点。
需要特别说明的是,系统的状态转换图中一般终止状态节点的数量是不确定的,具体可能有零个、一个或多个终止状态节点。对于有没有终止结点节点的状态转换图,本实施例会进行拆分处理。
具体的,如图4所示,该状态转换图不存在终止状态节点,因此,作为一种实现方式,本实施例选取该状态转换图中的既是起点又是终点的状态节点(即上述目标状态节点),并从目标状态节点拆分出终止状态节点,得到有始有终的状态转换图。
实际应用场景中,状态转换图中可能存在多个目标状态节点,作为一种优选方式,本实施例可以选取在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,也就是说,将状态转换图中第一个既是起点又是终点的状态结点拆分出一个虚拟终点,构成有始有终的状态转换图。
举例来说,以图4所示的状态转换图为例,该状态转换图中没有起始状态(即起始状态节点)和结束状态(即终止状态节点),不利于得到状态转换序列,因此如图5所示,在四个状态节点中选择一个状态节点,将其分解为只有后续节点没有前续节点的起始状态结点St0_i和只有前续节点没有后续节点的终止状态结点St0_o。
步骤S204:将上述有始有终的状态转换图转换为状态树。
具体的,将状态转换图的起始状态节点作为状态树的根节点,将连接起始状态节点St0_i的后续节点St1作为子结点,由于St1不是终止状态结点,且在父节点中未曾出现,因此继续以St1作为父节点,将St1的两个后续节点St0_o和St2分别作为子结点,其中St0_o为终止状态结点,因此不再继续转换该分支。继续以St2作为父节点,St2有两个后续节点,St0_o和St3,起始状态有多个后续节点,其中St0_o为终止状态节点,不再继续转换该分支。继续以St3作为父节点,St3有一个后续节点St2,其中St2在父节点中出现过,说明出现循环,停止转换过程,至此,完成全部状态节点的转换,转换结果参见图6。
值得一提的是,如果应用层通信协议的相关数据包的相关数据元素取值的变化与状态循环具有耦合的关系,那么在生成状态树时需要增加这种约束关系,形成满足耦合关系的状态转换约束。具体的,需要在基础状态转换序列增加相应的循环序列满足路径转换,此时,原基础序列为局部非法序列。
步骤S205:遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。根据各个所述路径,生成多个状态转换序列。
具体的,根据深度优先原则,从树根节点到树叶节点遍历如图6所示的状态树,如果树叶节点已经在状态序列中出现,说明存在循环状态转换,停止计算,并与该节点到达终止节点的状态序列拼接成为整条状态转换序列。最终得到的多个状态转换序列如表7所示。
表7
Figure BDA0001860379940000141
Figure BDA0001860379940000151
步骤S206:根据所述状态转换序列,选择数据包中各个数据元素的取值,得到数据元素序列,如表7所示。
下面对本发明实施例提供的一种应用层通信协议的状态转换序列生成装置进行介绍,下文描述的一种应用层通信协议的状态转换序列生成装置与上文描述的一种应用层通信协议的状态转换序列生成方法可相互对应参照。
该装置实施例应用于基于串行接口进行通信的系统,如图7所示,该装置实施例包括:
状态转换关系确定模块710:用于响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;
状态转换图生成模块720:用于根据所述状态转换关系,生成状态转换图;
路径确定模块730:用于遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;
状态转换序列生成模块740:用于根据各个所述路径,生成多个状态转换序列。
在一些具体的实施方式中,所述状态转换关系确定模块710包括:
目标数据元素确定单元:用于响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
状态转换关系确定单元:用于根据所述目标数据元数的不同取值,确定所述系统的状态转换关系。
在一些具体的实施方式中,所述路径确定模块730包括:
转换单元:用于以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历单元:用于遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
在一些具体的实施方式中,所述装置还包括:
约束关系获取模块750:用于获取所述应用层通信协议的数据元素约束关系;
调整模块760:用于根据所述数据元素约束关系,对所述状态转换序列进行调整。
在一些具体的实施方式中,所述装置还包括:
判断模块770:用于判断所述状态转换图是否包括终止状态节点;
拆分模块780:用于若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
在一些具体的实施方式中,所述拆分模块780包括:
目标状态节点确定单元:用于若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,所述距离;
拆分单元:用于从所述目标状态节点拆分出终止状态节点。
本实施例的一种应用层通信协议的状态转换序列生成装置用于实现前述的一种应用层通信协议的状态转换序列生成方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本发明还提供了一种应用层通信协议的状态转换序列生成设备,应用于基于串行接口进行通信的系统,包括:
存储器:用于存储计算机程序;
处理器:用于在执行所述计算机程序时以实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;根据所述状态转换关系,生成状态转换图;遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;根据各个所述路径,生成多个状态转换序列。
在一些具体的实施方式中,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
根据所述目标数据元数的不同取值,确定所述系统的状态转换关系。
在一些具体的实施方式中,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
在一些具体的实施方式中,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
获取所述应用层通信协议的数据元素约束关系;
根据所述数据元素约束关系,对所述状态转换序列进行调整。
在一些具体的实施方式中,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
判断所述状态转换图是否包括终止状态节点;
若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
在一些具体的实施方式中,所述处理器执行所述存储器中存储的计算机程序时,可以具体实现以下步骤:
若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,所述距离;
从所述目标状态节点拆分出终止状态节点。
本实施例的一种应用层通信协议的状态转换序列生成设备用于实现前述的一种应用层通信协议的状态转换序列生成方法,因此其作用与上述方法的作用相对应,这里不再赘述。
最后,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;根据所述状态转换关系,生成状态转换图;遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;根据各个所述路径,生成多个状态转换序列。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
根据所述目标数据元数的不同取值,确定所述系统的状态转换关系。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
获取所述应用层通信协议的数据元素约束关系;
根据所述数据元素约束关系,对所述状态转换序列进行调整。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
判断所述状态转换图是否包括终止状态节点;
若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
在一些具体的实施方式中,所述计算机可读存储介质上的计算机程序被处理器执行时,可以具体实现以下步骤:
若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,所述距离;
从所述目标状态节点拆分出终止状态节点。
本实施例的一种计算机可读存储介质用于实现前述的一种应用层通信协议的状态转换序列生成方法,因此其作用与上述方法的作用相对应,这里不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种应用层通信协议的状态转换序列生成方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (7)

1.一种应用层通信协议的状态转换序列生成方法,应用于基于串行接口进行通信的系统,其特征在于,包括:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;
根据所述状态转换关系,生成状态转换图;
遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;
根据各个所述路径,生成多个状态转换序列;
所述响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系,包括:
响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
根据所述目标数据元素的不同取值,确定所述系统的状态转换关系;
在所述遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径之前,还包括:
判断所述状态转换图是否包括终止状态节点;
若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
2.如权利要求1所述的方法,其特征在于,所述遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径,包括:
以所述状态转换图中的起始状态节点为根节点,将所述状态转换图转换为状态树;
遍历所述状态树,确定从起始状态节点到终止状态节点的多个路径。
3.如权利要求2所述的方法,其特征在于,在所述根据各个所述路径,生成多个状态转换序列之后,包括:
获取所述应用层通信协议的数据元素约束关系;
根据所述数据元素约束关系,对所述状态转换序列进行调整。
4.如权利要求1-3任意一项所述的方法,其特征在于,所述若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点,包括:
若所述状态转换图不包括终止状态节点,则确定在所述状态转换图中与起始状态节点之间状态节点数量最少的目标状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点;
从所述目标状态节点拆分出终止状态节点。
5.一种应用层通信协议的状态转换序列生成装置,应用于基于串行接口进行通信的系统,其特征在于,包括:
状态转换关系确定模块:用于响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定所述系统的状态转换关系;
状态转换图生成模块:用于根据所述状态转换关系,生成状态转换图;
路径确定模块:用于遍历所述状态转换图,确定从起始状态节点到终止状态节点的多个路径;
状态转换序列生成模块:用于根据各个所述路径,生成多个状态转换序列;
所述状态转换关系确定模块包括:
目标数据元素确定单元:用于响应于生成状态转换序列的指令,对基于串行接口进行通信的系统的应用层通信协议进行分析,确定满足所述应用层通信协议的数据包中的目标数据元素;
状态转换关系确定单元:用于根据所述目标数据元素的不同取值,确定所述系统的状态转换关系;
在所述路径确定模块之前,还包括:
判断模块:用于判断所述状态转换图是否包括终止状态节点;
拆分模块:用于若所述状态转换图不包括终止状态节点,则从所述状态转换图中的目标状态节点拆分出终止状态节点,其中,所述目标状态节点为既作为起点又作为终点的状态节点。
6.一种应用层通信协议的状态转换序列生成设备,应用于基于串行接口进行通信的系统,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序以实现如权利要求1-4任意一项所述的一种应用层通信协议的状态转换序列生成方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-4任意一项所述的一种应用层通信协议的状态转换序列生成方法的步骤。
CN201811332438.4A 2018-11-09 2018-11-09 一种应用层通信协议的状态转换序列生成方法 Active CN109446146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811332438.4A CN109446146B (zh) 2018-11-09 2018-11-09 一种应用层通信协议的状态转换序列生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811332438.4A CN109446146B (zh) 2018-11-09 2018-11-09 一种应用层通信协议的状态转换序列生成方法

Publications (2)

Publication Number Publication Date
CN109446146A CN109446146A (zh) 2019-03-08
CN109446146B true CN109446146B (zh) 2022-02-08

Family

ID=65552494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811332438.4A Active CN109446146B (zh) 2018-11-09 2018-11-09 一种应用层通信协议的状态转换序列生成方法

Country Status (1)

Country Link
CN (1) CN109446146B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078483A (zh) * 2019-12-31 2020-04-28 中国科学院长春光学精密机械与物理研究所 通信协议状态转换序列生成方法
CN116756233B (zh) * 2023-08-23 2023-11-07 博智安全科技股份有限公司 一种态势数据处理方法、装置、电子设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3277887B2 (ja) * 1998-06-19 2002-04-22 日本電気株式会社 送受信方法、送受信回路および送受信回路の制御方法
CN100484140C (zh) * 2005-07-15 2009-04-29 复旦大学 一种规范驱动的网格工作流描述和验证方法
CN100472470C (zh) * 2005-12-22 2009-03-25 中兴通讯股份有限公司 一种实现测试用例自动化运行的方法
CN103036730B (zh) * 2011-09-29 2015-09-23 西门子公司 一种对协议实现进行安全测试的方法及装置
CN102968368A (zh) * 2012-08-30 2013-03-13 中国人民解放军63928部队 一种遍历场景状态图的嵌入式测试用例设计与生成方法
CN103198012A (zh) * 2013-04-25 2013-07-10 李姮乐 一种基于扩展状态机图的测试用例自动产生方法
CN104767744B (zh) * 2015-03-25 2018-05-15 中国人民解放军理工大学 基于协议知识的协议状态机主动推断方法
CN105337801B (zh) * 2015-11-10 2018-07-31 上海斐讯数据通信技术有限公司 一种适用于交换机协议的基于状态机的测试用例设计方法
CN106874339B (zh) * 2016-12-20 2020-12-08 北京华宇信息技术有限公司 一种有向循环图的展示方法及其应用

Also Published As

Publication number Publication date
CN109446146A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
EP2460258B1 (en) Method and device for auto-generating goose signal connection topology from substation level
CN109561104A (zh) 一种通信协议转换方法及装置
CN109447276B (zh) 一种机器学习系统、设备及应用方法
CN110046091B (zh) 一种自动测试方法和装置
CN109446146B (zh) 一种应用层通信协议的状态转换序列生成方法
CN115277882B (zh) Can报文数据库建立方法、装置、车载电子设备及存储介质
CN110888672B (zh) 一种基于元数据架构的表达式引擎实现方法及系统
CN108153896B (zh) 针对输入数据、输出数据的处理方法及装置
CN113900810A (zh) 分布式图处理方法、系统及存储介质
US9880923B2 (en) Model checking device for distributed environment model, model checking method for distributed environment model, and medium
CN111078483A (zh) 通信协议状态转换序列生成方法
CN113691403B (zh) 拓扑节点配置方法、相关装置及计算机程序产品
KR101982308B1 (ko) 프로토콜 모델 생성 장치 및 모델링 방법
CN111193631A (zh) 信息处理方法、系统和计算机可读存储介质
CN115437808A (zh) 联邦学习平台之间的互通方法、装置、设备、介质及产品
CN114817389A (zh) 数据处理方法、装置、存储介质及电子设备
CN107544789B (zh) 一种拓扑适配方法和装置
US10067816B2 (en) Model checking apparatus and method, and storage medium having program stored therein
CN110377463A (zh) 接口测试方法、装置、终端及计算机可读存储介质
CN116957170B (zh) 一种电力系统优化问题的约束集约减方法及系统
CN111580821A (zh) 脚本绑定方法、装置、电子设备及计算机可读存储介质
CN115250251B (zh) 片上网络仿真中的传输路径规划方法、装置、电子设备及计算机可读存储介质
Eichelberger A matter of the mix: Integration of compile and runtime variability
CN116483597B (zh) 一种数据共享方法、装置、设备和存储介质
CN113641520B (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
GR01 Patent grant
GR01 Patent grant