一种联动规则生成方法和装置的制造方法_3

文档序号:8361723阅读:来源:国知局
否存在逻辑问题的耗时相对较短,从而可以减少问题检测的耗时。
[0103]可以理解的是,在本实施例中该逻辑关系模型集合中包括的已设定逻辑关系模型可能是对应一个已设定联动规则,也可能是对应两个或多个已设定联动规则。如,当不同的已设定联动规则所对应的触发对象或者执行对象相同时,在该逻辑关系模型中一个触发对象可能仅仅存在一个逻辑关系模型中,则这多个已设定逻辑规则所对应的多个逻辑关系模型则可能分别是同一个逻辑关系模型的一部分。
[0104]相应的,将该待增设逻辑关系模型并入到该逻辑关系模型集合的过程可能是作为独立的逻辑关系模型加入到该逻辑关系模型集合中;也可能会是将该待增设逻辑关系模型进行整合,以实现该待增设逻辑关系模型并入到该逻辑关系模型集合中。
[0105]可选的,将待增设联动规则并入到该逻辑关系模型集合中,得到待检测逻辑关系集合,可以为:检测该逻辑关系模型集合的逻辑关系模型中是否存在满足预设条件的目标逻辑关系模型,其中该满足预设条件的目标逻辑关系模型中至少包括:包含有与该待增设逻辑关系模型中相同的触发对象,且触发设定的触发条件与该待增设逻辑关系模型中的触发条件相同;和/或,具有与所述待增设逻辑关系模型中相同的执行对象,且执行对象设定的执行动作与所述待增设逻辑关系模型中的执行动作相同。
[0106]如果该逻辑关系模型集合中存在所述目标逻辑关系模型时,采用将该待增设逻辑关系模型与该目标逻辑关系模型进行整合,得到待检测逻辑关系模型,以实现将该待增设逻辑关系模型加入到该逻辑关系模型集合中。
[0107]当然,当该逻辑关系模型集合中不存在该目标逻辑关系模型,则可以直接将该待增设逻辑关系模型添加到入到该逻辑关系模型集合中,即,不需要经过整合,而将该待增设逻辑关系模型作为独立的模型加入到该逻辑关系模型集合中。
[0108]如,已设定联动规则为:当天黑则放音乐。其中,该已设定联动规则的触发对象为:光线传感器;触发条件为天黑;执行对象为播放控制器,执行动作为控制播放音乐。在该逻辑关系模型集合中包含有该已设定联动规则对应的已设定逻辑关系模型,则该已设定逻辑关系模型中包含该触发条件为天黑的光线传感器。当待增设联动规则为前面介绍的:天黑则开灯时,则构建出的待增设逻辑关系模型中也会包含有具有该触发条件为天黑的光线传感器。将该待增设逻辑关系模型并入到该逻辑关系模型集合时,可以是将该待增设逻辑关系模型中的触发对象与该已设定逻辑关系模型中的触发对象整合为同一个触发对象,即增设逻辑关系模型与该已设定逻辑关系模型为共用该触发对象。
[0109]相应的,检测该待检测逻辑关系集合中是否存在有逻辑问题的逻辑关系模型,可以为:
[0110]当该逻辑关系集合中存在该目标逻辑关系模型时,则检测该待增设逻辑关系模型与该目标逻辑关系模型集合整合后得到的该待检测逻辑关系模型中是否存在不同对象相互关系间的逻辑问题;
[0111]当该逻辑关系模型集合中不存在该目标逻辑关系模型,则确定该待增设联动规则与所述联动规则清单中的已设定联动规则之间不存在逻辑问题。
[0112]可以理解的是,如果该逻辑关系模型集合中的任意一个已设定逻辑关系模型中的触发对象和执行对象均与该待增设逻辑关系模型中的触发对象和执行对象不相同,则不可能出现由于触发对象在相同触发条件触发同一执行对象执行不同的执行动作,也不可能出现触发对象与执行对象之间形成循环依赖的情况,因此,当该逻辑关系模型集合中不存在满足以上预设条件的目标逻辑关系模型时,则该待增设逻辑关系模型与该已设定逻辑模型之间不会存在冲突或者出现循环依赖的情况。
[0113]其中,检测该待检测逻辑关系模型中可能存在的逻辑问题可以包括以下一种或两种:该待检测逻辑关系模型中该触发对象和该执行对象之间存在循环触发;或者,该待检测逻辑关系模型中以该触发对象为起点的多条逻辑路径上存在多个执行相同类型动作的所述执行对象。
[0114]可以理解的是,基于联动规则构建的逻辑关系模型可以为现有的任意能够表征逻辑关系的模型。可选的,本申请实施例中构建的逻辑关系模型可以为有向图,如参见图3,其示出了本申请一种联动规则生成方法另一个实施例的流程示意图,本实施例的方法可以包括:
[0115]301,获得待增设联动规则。
[0116]302,基于同一节点表征同一对象具有同一属性的同一属性值的原则,以有向图的方式对该待增设联动规则进行建模,构建出该待增设联动规则对应的待增设有向图。
[0117]其中,该属性用于表征该触发条件或执行动作的所属类型,如,触发条件为天黑或天亮等表征类型为光线相关的属性G。
[0118]该属性值用于表征该触发条件或该执行动作,如,该触发条件为天黑,则表征光线属性G的属性值为1,则属性值为I的属性G表示当前光线条件为天黑。
[0119]其中,有向图中每条边都是有方向的,在每条边上顶点的两个节点分别表征触发对象和执行对象,其中箭头始端为触发对象,箭头所指向的节点为执行对象。在本申请实施例中该有向图的节点可以包括对象标识、属性和属性值。在该有向图中同一节点表征具有相同属性、且属相值相同的同一执行对象或者触发对象。
[0120]如,仍以待增设联动规则为天黑开灯为例,则构建的有向图中两个节点分别表示光线传感器和灯控制器,则该有向图由表示该光线传感器的节点指向该灯控制器的节点,且该光线传感器的节点具有的属性为光线,属性值为天黑,该灯控制器的节点具有的属性为灯状态,属性值为开灯。由该光线传感器的节点指向该灯控制器节点的有向图表示当该光线传感器检测到当前为天黑时,则触发该灯控制器执行开灯动作。
[0121]303,获取该联动规则清单对应的有向图集合。
[0122]其中,该有向图集合中包括与该已设定联动规则对应的已设定有向图。
[0123]其中,该有向图集合中各个有向图的构建过程与前面构建待增设联动规则对应的有向图的过程相同。则该已设定有向图中的同一节点表征具有相同属性的相同属性值的同一对象。
[0124]304,将该待增设有向图并入到该有向图集合中,得到待检测有向图集合。
[0125]305,检测该待检测有向图集合中是否存在有逻辑问题的有向图。
[0126]其中,将该待增设有向图并入该有向图集合的方式与图2实施例中逻辑关系模型的并入过程相似,在此不再赘述。
[0127]可选的,将该待增设有向图并入到该有向图集合中可以为:
[0128]检测该有向图集合中是否存在包含有该待增设有向图中所包含的至少一个节点的目标已设定有向图;
[0129]当该有向图集合中存在该目标已设定有向图时,基于该同一节点表征同一对象具有同一属性的同一属性值的原则,将该待增设有向图与该目标已设定有向图中相同节点进行合并,以将该待增设有向图与所述目标已构建有向图整合为一个有向图,得到待检测有向图。
[0130]其中,由于在有相同中,只有表示的对象、属性和属性值均相同才认为节点相同,因此,可以检测该有向图集合中是否存在包含的节点与该待增设有向图中的节点相同的已设定有向图,以便确定有向图集合所表征的已设定联动规则中的触发对象或执行对象是否与该待增设联动规则中的触发对象或者执行对象相同。
[0131]而由于已设定联动规则中的触发对象和执行对象均与该待增设逻辑关系模型中的触发对象和执行对象不相同,则不可能出现由于触发对象在相同触发条件触发同一执行对象执行不同的执行动作,也不可能出现触发对象与执行对象之间形成循环依赖的情况。因此,如果有向图集合中不存在该目标已设定有向图时,则确定该待增设联动规则与该联动规则清单中的已设定联动规则不存在逻辑问题。
[0132]如果有图集合中存在该目标已设定有向图,则还需要进一步检测所述待检测有向图中是否存在如下一个或多个逻辑问题:
[0133]该待检测有向图中存在不同节点构建的循环路径;
[0134]由该待检测有向图中同一节点出发的多条路径上的节点所组成的节点集合内存在具有相同对象标识、相同属性的多个节点。
[0135]其中,如果不同节点构建出循环路径,则会使得应用循环执行导致死循环。而如果有向图中同一个节点出发的多个路径上的节点组成的节点集合中存在多个表征相同对象,相同属相的节点,则说明会出现同一执行对象在相同触发条件下执行了不同执行动作。
[0136]为了便于理解下面以两个实例分别对有向图中检测两种逻辑问题的情况进行介绍。
[0137]首先假设实例中涉及到的对象光线传感器、音乐播放器和灯的对象标识分别为Dl, D2和D3。光线传感器表示天色亮暗的属性标识为Al,且属性Al的属性值为O和I分别代表天黑和天亮。音乐播放器表示播放状态的属性标识为A2,该属性的属性值为O和I分别代表播放器暂停和播放。灯泡表示灯开关状态的属性标识为A3,且该属性的属性值为O和I分别代表灯的关和开。
[0138]其中一个例子为:假设有向图集合中存在已设定联动规则“开灯则放音乐”对应的已设定有向图,则该已设定联动规则涉及到的触发对象为灯;触发条件为开灯;执行对象为音乐播放器,执行动作为播放音乐。则构建该已设定联动规则的有向图时,则需要构建表征灯、属性为A3且属性值为I的节点C ;构建表征该音乐播放器、属性为A2且属性值为I的节点B,构建的有向图的箭头方向由节点C指向该节点B,如图4a所示。需要说明的是,在图4a、4b、4c、5a、5b以及5c的图中,圆圈标
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1