当前位置: 首页 > 专利查询>王铭鑫专利>正文

树形原子状态机及其控制逻辑接口的实现方法及装置制造方法及图纸

技术编号:15895036 阅读:41 留言:0更新日期:2017-07-28 19:41
本发明专利技术提供了树形原子状态机、树形原子状态机控制逻辑接口的实现方法及装置,对Phaser Accumulator的分治思想进行了改进,所述树形原子状态机通过拆分访问点的方式在一定程度上可以降低修改的复杂度,例如在使用的并发调用方法不需要原子状态机实时的精确状态时,只需要判断每一次的向后转移操作是否成功即可,所以无需引入Phaser Accumulator的读取复杂度。使用该树形原子状态机可以在控制对于原子状态机实体的局部读写的并发上限的同时降低修改操作的复杂度,从而提高修改效率。

Tree type atomic state machine and method and device for implementing control logic interface thereof

The present invention provides a method and a device for realizing the control logic interface tree atomic state machine, tree atomic state machine, the Phaser Accumulator algorithm was improved, the tree atomic state machine by splitting the access point to a certain extent can reduce the complexity of the modification, such as concurrent calls using the method does not need the exact state of atomic state machine in real time, only need to judge every backward transfer operation is successful, so no need to introduce Phaser Accumulator read complexity. By using the tree state machine, the concurrency limit of the local read and write for the atomic state machine entities can be controlled, and the complexity of the modification operation can be reduced, thereby improving the modification efficiency.

