一种在仿真运行中并行行为执行冲突检测方法及存储介质

著录项
  • CN202110169661.7
  • 20210207
  • CN112799788A
  • 20210514
  • 北京华如科技股份有限公司
  • 谭雄;陈招迪;毛敏慧;孙昊
  • G06F9/455
  • G06F9/455

  • 北京市海淀区西北旺东路10号院东区14号楼君正大厦B座三层301-305室、四层401-410室
  • 北京(11)
  • 北京棘龙知识产权代理有限公司
  • 谢静
摘要
一种在仿真运行中并行行为执行冲突检测方法,通过引入控制权的概念,在装备组件中创建并维护控制信息,行为组件在控制使用装备组件时需要提出申请,装备组件通过对比“控制者”和申请者来实现对装备组件的控制使用是否发生冲突。行为组件这种先申请后使用的方式,保证了能在并行行为执行时及时的检测出是否发生冲突,为后续消解冲突提供了必要的前提保障,且方式简单,运算量小。
权利要求

1.一种在仿真运行中并行行为执行冲突检测方法,其特征在于,包括如下步骤:

装备组件控制信息初始化步骤S110:

对于每一个装备组件均创建并初始化一个对应的控制信息,所述控制信息用于描述装备组件被控制使用的状态,所述控制信息包括正在控制此装备组件的行为组件的标识,即“控制者”;

装备组件查步骤S120:

行为组件在执行本身的逻辑过程中,遇到需要控制使用仿真对象资源时,先向仿真对象查询是否装配了对应类型的装备组件,仿真对象如果装配了对应的装备组件则返回装备组件的标识作为查询结果,否则返回无效值;

控制权申请步骤S130:

所述行为组件在查询到仿真对象有对应的装备组件后,根据装备组件的标识,向装备组件提出对其控制使用的控制权申请,即向装备组件申请控制权,所述控制权申请的内容包括需要控制使用的装备组件标识和提出申请的行为组件自身的标识;

控制申请处理步骤S140:

所述装备组件将所述控制权申请与所述控制信息进行比对,确认“控制者”和申请者对装备组件的控制使用是否存在冲突;

行为组件控制装备组件步骤S150:

如果行为组件在成功获取到装备组件的控制权后,就可以继续按照行为的设计流程对装备进行控制使用,如果行为组件在获取装备组件的控制权失败后,行为组件执行预先设定的获取控制权失败的流程。

控制使用结束步骤S160:

当行为组件完成对装备组件的控制使用后,通知装备组件释放控制权,装备组件将控制信息中的“控制者”移除,以供后续行为组件在申请控制使用时能正常获取到控制权。

2.根据权利要求1所述的冲突检测方法,其特征在于,

在所述控制申请处理步骤S140中,所述装备组件将所述控制权申请与所述控制信息进行比对具体包括:

装备组件首先查询自身的控制信息,如果所述控制信息中不存在“控制者”,意味着此装备组件可以被申请的行为组件进行控制使用,则行为组件成功获取到装备组件的控制权,并将控制信息中的“控制者”设为提出申请的行为组件的标识;否则对控制信息中的“控制者”和申请控制权信息中的发出申请的行为组件进行比对,如果两者相同,同样说明行为组件成功获取控制权;如果两者不同,说明装备组件此时正被其它的行为组件控制使用,两个行为组件在对装备组件的控制使用上出现了冲突,即检测到并行行为对仿真对象的资源占用和使用上的冲突。

3.根据权利要求2所述的冲突检测方法,其特征在于,

在步骤S110中,

如果在所述控制信息中不存在行为组件的标识,即“控制者”不存在,则表示此装备组件当前没有被任何行为组件控制使用,行为组件只有在获取到装备组件的控制权后,即装备组件的控制信息中的“控制者”为自身时,行为组件方可对其进行控制使用。

4.根据权利要求3所述的冲突检测方法,其特征在于,

所述行为组件和所述装备组件都采用全局唯一标识作为自身的标识。

5.根据权利要求3或4所述的冲突检测方法,其特征在于,

在装备组件查步骤S120中,所述行为组件只有在查询结果有效时才继续执行后续控制使用装备组件的逻辑,否则执行处理仿真对象缺少必要装备组件的逻辑。

