工作流理论问题

1、状态的定义,状态与变迁的区别?
状态:记录以前动态行为的结果
变迁:记录软件对象对外来事件的响应以及响应状态的变化

所以,关键的点,还是先看变迁的动作。因为状态时根据变迁来进行定义的。

2、Perti网与图论的数学分支有什么差别?因为感觉Petri网能够完全覆盖图论中的全入全出的分支。(Petri网采用图论中覆盖树的方式来描述,AOV采用图论中的深度优先遍历方式来进行处理)
3、Perti网是否能描述多个条件的分支?(可以采用新语义的方式来描述Petri网)
4、Petri网的目的是否仅仅是验证可达?对于重复的问题是否考虑?
(如果出现多余的Token及重复执行的问题,应该是Petri网建设有错误,需要修正这个Petri网)
5、对于电梯开门,关闭,运行,停在的状态建模是什么?

应该有开门的动作,门开的状态。动作具有原子性。因为状态是记录动态行为的结果,所以在动作执行的最后,要把状态进行修改。
首先看,有哪些动作

开门动作,关门动作,按钮上动作,按钮下动作,按钮停在动作。

根据这些动作来看状态

门开了状态(不管是否是在运行期,正常时候为  停止运行门开状态),门关状态(因为只有可能是在门开的时候,才能触发门关的状态,一般情况下,都是停止运行的门开状态,所以一般都是停止运行的门关状态)


,上升状态,下降状态,停止状态


上午与学生讨论了一下,得出这几个结论
1、工作流的业务特征中,有多路选择性分支。这样的需求传统的Petri网很难表达。需要采用增加新的语义的Petri网表达方式。新的语义,就是采用新的库所这个库所没有具体含义,仅仅是缓存库所。避免出现连续2个变迁连续在一起。这样就可以实现Fork(and-spliter),decidsion(or-spliter)2个内容,连在一起了。

2、经过改良过的Petri网可以描述工作流系统,但是元素太多。所以改用AOV的网络来进行使用。

3、在Petri网的图中,有错误的图可能被画出来,但是如何将该错误找出来,需要看一下书,Perti网的图的验证性。
  出现错误的地方,主要在与 有多余的Token,还有可能出现在执行2次这样的场景。(袁老师写的书中,针对工作流的内容中有)
 
  从Perti网,可以转化为AOV的网络。(某一个单路完成之后,在监听器中将 其他路取消)

  可以更进一步的深入转化为bps的网络,可以进一步简化4个节点,在最后一个节点上,一开始,静态设置2个全部到达之后,才能进行下一步。
  如果中间有一个是否定的,那么就可以执行最后一个节点的监听器,然后把前面一个节点的任务取消,然后将本节点的入度属性修改一下。(通知正在执行的节点取消任务或者在提交任务的时候,告诉他提交的时候,该信息不会被驱动到下个环节等)


你可能感兴趣的:(工作流理论问题)