【技术实现步骤摘要】
树形原子状态机及其控制逻辑接口的实现方法及装置
本专利技术涉及并发程序设计方法,尤其涉及树形原子状态机、树形原子状态机控制逻辑接口的实现方法及装置。
技术介绍
控制原子状态机实体的局部读写的并发上限是当前并发程序设计中受到广泛关注的问题。在控制原子状态机实体的局部读写的并发上限上,PhaserAccumulator采用了分治的思想,将一个整数拆分成多个单元,从而增加了对整数增加的“带宽”,但对于读取的复杂度却增加了,因为读取操作需要遍历所有的单元。
技术实现思路
本专利技术的目的是提供树形原子状态机、树形原子状态机控制逻辑接口的实现方法及装置,旨在解决控制原子状态机实体的局部读写的并发上限的同时降低读取的复杂度的问题。本专利技术解决其技术问题所采用的技术方案是:一种树形原子状态机,每个树形原子状态机实体包括若干个节点实体,每个节点实体维护一个原子状态机实体和一个节点实体的引用;所述原子状态机实体存在n种状态可以一一映射到小于n的全部非负整数,n为正整数;所述节点实体的引用用于提供节点实体的寻址方式。在上述实施例的基础上,进一步地,所述节点实体的引用由编程语言确定。在上述实施例的基础上,进一步地,当编程语言为C++时,所述节点实体的引用是指针或引用;当编程语言为Java时,所述节点实体的引用是引用或特定标识符。在上述任意实施例的基础上,进一步地,每个节点实体维护的原子状态机实体存在MAX_N种状态可以一一映射到小于MAX_N的全部非负整数,MAX_N为正整数。在上述任意实施例的基础上,进一步地,当一个节点实体维护的节点实体的引用有效,且该节点实体无效时,对应该节点实体的权值为1;所述树形原子状态机实体表示的状态到整数的映射值等于其全部节点表示的状态到整数的映射值之和。一种上述任一项实施例中树形原子状态机控制逻辑接口的实现方法,包括:语义需求文档获取步骤:接收用户对编程语言的选择指令,确定编程语言;查询与编程语言相应的语义需求文档,所述语义需求文档包括逻辑接口和与逻辑接口相应的语义需求;所述逻辑接口包括线性缓冲区逻辑接口、树形原子状态机初始化器逻辑接口、树形原子状态转移器逻辑接口中的一种或多种;代码获取步骤:获取数据结构;所述数据结构包括可堆叠线性缓冲区数据结构和树形原子状态机节点数据结构;获取树形原子状态机过程;所述树形原子状态机过程包括可堆叠线性缓冲区-取出过程、可堆叠线性缓冲区-加入过程、树形原子状态机-节点-初始化过程、树形原子状态机-初始化器-初始化过程、树形原子状态机-转移器-增加过程、树形原子状态机-转移器-条件减少过程;查询数据结构的代码;根据数据结构的代码,获取可堆叠线性缓冲区-取出过程的代码、可堆叠线性缓冲区-加入过程的代码、树形原子状态机-节点-初始化过程的代码、树形原子状态机-初始化器-初始化过程的代码、树形原子状态机-转移器-增加过程的代码、树形原子状态机-转移器-条件减少过程的代码;根据语义需求文档,利用可堆叠线性缓冲区-取出过程的代码、可堆叠线性缓冲区-加入过程的代码、树形原子状态机-节点-初始化过程的代码、树形原子状态机-初始化器-初始化过程的代码、树形原子状态机-转移器-增加过程的代码、树形原子状态机-转移器-条件减少过程的代码,获取与逻辑接口相应的树形原子状态机初始化器的代码、树形原子状态转移器的代码;调用步骤:确定调用代码的类型;所述调用代码的类型包括树形原子状态机初始化器的代码和树形原子状态转移器的代码;当调用代码的类型为树形原子状态机初始化器的代码时,调用树形原子状态机初始化器的代码,以实现用户需求;当调用代码的类型为树形原子状态转移器的代码时,调用树形原子状态转移器的代码,以实现用户需求。一种上述任一项实施例中树形原子状态机控制逻辑接口的实现装置,其特征在于,包括:语义需求文档获取模块,用于:接收用户对编程语言的选择指令,确定编程语言;查询与编程语言相应的语义需求文档,所述语义需求文档包括逻辑接口和与逻辑接口相应的语义需求;所述逻辑接口包括线性缓冲区逻辑接口、树形原子状态机初始化器逻辑接口、树形原子状态转移器逻辑接口中的一种或多种;代码获取模块,用于:获取数据结构;所述数据结构包括可堆叠线性缓冲区数据结构和树形原子状态机节点数据结构;获取树形原子状态机过程;所述树形原子状态机过程包括可堆叠线性缓冲区-取出过程、可堆叠线性缓冲区-加入过程、树形原子状态机-节点-初始化过程、树形原子状态机-初始化器-初始化过程、树形原子状态机-转移器-增加过程、树形原子状态机-转移器-条件减少过程;查询数据结构的代码;根据数据结构的代码,获取可堆叠线性缓冲区-取出过程的代码、可堆叠线性缓冲区-加入过程的代码、树形原子状态机-节点-初始化过程的代码、树形原子状态机-初始化器-初始化过程的代码、树形原子状态机-转移器-增加过程的代码、树形原子状态机-转移器-条件减少过程的代码;根据语义需求文档,利用可堆叠线性缓冲区-取出过程的代码、可堆叠线性缓冲区-加入过程的代码、树形原子状态机-节点-初始化过程的代码、树形原子状态机-初始化器-初始化过程的代码、树形原子状态机-转移器-增加过程的代码、树形原子状态机-转移器-条件减少过程的代码,获取与逻辑接口相应的树形原子状态机初始化器的代码、树形原子状态转移器的代码;调用模块,用于:确定调用代码的类型;所述调用代码的类型包括树形原子状态机初始化器的代码和树形原子状态转移器的代码;当调用代码的类型为树形原子状态机初始化器的代码时,调用树形原子状态机初始化器的代码,以实现用户需求;当调用代码的类型为树形原子状态转移器的代码时,调用树形原子状态转移器的代码,以实现用户需求。本专利技术的有益效果是:本专利技术提供了树形原子状态机、树形原子状态机控制逻辑接口的实现方法及装置,对PhaserAccumulator的分治思想进行了改进,所述树形原子状态机通过拆分访问点的方式在一定程度上可以降低修改的复杂度,例如在使用的并发调用方法不需要原子状态机实时的精确状态时,只需要判断每一次的向后转移操作是否成功即可,所以无需引入PhaserAccumulator的读取复杂度。使用该树形原子状态机可以在控制对于原子状态机实体的局部读写的并发上限的同时降低修改操作的复杂度,从而提高修改效率。附图说明下面结合附图和实施例对本专利技术进一步说明。图1示出了本专利技术实施例提供的树形原子状态机的结构示意图;图2示出了本专利技术实施例提供的树形原子状态机控制逻辑接口的实现方法的流程示意图;图3示出了本专利技术实施例提供的树形原子状态机退化为链式结构的初始形态示意图;图4示出了本专利技术实施例提供的树形原子状态机控制逻辑接口的实现装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不限定本专利技术。具体实施例一本专利技术实施例提供了一种树形原子状态机,每个树形原子状态机实体包括若干个节点实体,每个节点实体维护一个原子状态机实体和一个节点实体的引用;所述原子状态机实体存在n种状态可以一一映射到小于n的全部非负整数,n为正整数;所述节点实体的引用用于提供节点实体的寻址方式。如图1所示,Node就是树形本文档来自技高网...
树形原子状态机及其控制逻辑接口的实现方法及装置