6.根据权利要求2所述的冲突检测方法,其特征在于:

所述行为组件表示:对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理;

所述装备组件表示:仿真对象一种有限的资源,用来模拟仿真对象的物理固有属性。

7.一种存储介质,用于存储计算机可执行指令,其特征在于:

所述计算机可执行指令在被处理器执行时执行权利要求1-6中任意一项所述的在仿真运行中并行行为执行冲突检测方法。

说明书
技术领域

本发明涉及仿真领域,具体的,涉及在仿真运行中并行行为执行冲突检测方法及存储介质。

现实世界中的对象往往包含多种同时进行的行为。不同行为在具体执行时需要占用和使用资源,但对象的资源是有限的,因此在使用资源时需要协调各行为。在仿真中,多种行为并行执行时,对有限资源的占用可能存在冲突。为了保证每个行为在并行执行过程中的逻辑正确性,行为在占用对象资源发生冲突时需要及时检测出来,并进行后续消解冲突。因此检测并行行为执行冲突是保证仿真对象行为正常执行的前提。

现有技术通过资源调度的方式来解决并行行为执行中出现的冲突问题。这种方法在进行资源调度时遵循非抢夺原则,即正在执行的行为在其执行结束前,它所占用的资源不被其它行为抢夺。这样虽然规避了冲突检测的过程,直接通过资源规划来避免冲突,而现实中对象的行为在对资源进行占用时往往会发生抢夺资源的情况,因此上述方法使用时有局限性。关于并行行为执行中出现的冲突问题尚未有专门的研究。

在建模仿真中,仿真对象的行为模拟对象的逻辑分析、操作行动的能力,常常需要对仿真对象有限的固有资源进行占用和使用。组件化建模作为最常用的建模仿真方式方式之一,其装备组件可以看作是仿真对象的一种有限资源,供行为组件进行使用。行为组件执行过程中需要控制装备组件何时工作、以怎样的方式工作。在同一个仿真对象中往往会装配多个行为组件模型,用来对仿真对象同时执行的不同行为进行仿真。而所有的行为组件模型在执行过程中是对同一个仿真对象的装备组件进行控制,就会出现各个行为组件模型在并行执行时对装备组件控制冲突的情况,导致行为组件模型在执行中出现逻辑错误。

因此,如何在仿真运行中检测出行为组件对于装备组件控制冲突的情况,导致行为组件模型在执行中出现逻辑错误,并进一步的为冲突的消除打下基础,成为现有技术亟需解决的技术问题。

本发明的目的在于提出一种在仿真运行中并行行为执行冲突检测方法及存储介质,

为达此目的,本发明采用以下技术方案:

一种在仿真运行中并行行为执行冲突检测方法,其特征在于,包括如下步骤:

装备组件控制信息初始化步骤S110:

对于每一个装备组件均创建并初始化一个对应的控制信息,所述控制信息用于描述装备组件被控制使用的状态,所述控制信息包括正在控制此装备组件的行为组件的标识,即“控制者”;

装备组件查步骤S120:

行为组件在执行本身的逻辑过程中,遇到需要控制使用仿真对象资源时,先向仿真对象查询是否装配了对应类型的装备组件,仿真对象如果装配了对应的装备组件则返回装备组件的标识作为查询结果,否则返回无效值;

控制权申请步骤S130:

所述行为组件在查询到仿真对象有对应的装备组件后,根据装备组件的标识,向装备组件提出对其控制使用的控制权申请,即向装备组件申请控制权,所述控制权申请的内容包括需要控制使用的装备组件标识和提出申请的行为组件自身的标识;

控制申请处理步骤S140:

所述装备组件将所述控制权申请与所述控制信息进行比对,确认“控制者”和申请者对装备组件的控制使用是否存在冲突;

行为组件控制装备组件步骤S150:

如果行为组件在成功获取到装备组件的控制权后,就可以继续按照行为的设计流程对装备进行控制使用,如果行为组件在获取装备组件的控制权失败后,行为组件执行预先设定的获取控制权失败的流程。

控制使用结束步骤S160:

当行为组件完成对装备组件的控制使用后,通知装备组件释放控制权,装备组件将控制信息中的“控制者”移除,以供后续行为组件在申请控制使用时能正常获取到控制权。

