CN112799787B - 一种在仿真运行中改进的并行行为执行冲突消解方法及其存储介质 - Google Patents
一种在仿真运行中改进的并行行为执行冲突消解方法及其存储介质 Download PDFInfo
- Publication number
- CN112799787B CN112799787B CN202110169549.3A CN202110169549A CN112799787B CN 112799787 B CN112799787 B CN 112799787B CN 202110169549 A CN202110169549 A CN 202110169549A CN 112799787 B CN112799787 B CN 112799787B
- Authority
- CN
- China
- Prior art keywords
- control
- component
- behavior
- application
- control right
- 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
Links
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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Abstract
一种在仿真运行中改进的并行行为执行冲突消解方法及存储介质,该方法引入控制权的概念,在装备组件中创建并维护控制信息,行为组件在控制使用装备组件时需要提出申请,只有成功获取到装备组件的控制权后才可以对其进行控制使用。本发明通过控制信息中的“独占控制者”来模拟仿真对象只能被唯一行为控制使用的资源,通过“共享控制列表”来模拟仿真对象可以被多个行为同时控制使用的资源,通过“优先级”来体现不同行为之间的紧急程度。本发明不仅消解了行为组件在控制装备组件产生的冲突,反映了不同行为的紧急程度,同时区分了不同的控制使用方式,进一步提高了仿真的真实性,且方式简单,计算量小。
Description
技术领域
本发明涉及仿真领域,具体的,涉及在仿真运行中并行行为执行冲突消解方法及存储介质。
背景技术
现实世界中的对象往往包含多种同时进行的行为。不同行为在具体执行时需要占用和使用资源,但对象的资源是有限的,因此在使用资源时需要协调各行为。在仿真中,多种行为并行执行时,对有限资源的占用可能存在冲突。当冲突发生时需要及时对冲突进行消解,避免行为在执行过程中出现逻辑混乱。
现有技术往往通过资源分配的方式来消解冲突,即通过资源规划限制一种资源不能同时被两个及以上的行为控制使用。而有的资源是可以同时被不同的行为进行控制使用且不会出现冲突,在消解冲突时如果限制一种资源同时只能被一个行为进行控制就会降低仿真的效率和真实性。
在建模仿真中,仿真对象的行为为了模拟对象的逻辑分析、操作行动的能力,必然需要对仿真对象有限的固有资源进行占用和使用。组件化建模作为最常用的建模仿真方式方式之一,其装备组件可以看作是仿真对象的一种有限资源,供行为组件进行使用。行为组件执行过程中需要控制装备组件何时工作、以怎样的方式工作。在同一个仿真对象中往往会装配多个行为组件模型,用来对仿真对象同时执行的不同行为进行仿真。
有的仿真对象资源只能由一个行为控制,例如设备的开关机、设备的状态转换等,如果被多个行为同时控制使用就会出现冲突,导致行为执行中的逻辑错误。还有一部分资源可以同时被多个行为控制使用但不会引起冲突,例如音响可以同时播放不同的声音。这样就需要区分对资源控制使用的不同方式。
因此,如何在仿真运行中检测出行为组件对于装备组件控制冲突的情况,并进一步消除冲突,具体的,能够满足对于对于装备组件共享使用的需求,成为现有技术亟需解决的技术问题。
发明内容
本发明的目的在于提出一种在仿真运行中改进的并行行为执行冲突消解方法及存储介质,不仅消除行为组件在控制装备组件产生的冲突,也体现仿真不同行为的紧急程度,并进一步的区分了不同的控制使用方式,进一步提高了仿真的真实性。
为达此目的,本发明采用以下技术方案:
一种在仿真运行中改进的并行行为执行冲突消解方法,其特征在于,包括如下步骤:
装备组件控制信息初始化步骤S110:
对于每一个装备组件均创建并初始化一个对应的控制信息,所述控制信息用于描述装备组件被控制使用的状态,包括“独占控制者”、“控制权申请列表”和“共享控制列表”,所述“独占控制者”指的是正在以独占方式控制使用此装备组件的行为组件,包括该行为组件的标识和优先级,“控制权申请列表”中存放着已提出申请控制使用此装备组件,但未被同意的其它行为组件,包括其他行为组件的标识和优先级,“共享控制列表”存放着以共享方式控制使用此装备组件的行为组件,包括行为组件的标识;“控制权申请列表”中的行为组件在等候“独占控制者”结束对装备组件的控制后依次轮流控制使用装备组件;
装备组件查找步骤S120:
行为组件在执行本身的逻辑过程中,遇到需要控制使用仿真对象资源时,先向仿真对象查询是否装配了对应类型的装备组件,仿真对象如果装配了对应的装备组件则返回装备组件的标识作为查询结果,否则返回无效值;
控制权申请步骤S130:
所述行为组件在查询到仿真对象有对应的装备组件后,根据装备组件的标识,向装备组件提出对其控制使用的控制权申请,即向装备组件申请控制权,申请控制权信息的内容包括“发出申请的行为组件”、“需要控制的装备组件”、“控制方式”、“优先级”和“是否排队等候控制权”,所述“发出申请的行为组件”即为当前行为组件标识;“需要控制的装备组件”即为行为组件需要控制使用的装备组件标识;“控制方式”为独占方式或共享方式;“优先级”表示的是当前申请控制权的重要程度,由于独占方式的优先权高于共享方式,因此优先级通常指的是独占方式的优先级;“是否排队等候控制权”表示当向装备组件申请控制权失败后,是直接放弃对装备组件的控制使用,还是将其放入装备组件控制信息中的“控制权申请列表”或“共享控制列表”等候控制权;
控制申请处理步骤S140:
所述装备组件将所述控制权申请与所述控制信息进行比对,通过控制信息中的“独占控制者”来使得仿真对象只能被唯一行为控制使用的资源,通过“优先级”来决定行为组件获取控制权的顺序,通过“控制权申请列表”来实现未获取控制权的行为组件排队等候控制权的释放,通过“共享控制列表”使得装备组件可以同时被不同的行为组件进行控制;
行为组件控制装备组件步骤S150:
如果行为组件在成功获取到装备组件的控制权后,就可以继续按照行为的设计流程对装备进行控制使用,如果行为组件在获取装备组件的控制权失败后,行为组件执行预先设定的获取控制权失败的流程;
控制使用结束步骤S160:
行为组件以独占方式完成对装备组件的控制使用后,装备组件将控制信息中的“独占控制者”移除,释放控制权;以共享方式完成对装备组件的控制使用后,装备组件将其从控制信息中的“共享控制列表”移除,释放控制权。
可选的,所述控制申请处理步骤S140具体为:
按照申请控制的方式分为:独占方式和共享方式;
对于独占方式,包括如下5种情况:
(1)行为组件直接获取控制权
行为组件向装备组件申请独占方式的控制权时,装备组件首先查询自身的控制信息,如果控制信息中的“独占控制者”和“共享控制列表”均没有内容,或者“独占控制者”与“发出申请的行为组件”相同,表示此装备组件可以被申请的行为组件进行控制使用,即行为组件成功获取到装备组件的控制权,并将控制信息中的“独占控制者”设为提出申请的行为组件的标识;
(2)行为组件抢夺共享方式的控制权
当装备组件查询控制信息的“独占控制者”不存在,但“共享控制列表”有内容时,表示装备组件正以共享方式被其它的行为组件控制使用,由于独占方式优于共享方式,因此会夺取共享方式的控制权,具体为:将“独占控制者”改为“发出申请的行为组件”,将“共享控制列表”清空,对于之前“共享控制列表”的内容,如果其“是否排队等候控制权”为是,则将其放入到“控制权申请列表”中,等待控制权被释放后重新获取控制权,否则舍弃其控制信息;
(3)行为组件抢夺独占方式的控制权
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”时,表示此装备组件当前正在被其它行为组件以独占方式进行控制使用,则比较申请控制权信息的“优先级”和“独占控制者”的优先级,如果请求控制权信息的“优先级”更高,则直接抢夺控制权,将装备组件的控制信息中的“独占控制者”改为“发出申请的行为组件”,先前的“独占控制者”如果选择了排队等候控制权则将其放入到“控制权申请队列”中,等待控制权被释放后重新获取控制权;如果未选择排队等候控制权,则先前的“独占控制者”的控制信息直接丢失;
(4)行为组件排队等待控制权
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”,且申请控制权信息的“优先级”低于或等于“控制者”的优先级时,则查询申请控制权信息的“是否排队等待控制权”,如果是则将申请控制权信息放入“控制权申请列表”中,等待控制权被释放后获取控制权;
(5)行为组件申请控制权失败
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”,且申请控制权信息的“优先级”低于或等于“控制者”的优先级时,则查询申请控制权信息的“是否排队等待控制权”。如果为否,则行为组件申请控制权失败;
对于共享方式,包括如下3种情况:
(1)行为组件直接获取控制权
行为组件向装备组件申请共享方式的控制权时,装备组件首先查询自身的控制信息,如果控制信息中的“独占控制者”不存在,表示装备组件没有被独占方式控制使用,直接将控制权申请信息放入到“共享控制列表”中即可获取到控制权,行为组件“共享控制列表”的其它行为组件以共享方式共同对装备组件进行控制使用;
(2)行为组件排队等待控制权
当装备组件查询控制信息的“独占控制者”存在时,表示装备组件正在以独占方式被其它行为组件控制使用,则需要查询申请控制权信息的“是否排队等待控制权”,如果为是,则将申请控制权信息放入“控制权申请列表”中,等待控制权被释放后获取控制权;
(3)行为组件申请控制权失败
当装备组件查询控制信息的“独占控制者”存在时,查询申请控制权信息的“是否排队等待控制权”,如果为否,则行为组件申请控制权失败。
可选的,在装备组件控制信息初始化步骤S110中,装备组件在对控制信息初始化时,“控制者”、“控制权申请列表”和“共享控制列表”均没有内容,表示装备组件没有被任何行为组件控制使用;
只有行为组件作为“独占控制者”或在“共享控制列表”中时,即行为组件拥有控制权时,才可以对装备组件进行控制使用。
可选的,装备组件的控制信息中“控制权申请列表”的内容是根据申请的“控制方式”和“优先级”进行排序的,独占方式的申请优于共享方式的申请,相同控制方式的申请根据优先级的高低进行排序。
可选的,在控制使用结束步骤S160中,
独占方式释放控制权时,装备组件会自动查询“控制权申请列表”,如果列表有内容,则开始处理已排序好的控制权申请信息;如果有独占方式的控制权申请信息,则优先级最高的获得控制权,将其设为“独占控制者”;如果只有共享方式的控制权申请信息,则全部获得控制权,将其全部放入到“共享控制列表”。
可选的,在装备组件查找步骤S120中,所述行为组件只有在查询结果有效时才继续执行后续控制使用装备组件的逻辑,否则执行处理仿真对象缺少必要装备组件的逻辑。
可选的,所述行为组件和所述装备组件都采用全局唯一标识作为自身的标识。
可选的,所述行为组件表示:对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理;
所述装备组件表示:仿真对象一种有限的资源,用来模拟仿真对象的物理固有属性。
本发明进一步公开了一种存储介质,用于存储计算机可执行指令,其特征在于:
所述计算机可执行指令在被处理器执行时执行上述的在仿真运行中改进的并行行为执行冲突检测方法。
本发明通过引入控制权的概念,在装备组件中创建并维护控制信息,行为组件在控制使用装备组件时需要提出申请,只有成功获取到装备组件的控制权后才可以对其进行控制使用。通过控制信息中的“独占控制者”来模拟仿真对象只能被唯一行为控制使用的资源,通过“共享控制列表”来模拟仿真对象可以被多个行为同时控制使用的资源,通过“优先级”来体现不同行为之间的紧急程度。这种方式不仅消解了行为组件在控制装备组件产生的冲突,反映了不同行为的紧急程度,同时区分了不同的控制使用方式,进一步提高了仿真的真实性,且方式简单,计算量小。
附图说明
图1是根据本发明的在仿真运行中改进的并行行为执行冲突消解方法的流程图;
图2是根据本发明的冲突检测方法中包含装备组件处理行为组件的申请步骤的具体流程;
图3是根据本发明具体实施例的控制信息的示意图;
图4是根据本发明具体实施例的申请控制信息的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明具有如下的概念和信息:
1.组件化建模
将仿真对象具有的运动能力、感知能力、通信能力、行为能力等设计为功能组件,通过组件的合理装配得到仿真对象上。一般将组件分为模拟物理装备的装备组件和模拟逻辑行为的行为组件两类。
2.行为组件
对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理,如运输能力、指挥能力、调度能力等。
3.装备组件
装备组件用来模拟仿真对象的物理固有属性,可以看作仿真对象一种有限的资源。例如用来仿真运动功能的机动组件、探测功能的传感器组件、通信功能的通信组件等。
4.控制权
描述装备组件的控制使用权限。具体实现为装备组件创建并维护一个控制信息,其中记录着此装备组件被使用的情况。只有获取到装备组件的控制权,行为组件才能对装备组件进行控制和使用。
5.并行行为
在仿真过程中,仿真对象会同时执行不同的行动。这种同时执行的动作即为并行行为,在仿真中并行行为是通过在仿真对象上同时搭载多个不同的行为组件来实现的。
6.执行冲突
并行行为在执行过程中,仿真对象不同的行为对有限的资源进行控制使用。在一个行为对仿真对象的资源进行控制使用时,同时另一个行为也要对此资源进行控制使用,从而出现仿真对象的资源同时被两种行为同时控制的现象。当两种行为控制仿真对象资源的动作不一致时,就会引起执行冲突。
本发明在于:在对并行行为执行进行仿真中,通过引入控制权的概念,在装备组件中创建并维护控制信息,行为组件在控制使用装备组件时需要提出申请,只有成功获取到装备组件的控制权后才可以对其进行控制使用。通过控制信息中的“独占控制者”来模拟仿真对象只能被唯一行为控制使用的资源,通过“共享控制列表”来模拟仿真对象可以被多个行为同时控制使用的资源,通过“优先级”来体现不同行为之间的紧急程度。这种方式不仅消解了行为组件在控制装备组件产生的冲突,反映了不同行为的紧急程度,同时区分了不同的控制使用方式,进一步提高了仿真的真实性。
参见图1,示出了根据本发明的在仿真运行中改进的并行行为执行冲突消解方法的流程图,
该方法包括如下步骤:
装备组件控制信息初始化步骤S110:
对于每一个装备组件均创建并初始化一个对应的控制信息,所述控制信息用于描述装备组件被控制使用的状态,包括“独占控制者”、“控制权申请列表”和“共享控制列表”,所述“独占控制者”指的是正在以独占方式控制使用此装备组件的行为组件,包括该行为组件的标识和优先级;“控制权申请列表”中存放着已提出申请控制使用此装备组件,但未被同意的其它行为组件,包括其他行为组件的标识和优先级;“共享控制列表”存放着以共享方式控制使用此装备组件的行为组件,包括行为组件的标识;“控制权申请列表”中的行为组件在等候“独占控制者”结束对装备组件的控制后依次轮流控制使用装备组件。
因此可见,本发明中对装备组件的控制包括独占和共享两种方式,独占方式是指装备组件只能被唯一的行为组件所控制使用,共享方式是指装备组件可以被多个行为组件同时控制使用,独占方式的优先级要优与共享方式。
参见图3,列出了控制信息的示意图。
装备组件在对控制信息初始化时,“控制者”、“控制权申请列表”和“共享控制列表”均没有内容,表示装备组件没有被任何行为组件控制使用;只有行为组件作为“独占控制者”或在“共享控制列表”中时,即行为组件拥有控制权时,才可以对装备组件进行控制使用。
装备组件查找步骤S120:
行为组件在执行本身的逻辑过程中,遇到需要控制使用仿真对象资源时,先向仿真对象查询是否装配了对应类型的装备组件,仿真对象如果装配了对应的装备组件则返回装备组件的标识作为查询结果,否则返回无效值。
进一步的,所述行为组件只有在查询结果有效时才继续执行后续控制使用装备组件的逻辑,否则执行处理仿真对象缺少必要装备组件的逻辑。
控制权申请步骤S130:
所述行为组件在查询到仿真对象有对应的装备组件后,根据装备组件的标识,向装备组件提出对其控制使用的控制权申请,即向装备组件申请控制权。
参见图4,申请控制权信息的内容包括“发出申请的行为组件”、“需要控制的装备组件”、“控制方式”、“优先级”和“是否排队等候控制权”。
所述“发出申请的行为组件”即为当前行为组件标识;“需要控制的装备组件”即为行为组件需要控制使用的装备组件标识;“控制方式”为独占方式或共享方式;“优先级”表示的是当前申请控制权的重要程度,由于独占方式的优先权高于共享方式,因此优先级通常指的是独占方式的优先级;“是否排队等候控制权”表示当向装备组件申请控制权失败后,是直接放弃对装备组件的控制使用,还是将其放入装备组件控制信息中的“控制权申请列表”或“共享控制列表”等候控制权。
控制申请处理步骤S140:
所述装备组件将所述控制权申请与所述控制信息进行比对,通过控制信息中的“独占控制者”来使得仿真对象只能被唯一行为控制使用的资源,通过“优先级”来决定行为组件获取控制权的顺序,通过“控制权申请列表”来实现未获取控制权的行为组件排队等候控制权的释放,通过“共享控制列表”使得装备组件可以同时被不同的行为组件进行控制。
具体的,以图2作为示例,所述控制申请处理步骤S140具体为:
按照申请控制的方式分为:独占方式和共享方式;
对于独占方式,包括如下5种情况:
(1)行为组件直接获取控制权
行为组件向装备组件申请独占方式的控制权时,装备组件首先查询自身的控制信息,如果控制信息中的“独占控制者”和“共享控制列表”均没有内容,或者“独占控制者”与“发出申请的行为组件”相同,表示此装备组件可以被申请的行为组件进行控制使用,即行为组件成功获取到装备组件的控制权,并将控制信息中的“独占控制者”设为提出申请的行为组件的标识;
(2)行为组件抢夺共享方式的控制权
当装备组件查询控制信息的“独占控制者”不存在,但“共享控制列表”有内容时,表示装备组件正以共享方式被其它的行为组件控制使用,由于独占方式优于共享方式,因此会夺取共享方式的控制权,具体为:将“独占控制者”改为“发出申请的行为组件”,将“共享控制列表”清空,对于之前“共享控制列表”的内容,如果其“是否排队等候控制权”为是,则将其放入到“控制权申请列表”中,等待控制权被释放后重新获取控制权,否则舍弃其控制信息;
(3)行为组件抢夺独占方式的控制权
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”时,表示此装备组件当前正在被其它行为组件以独占方式进行控制使用,则比较申请控制权信息的“优先级”和“独占控制者”的优先级,如果请求控制权信息的“优先级”更高,则直接抢夺控制权,将装备组件的控制信息中的“独占控制者”改为“发出申请的行为组件”,先前的“独占控制者”如果选择了排队等候控制权则将其放入到“控制权申请队列”中,等待控制权被释放后重新获取控制权;如果未选择排队等候控制权,则先前的“独占控制者”的控制信息直接丢失;
(4)行为组件排队等待控制权
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”,且申请控制权信息的“优先级”低于或等于“控制者”的优先级时,则查询申请控制权信息的“是否排队等待控制权”,如果是则将申请控制权信息放入“控制权申请列表”中,等待控制权被释放后获取控制权;
(5)行为组件申请控制权失败
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”,且申请控制权信息的“优先级”低于或等于“控制者”的优先级时,则查询申请控制权信息的“是否排队等待控制权”。如果为否,则行为组件申请控制权失败。
对于共享方式,包括如下3种情况:
(1)行为组件直接获取控制权
行为组件向装备组件申请共享方式的控制权时,装备组件首先查询自身的控制信息,如果控制信息中的“独占控制者”不存在,表示装备组件没有被独占方式控制使用,直接将控制权申请信息放入到“共享控制列表”中即可获取到控制权,行为组件“共享控制列表”的其它行为组件以共享方式共同对装备组件进行控制使用;
(2)行为组件排队等待控制权
当装备组件查询控制信息的“独占控制者”存在时,表示装备组件正在以独占方式被其它行为组件控制使用,则需要查询申请控制权信息的“是否排队等待控制权”,如果为是,则将申请控制权信息放入“控制权申请列表”中,等待控制权被释放后获取控制权;
(3)行为组件申请控制权失败
当装备组件查询控制信息的“独占控制者”存在时,查询申请控制权信息的“是否排队等待控制权”,如果为否,则行为组件申请控制权失败。
因此,进一步的,装备组件的控制信息中“控制权申请列表”的内容是根据申请的“控制方式”和“优先级”进行排序的,独占方式的申请优于共享方式的申请,相同控制方式的申请根据优先级的高低进行排序。
行为组件控制装备组件步骤S150:
如果行为组件在成功获取到装备组件的控制权后,就可以继续按照行为的设计流程对装备进行控制使用,如果行为组件在获取装备组件的控制权失败后,行为组件执行预先设定的获取控制权失败的流程。
控制使用结束步骤S160:
行为组件以独占方式完成对装备组件的控制使用后,装备组件将控制信息中的“独占控制者”移除,释放控制权;以共享方式完成对装备组件的控制使用后,装备组件将其从控制信息中的“共享控制列表”移除,释放控制权。
进一步的,独占方式释放控制权时,装备组件会自动查询“控制权申请列表”,如果列表有内容,则开始处理已排序好的控制权申请信息;如果有独占方式的控制权申请信息,则优先级最高的获得控制权,将其设为“独占控制者”;如果只有共享方式的控制权申请信息,则全部获得控制权,将其全部放入到“共享控制列表”。
进一步的,在本发明中,所述行为组件和所述装备组件都采用全局唯一标识作为自身的标识。
在本发明中,所述行为组件表示:对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理。
所述装备组件表示:仿真对象一种有限的资源,用来模拟仿真对象的物理固有属性,例如用来仿真运动功能的机动组件、探测功能的传感器组件、通信功能的通信组件等。
本发明中的其他并行执行的行为组件,在控制使用装备组件时都遵从以上流程。在控制申请处理步骤S140中,通过比对装备组件中控制信息的“控制者”和申请控制权信息中的发出申请的行为组件,来对并行行为的执行冲突进行检测、以及冲突消除。
本发明进一步公开了一种存储介质,用于存储计算机可执行指令,其特征在于:
所述计算机可执行指令在被处理器执行时执行上述的在仿真运行中改进的并行行为执行冲突检测方法。
本发明通过引入控制权的概念,在装备组件中创建并维护控制信息,行为组件在控制使用装备组件时需要提出申请,只有成功获取到装备组件的控制权后才可以对其进行控制使用。通过控制信息中的“独占控制者”来模拟仿真对象只能被唯一行为控制使用的资源,通过“共享控制列表”来模拟仿真对象可以被多个行为同时控制使用的资源,通过“优先级”来体现不同行为之间的紧急程度。这种方式不仅消解了行为组件在控制装备组件产生的冲突,反映了不同行为的紧急程度,同时区分了不同的控制使用方式,进一步提高了仿真的真实性,且方式简单,计算量小。
显然,本领域技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定保护范围。
Claims (8)
1.一种在仿真运行中改进的并行行为执行冲突消解方法,其特征在于,包括如下步骤:
装备组件控制信息初始化步骤S110:
对于每一个装备组件均创建并初始化一个对应的控制信息,所述控制信息用于描述装备组件被控制使用的状态,包括“独占控制者”、“控制权申请列表”和“共享控制列表”,所述“独占控制者”指的是正在以独占方式控制使用此装备组件的行为组件,包括该行为组件的标识和优先级,“控制权申请列表”中存放着已提出申请控制使用此装备组件,但未被同意的其它行为组件,包括其他行为组件的标识和优先级,“共享控制列表”存放着以共享方式控制使用此装备组件的行为组件,包括行为组件的标识;“控制权申请列表”中的行为组件在等候“独占控制者”结束对装备组件的控制后依次轮流控制使用装备组件;
装备组件查找步骤S120:
行为组件在执行本身的逻辑过程中,遇到需要控制使用仿真对象资源时,先向仿真对象查询是否装配了对应类型的装备组件,仿真对象如果装配了对应的装备组件则返回装备组件的标识作为查询结果,否则返回无效值;
控制权申请步骤S130:
所述行为组件在查询到仿真对象有对应的装备组件后,根据装备组件的标识,向装备组件提出对其控制使用的控制权申请,即向装备组件申请控制权,申请控制权信息的内容包括“发出申请的行为组件”、“需要控制的装备组件”、“控制方式”、“优先级”和“是否排队等候控制权”,所述“发出申请的行为组件”即为当前行为组件标识;“需要控制的装备组件”即为行为组件需要控制使用的装备组件标识;“控制方式”为独占方式或共享方式;“优先级”表示的是当前申请控制权的重要程度,由于独占方式的优先权高于共享方式,因此优先级指的是独占方式的优先级;“是否排队等候控制权”表示当向装备组件申请控制权失败后,是直接放弃对装备组件的控制使用,还是将其放入装备组件控制信息中的“控制权申请列表”或“共享控制列表”等候控制权;
控制申请处理步骤S140:
所述装备组件将所述控制权申请与所述控制信息进行比对,通过控制信息中的“独占控制者”来使得仿真对象只能被唯一行为控制使用的资源,通过“优先级”来决定行为组件获取控制权的顺序,通过“控制权申请列表”来实现未获取控制权的行为组件排队等候控制权的释放,通过“共享控制列表”使得装备组件可以同时被不同的行为组件进行控制;
行为组件控制装备组件步骤S150:
如果行为组件在成功获取到装备组件的控制权后,就可以继续按照行为的设计流程对装备进行控制使用,如果行为组件在获取装备组件的控制权失败后,行为组件执行预先设定的获取控制权失败的流程;
控制使用结束步骤S160:
行为组件以独占方式完成对装备组件的控制使用后,装备组件将控制信息中的“独占控制者”移除,释放控制权;以共享方式完成对装备组件的控制使用后,装备组件将其从控制信息中的“共享控制列表”移除,释放控制权;
所述控制申请处理步骤S140具体为:
按照申请控制的方式分为:独占方式和共享方式;
对于独占方式,包括如下5种情况:
(1)行为组件直接获取控制权
行为组件向装备组件申请独占方式的控制权时,装备组件首先查询自身的控制信息,如果控制信息中的“独占控制者”和“共享控制列表”均没有内容,或者“独占控制者”与“发出申请的行为组件”相同,表示此装备组件可以被申请的行为组件进行控制使用,即行为组件成功获取到装备组件的控制权,并将控制信息中的“独占控制者”设为提出申请的行为组件的标识;
(2)行为组件抢夺共享方式的控制权
当装备组件查询控制信息的“独占控制者”不存在,但“共享控制列表”有内容时,表示装备组件正以共享方式被其它的行为组件控制使用,由于独占方式优于共享方式,因此会夺取共享方式的控制权,具体为:将“独占控制者”改为“发出申请的行为组件”,将“共享控制列表”清空,对于之前“共享控制列表”的内容,如果其“是否排队等候控制权”为是,则将其放入到“控制权申请列表”中,等待控制权被释放后重新获取控制权,否则舍弃其控制信息;
(3)行为组件抢夺独占方式的控制权
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”时,表示此装备组件当前正在被其它行为组件以独占方式进行控制使用,则比较申请控制权信息的“优先级”和“独占控制者”的优先级,如果请求控制权信息的“优先级”更高,则直接抢夺控制权,将装备组件的控制信息中的“独占控制者”改为“发出申请的行为组件”,先前的“独占控制者”如果选择了排队等候控制权则将其放入到“控制权申请队列”中,等待控制权被释放后重新获取控制权;如果未选择排队等候控制权,则先前的“独占控制者”的控制信息直接丢失;
(4)行为组件排队等待控制权
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”,且申请控制权信息的“优先级”低于或等于“控制者”的优先级时,则查询申请控制权信息的“是否排队等待控制权”,如果是则将申请控制权信息放入“控制权申请列表”中,等待控制权被释放后获取控制权;
(5)行为组件申请控制权失败
当装备组件查询控制信息的“独占控制者”存在且不为“发出申请的行为组件”,且申请控制权信息的“优先级”低于或等于“控制者”的优先级时,则查询申请控制权信息的“是否排队等待控制权”,如果为否,则行为组件申请控制权失败;
对于共享方式,包括如下3种情况:
(1)行为组件直接获取控制权
行为组件向装备组件申请共享方式的控制权时,装备组件首先查询自身的控制信息,如果控制信息中的“独占控制者”不存在,表示装备组件没有被独占方式控制使用,直接将控制权申请信息放入到“共享控制列表”中即可获取到控制权,行为组件“共享控制列表”的其它行为组件以共享方式共同对装备组件进行控制使用;
(2)行为组件排队等待控制权
当装备组件查询控制信息的“独占控制者”存在时,表示装备组件正在以独占方式被其它行为组件控制使用,则需要查询申请控制权信息的“是否排队等待控制权”,如果为是,则将申请控制权信息放入“控制权申请列表”中,等待控制权被释放后获取控制权;
(3)行为组件申请控制权失败
当装备组件查询控制信息的“独占控制者”存在时,查询申请控制权信息的“是否排队等待控制权”,如果为否,则行为组件申请控制权失败。
2.根据权利要求1所述的冲突消解方法,其特征在于,
在装备组件控制信息初始化步骤S110中,装备组件在对控制信息初始化时,“控制者”、“控制权申请列表”和“共享控制列表”均没有内容,表示装备组件没有被任何行为组件控制使用;
只有行为组件作为“独占控制者”或在“共享控制列表”中时,即行为组件拥有控制权时,才可以对装备组件进行控制使用。
3.根据权利要求1所述的冲突消解方法,其特征在于,
装备组件的控制信息中“控制权申请列表”的内容是根据申请的“控制方式”和“优先级”进行排序的,独占方式的申请优于共享方式的申请,相同控制方式的申请根据优先级的高低进行排序。
4.根据权利要求2或3所述的冲突消解方法,其特征在于,
在控制使用结束步骤S160中,
独占方式释放控制权时,装备组件会自动查询“控制权申请列表”,如果列表有内容,则开始处理已排序好的控制权申请信息;如果有独占方式的控制权申请信息,则优先级最高的获得控制权,将其设为“独占控制者”;如果只有共享方式的控制权申请信息,则全部获得控制权,将其全部放入到“共享控制列表”。
5.根据权利要求4所述的冲突消解方法,其特征在于,
在装备组件查找步骤S120中,所述行为组件只有在查询结果有效时才继续执行后续控制使用装备组件的逻辑,否则执行处理仿真对象缺少必要装备组件的逻辑。
6.根据权利要求4所述的冲突消解方法,其特征在于,
所述行为组件和所述装备组件都采用全局唯一标识作为自身的标识。
7.根据权利要求4所述的冲突消解方法,其特征在于,
所述行为组件表示:对仿真对象某种特定行动或决策实施过程的描述,主要实现相关活动的执行逻辑、流程及异常的处理;
所述装备组件表示:仿真对象一种有限的资源,用来模拟仿真对象的物理固有属性。
8.一种存储介质,用于存储计算机可执行指令,其特征在于:
所述计算机可执行指令在被处理器执行时执行权利要求1-7中任意一项所述的在仿真运行中改进的并行行为执行冲突检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110169549.3A CN112799787B (zh) | 2021-02-07 | 2021-02-07 | 一种在仿真运行中改进的并行行为执行冲突消解方法及其存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110169549.3A CN112799787B (zh) | 2021-02-07 | 2021-02-07 | 一种在仿真运行中改进的并行行为执行冲突消解方法及其存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799787A CN112799787A (zh) | 2021-05-14 |
CN112799787B true CN112799787B (zh) | 2023-10-03 |
Family
ID=75814762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110169549.3A Active CN112799787B (zh) | 2021-02-07 | 2021-02-07 | 一种在仿真运行中改进的并行行为执行冲突消解方法及其存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799787B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114260897A (zh) * | 2021-12-24 | 2022-04-01 | 达闼科技(北京)有限公司 | 一种权限管理方法、机器人以及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701718A (zh) * | 2013-12-19 | 2014-04-02 | 华南理工大学 | 变电站通信网络交换机动态缓存分配方法 |
CN104750540A (zh) * | 2015-04-10 | 2015-07-01 | 哈尔滨工业大学 | 飞机任务计算机模拟器 |
CN108769254A (zh) * | 2018-06-25 | 2018-11-06 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、系统及设备 |
CN109067748A (zh) * | 2018-08-13 | 2018-12-21 | 北京奇虎科技有限公司 | 共享设备的使用权限分配方法、装置及电子设备 |
CN110287036A (zh) * | 2019-05-09 | 2019-09-27 | 华为技术有限公司 | 一种设备共享方法、装置和系统 |
CN111597061A (zh) * | 2020-05-25 | 2020-08-28 | 瑞斯康达科技发展股份有限公司 | 一种客户端或服务端进行远程过程调用方法及装置 |
CN112153114A (zh) * | 2020-08-27 | 2020-12-29 | 苏州浪潮智能科技有限公司 | 一种分时访问共享器件的方法、系统、设备及介质 |
CN112286697A (zh) * | 2020-11-06 | 2021-01-29 | 上海新时达机器人有限公司 | 基于无操作系统单片机平台的互斥资源访问方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180074836A1 (en) * | 2016-09-09 | 2018-03-15 | Ca, Inc. | Increasing precision of a process model with loops |
CN109522101B (zh) * | 2017-09-20 | 2023-11-14 | 三星电子株式会社 | 用于调度多个操作系统任务的方法、系统和/或装置 |
-
2021
- 2021-02-07 CN CN202110169549.3A patent/CN112799787B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701718A (zh) * | 2013-12-19 | 2014-04-02 | 华南理工大学 | 变电站通信网络交换机动态缓存分配方法 |
CN104750540A (zh) * | 2015-04-10 | 2015-07-01 | 哈尔滨工业大学 | 飞机任务计算机模拟器 |
CN108769254A (zh) * | 2018-06-25 | 2018-11-06 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、系统及设备 |
CN109067748A (zh) * | 2018-08-13 | 2018-12-21 | 北京奇虎科技有限公司 | 共享设备的使用权限分配方法、装置及电子设备 |
CN110287036A (zh) * | 2019-05-09 | 2019-09-27 | 华为技术有限公司 | 一种设备共享方法、装置和系统 |
CN111597061A (zh) * | 2020-05-25 | 2020-08-28 | 瑞斯康达科技发展股份有限公司 | 一种客户端或服务端进行远程过程调用方法及装置 |
CN112153114A (zh) * | 2020-08-27 | 2020-12-29 | 苏州浪潮智能科技有限公司 | 一种分时访问共享器件的方法、系统、设备及介质 |
CN112286697A (zh) * | 2020-11-06 | 2021-01-29 | 上海新时达机器人有限公司 | 基于无操作系统单片机平台的互斥资源访问方法 |
Non-Patent Citations (3)
Title |
---|
Abdelrhman Mahamadi."Reservation based protocol for resolving priority inversions in composable conveyor systems".《Journal of Systems Architecture》.2017,第74卷第14-29页. * |
王枭."基于OpenMP的作战仿真并行设计与负载均衡研究".《系统仿真学报》.2018,第30卷(第06期),第2206-2215页. * |
闫飞."离散事件仿真中实体被动式空间感知交互机制设计".《系统仿真学报》.2021,第33卷(第09期),第2234-2242页. * |
Also Published As
Publication number | Publication date |
---|---|
CN112799787A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977268B (zh) | 人工智能的异构硬件的任务调度方法、装置及可读介质 | |
Saito et al. | Rosch: real-time scheduling framework for ros | |
CN110554909A (zh) | 任务的调度处理方法、装置及计算机设备 | |
CN105378668B (zh) | 多处理器系统中的操作系统管理的中断引导 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
US20090282413A1 (en) | Scalable Scheduling of Tasks in Heterogeneous Systems | |
US9898700B2 (en) | Method, apparatus, and artificial intelligence server for determining artificial intelligence behavior | |
CN111105155B (zh) | 一种基于角色的群体无人系统协同任务管理方法 | |
JP5404060B2 (ja) | 時間制御される分散型コンピュータシステムのための最適化された流れ図を生成する方法 | |
US9807152B2 (en) | Distributed processing device and distributed processing system as well as distributed processing method | |
CN109101342B (zh) | 分布式作业协调控制方法、装置、计算机设备及存储介质 | |
CN111080258B (zh) | 一种基于角色状态机的群体无人系统协同任务管理子系统 | |
CN112799787B (zh) | 一种在仿真运行中改进的并行行为执行冲突消解方法及其存储介质 | |
Behera et al. | A new dynamic round robin and SRTN algorithm with variable original time slice and intelligent time slice for soft real time systems | |
WO2008003536A2 (en) | Method, system and computer program for determining the processing order of a plurality of events | |
CN115756793A (zh) | 任务调度的处理方法、装置、电子设备和存储介质 | |
Tan et al. | Coupling scheduler for mapreduce/hadoop | |
JPH06131312A (ja) | 並行処理方法およびシステム | |
CN114244642A (zh) | 设备的控制方法及其装置、计算机可读存储介质、处理器 | |
Emberson et al. | Minimising task migration and priority changes in mode transitions | |
CN114327894A (zh) | 资源分配方法、装置、电子设备及存储介质 | |
CN112817696B (zh) | 一种在仿真运行中并行行为执行冲突消解方法及存储介质 | |
CN113033806A (zh) | 一种训练深度强化学习模型的方法、装置以及调度方法 | |
CN115502975A (zh) | 一种机器人调度方法、装置、电子设备及存储介质 | |
CN113225269B (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 |