【技术保护点】
一种树形原子状态机,其特征在于,每个树形原子状态机实体包括若干个节点实体,每个节点实体维护一个原子状态机实体和一个节点实体的引用;所述原子状态机实体存在n种状态可以一一映射到小于n的全部非负整数,n为正整数;所述节点实体的引用用于提供节点实体的寻址方式。

【技术特征摘要】
1.一种树形原子状态机,其特征在于,每个树形原子状态机实体包括若干个节点实体,每个节点实体维护一个原子状态机实体和一个节点实体的引用;所述原子状态机实体存在n种状态可以一一映射到小于n的全部非负整数,n为正整数;所述节点实体的引用用于提供节点实体的寻址方式。2.根据权利要求1所述的树形原子状态机,其特征在于,所述节点实体的引用由编程语言确定。3.根据权利要求2所述的树形原子状态机,其特征在于,当编程语言为C++时,所述节点实体的引用是指针或引用;当编程语言为Java时,所述节点实体的引用是引用或特定标识符。4.根据权利要求1所述的树形原子状态机,其特征在于,每个节点实体维护的原子状态机实体存在MAX_N种状态可以一一映射到小于MAX_N的全部非负整数,MAX_N为正整数。5.根据权利要求1所述的树形原子状态机,其特征在于,当一个节点实体维护的节点实体的引用有效,且该节点实体无效时,对应该节点实体的权值为1;所述树形原子状态机实体表示的状态到整数的映射值等于其全部节点表示的状态到整数的映射值之和。6.一种权利要求1-5中任一项树形原子状态机控制逻辑接口的实现方法,其特征在于,包括:语义需求文档获取步骤:接收用户对编程语言的选择指令,确定编程语言;查询与编程语言相应的语义需求文档,所述语义需求文档包括逻辑接口和与逻辑接口相应的语义需求;所述逻辑接口包括线性缓冲区逻辑接口、树形原子状态机初始化器逻辑接口、树形原子状态转移器逻辑接口中的一种或多种;代码获取步骤:获取数据结构;所述数据结构包括可堆叠线性缓冲区数据结构和树形原子状态机节点数据结构;获取树形原子状态机过程;所述树形原子状态机过程包括可堆叠线性缓冲区-取出过程、可堆叠线性缓冲区-加入过程、树形原子状态机-节点-初始化过程、树形原子状态机-初始化器-初始化过程、树形原子状态机-转移器-增加过程、树形原子状态机-转移器-条件减少过程;查询数据结构的代码;根据数据结构的代码,获取可堆叠线性缓冲区-取出过程的代码、可堆叠线性缓冲区-加入过程的代码、树形原子状态机-节点-初始化过程的代码、树形原子状态机-初始化器-初始化过程的代码、树形原子状态机-转移器-增加过程的代码、树形原子状态机-转移器-条件减少过程的代码;根据语义需求文档,利用可堆叠线性缓冲区-取出过程的代码、可堆叠线性缓冲区-加入过程的代码、树形原子状态机-节点-初始化过程的代码、树形原子状态机-初始化器-初始化过程的代码、树形原子状态机...

【专利技术属性】
技术研发人员:王铭鑫
申请(专利权)人:王铭鑫
类型:发明
国别省市:重庆,50

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

1