可选的,在所述控制申请处理步骤S140中,所述装备组件将所述控制权申请与所述控制信息进行比对具体包括:

装备组件首先查询自身的控制信息,如果所述控制信息中不存在“控制者”,意味着此装备组件可以被申请的行为组件进行控制使用,则行为组件成功获取到装备组件的控制权,并将控制信息中的“控制者”设为提出申请的行为组件的标识;否则对控制信息中的“控制者”和申请控制权信息中的发出申请的行为组件进行比对,如果两者相同,同样说明行为组件成功获取控制权;如果两者不同,说明装备组件此时正被其它的行为组件控制使用,两个行为组件在对装备组件的控制使用上出现了冲突,即检测到并行行为对仿真对象的资源占用和使用上的冲突。

可选的,在步骤S110中,

如果在所述控制信息中不存在行为组件的标识,即“控制者”不存在,则表示此装备组件当前没有被任何行为组件控制使用,行为组件只有在获取到装备组件的控制权后,即装备组件的控制信息中的“控制者”为自身时,行为组件方可对其进行控制使用。

可选的,所述行为组件和所述装备组件都采用全局唯一标识作为自身的标识。

可选的,所述行为组件表示:对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理。

所述装备组件表示:仿真对象一种有限的资源,用来模拟仿真对象的物理固有属性,例如用来仿真运动功能的机动组件、探测功能的传感器组件、通信功能的通信组件等。

可选的,在装备组件查步骤S120中,所述行为组件只有在查询结果有效时才继续执行后续控制使用装备组件的逻辑,否则执行处理仿真对象缺少必要装备组件的逻辑。

本发明进一步公开了一种存储介质,用于存储计算机可执行指令,其特征在于:

所述计算机可执行指令在被处理器执行时执行上述的在仿真运行中并行行为执行冲突检测方法。

本发明采用先申请后使用的方式,能够在并行行为执行时及时的检测出是否发生冲突,为后续消解冲突提供了必要的前提保障,且方式简单,运算量小。

图1是根据本发明的在仿真运行中并行行为执行冲突检测方法的流程图;

图2是根据本发明的冲突检测方法中装备组件处理行为组件的申请步骤的具体流程;

图3是根据本发明具体实施例的控制信息的示意图;

图4是根据本发明具体实施例的申请控制信息的示意图。

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

本发明具有如下的概念和信息:

1.组件化建模

将仿真对象具有的运动能力、感知能力、通信能力、行为能力等设计为功能组件,通过组件的合理装配得到仿真对象上。一般将组件分为模拟物理装备的装备组件和模拟逻辑行为的行为组件两类。

2.行为组件

对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理,如运输能力、指挥能力、调度能力等。

3.装备组件

装备组件用来模拟仿真对象的物理固有属性,可以看作仿真对象一种有限的资源。例如用来仿真运动功能的机动组件、探测功能的传感器组件、通信功能的通信组件等。

4.控制权

描述装备组件的控制使用权限。具体实现为装备组件创建并维护一个控制信息,其中记录着此装备组件被使用的情况。只有获取到装备组件的控制权,行为组件才能对装备组件进行控制和使用。

5.并行行为

在仿真过程中,仿真对象会同时执行不同的行动。这种同时执行的动作即为并行行为,在仿真中并行行为是通过在仿真对象上同时搭载多个不同的行为组件来实现的。

6.执行冲突

并行行为在执行过程中,仿真对象不同的行为对有限的资源进行控制使用。在一个行为对仿真对象的资源进行控制使用时,同时另一个行为也要对此资源进行控制使用,从而出现仿真对象的资源同时被两种行为同时控制的现象。当两种行为控制仿真对象资源的动作不一致时,就会引起执行冲突。

本发明主要在于通过引入控制权的概念,在装备组件中创建并维护控制信息,行为组件在控制使用装备组件时需要提出申请,装备组件通过对比“控制者”和申请者来实现对装备组件的控制使用是否发生冲突。行为组件这种先申请后使用的方式,保证了能在并行行为执行时及时的检测出是否发生冲突,为后续消解冲突提供了必要的前提保障。

