[发明专利]纯状态的触发动作编程范式到事件驱动系统的转换方法有效
申请号: | 202110290814.3 | 申请日: | 2021-03-18 |
公开(公告)号: | CN113010158B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 张昱;王博;耿佳宁;李向阳 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 张乾桢 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 状态 触发 动作 编程 范式 事件 驱动 系统 转换 方法 | ||
1.一种纯状态的触发动作编程范式到事件驱动系统的转换方法,其特征在于,包括如下步骤:
步骤1:输入实体-能力抽象信息W和SS规则集合SS规则集解析器首先解析用户输入的并将解析结果传给动作序列信息生成模块,所述SS是指状态-状态;
步骤2:动作序列信息生成模块将同一动作实体的SS规则序列按照EXPECT子句作用的期望状态组分类,期望状态组相同的SS规则组中的多条规则会放在一起处理;根据实体期望状态组实体能力抽象W计算实体要到达指定状态时所有可能的动作序列和每种动作序列的执行前提Cj,得到二元组集合求出与规则组不兼容的条件n为所有可能动作序列的数量;
步骤3:事件筛选模块首先根据实体-能力抽象信息W对条件做关键值分析,寻找对条件成立与否有影响的能力以及对条件而言等价的所有取值集合,并根据这些能力和取值集合生成一组候选事件然后对中的每个事件E,根据W以及缺省的事件筛选策略判断该事件是否要排除掉,即若E发生后不成立则需将E排除;
步骤4:EE中间表示生成模块接受筛选后的事件集与作为输入,对二元组集合中的每个元组产生动作序列为的EE规则集,所述EE是指事件-事件;
步骤5:再经过规则合并、可读性化简后,这些EE规则集再由EE规则集生成器汇总并输出,最终实现从SS规则得到对应的EE规则,输出与输入SS规则集对应的EE规则集
2.根据权利要求1所述的一种纯状态的触发动作编程范式到事件驱动系统的转换方法,其特征在于,包括如下步骤:
所述步骤1中,使用json或yaml数据格式交换解析后的规则。
3.根据权利要求1所述的一种纯状态的触发动作编程范式到事件驱动系统的转换方法,所述步骤2中,根据实体期望状态组实体能力抽象W计算实体要到达指定状态时所有可能的动作序列和每种动作序列的执行前提Cj,得到二元组集合具体包括:
基于实体的状态机,寻找到达目标状态的所有转移边、及可能的动作序列,并计算执行前提,该前提与后续步骤生成规则的安全性和正确性有关。
4.根据权利要求1所述的一种纯状态的触发动作编程范式到事件驱动系统的转换方法,所述步骤3中,事件筛选模块首先根据实体-能力抽象信息W对条件做关键值分析,通过关键值分析减少候选事件,降低了算法的运算成本,且通过可改变的事件筛选策略能够在规则假阳性率和规则转换效率之间做出调整。
5.根据权利要求1所述的一种纯状态的触发动作编程范式到事件驱动系统的转换方法,所述步骤4中,通过按照动作序列和规则执行条件分组输出,便于后续合并以提高执行速度。
6.根据权利要求1所述的一种纯状态的触发动作编程范式到事件驱动系统的转换方法,所述步骤5中,规则合并包括:使用约束求解器Z3判断等价条件进行合并,合并后的条件使用约束求解器Z3化简后再变换到不含逻辑非的简化易读的形式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110290814.3/1.html,转载请声明来源钻瓜专利网。