2.1 事件驱动与AOE网络

什么是事件驱动

一个事件驱动流程,由事件(Events)和动作(Actions)按照一定的逻辑关系组合而成。

  1. 事件:事件是一种状态,这里用来描述被控对象。事件可以作为动作执行的条件,同时也可作为动作执行完成的标志。

  2. 动作:动作是一种行为,这里用来表述控制器执行的具体策略(指令),例如给变量赋值、执行优化计算等指令。

什么是AOE网络

AOE网络是一种由多个事件驱动流程(及一些附加参数)组成的加权有向无环图。图中,每个节点表示事件,每条边表示动作,边的方向表示节点所示事件之间的递进和迁移关系,这种关系由该条边所表示的动作决定。

当AOE网络中节点事件发生时,则会按照节点中定义的规则,执行对应的动作(边)。当动作执行完成后,则会进入到相应的节点,按照节点定义规则判断事件是否发生。下图是一个AOE网络的示意,其中包含6个节点和6条边:

AOE网络示意