具体的,参见图1,示出了根据本发明的在仿真运行中并行行为执行冲突检测方法的流程图,

该方法包括如下步骤:

装备组件控制信息初始化步骤S110:

对于每一个装备组件均创建并初始化一个对应的控制信息,所述控制信息用于描述装备组件被控制使用的状态,所述控制信息包括正在控制此装备组件的行为组件的标识,即“控制者”。

参见图3,列出了控制信息的示意图。

进一步的,如果在所述控制信息中不存在行为组件的标识,即“控制者”不存在,则表示此装备组件当前没有被任何行为组件控制使用,行为组件只有在获取到装备组件的控制权后,即装备组件的控制信息中的“控制者”为自身时,行为组件方可对其进行控制使用。

装备组件查步骤S120:

行为组件在执行本身的逻辑过程中,遇到需要控制使用仿真对象资源时,先向仿真对象查询是否装配了对应类型的装备组件,仿真对象如果装配了对应的装备组件则返回装备组件的标识作为查询结果,否则返回无效值。

进一步的,所述行为组件只有在查询结果有效时才继续执行后续控制使用装备组件的逻辑,否则执行处理仿真对象缺少必要装备组件的逻辑。

控制权申请步骤S130:

所述行为组件在查询到仿真对象有对应的装备组件后,根据装备组件的标识,向装备组件提出对其控制使用的控制权申请,即向装备组件申请控制权。参见图4,所述控制权申请内容包括需要控制使用的装备组件标识和提出申请的行为组件自身的标识。

控制申请处理步骤S140:

所述装备组件将所述控制权申请与所述控制信息进行比对,确认“控制者”和申请者对装备组件的控制使用是否存在冲突。

具体的,参见图2,所述装备组件将所述控制权申请与所述控制信息进行比对具体包括:装备组件首先查询自身的控制信息,如果所述控制信息中不存在“控制者”,意味着此装备组件可以被申请的行为组件进行控制使用,则行为组件成功获取到装备组件的控制权,并将控制信息中的“控制者”设为提出申请的行为组件的标识;否则对控制信息中的“控制者”和申请控制权信息中的发出申请的行为组件进行比对,如果两者相同,同样说明行为组件成功获取控制权;如果两者不同,说明装备组件此时正被其它的行为组件控制使用,两个行为组件在对装备组件的控制使用上出现了冲突,即检测到并行行为对仿真对象的资源占用和使用上的冲突。

行为组件控制装备组件步骤S150:

如果行为组件在成功获取到装备组件的控制权后,就可以继续按照行为的设计流程对装备进行控制使用,如果行为组件在获取装备组件的控制权失败后,行为组件执行预先设定的获取控制权失败的流程。

控制使用结束步骤S160:

当行为组件完成对装备组件的控制使用后,通知装备组件释放控制权,装备组件将控制信息中的“控制者”移除,以供后续行为组件在申请控制使用时能正常获取到控制权。

进一步的,在本发明中,所述行为组件和所述装备组件都采用全局唯一标识作为自身的标识。

在本发明中,所述行为组件表示:对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理。

所述装备组件表示:仿真对象一种有限的资源,用来模拟仿真对象的物理固有属性,例如用来仿真运动功能的机动组件、探测功能的传感器组件、通信功能的通信组件等。

本发明中的其他并行执行的行为组件,在控制使用装备组件时都遵从以上流程。在控制申请处理步骤S140中,通过比对装备组件中控制信息的“控制者”和申请控制权信息中的发出申请的行为组件,来对并行行为的执行冲突进行检测。

如果两者相同或者装备组件中控制信息的“控制者”不存在,则并行行为执行没有冲突;如果装备组件中控制信息的“控制者”存在且两者不同,则并行行为执行过程中出现了冲突。

本发明进一步公开了一种存储介质,用于存储计算机可执行指令,其特征在于:

所述计算机可执行指令在被处理器执行时执行上述的在仿真运行中并行行为执行冲突检测方法。

本发明采用先申请后使用的方式,能够在并行行为执行时及时的检测出是否发生冲突,为后续消解冲突提供了必要的前提保障。

显然,本领域技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定保护范围。

本文发布于:2024-09-24 22:23:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/85930.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议