目录
7. Marking graph(重要)—— reachability graph
13. Causality and concurrency relations(因果和并发关系)
1. reachable marking
- 当前系统可以通过 transition 最终到达的状态
2. final marking
- 不存在 hot transition 的情况即可判定
- 因为只要 B 不存在 token,那么 b,c 就一定不满足 hot enable 的条件,因此只要 marking 中不含有 B,那么就可以是 final 状态;因此 ACC, ADD, ACDDE 都满足 final 的条件
3. 为什么 reachable marking 重要
- 因为我们可以通过 reachable marking 来分析我们的系统是否存在错误的状态,例如 ACDDE ,相当于 vending machine 得到了 2 个 coin 但是只吐出了一个 cookie,这是一种 bad 情况,因此需要研究 reachable marking
4. Sequential runs
5. complete & finite
- 当一个 sequence run 的终止状态是一个 final marking,那么这个 sequential run 就是 complete 的
- 对于一个 infinite 的sequential run,如果不能被插入任何 step,那么也是 complete 的
6. 为什么 complete run 是重要的
- 可以帮助验证系统的性质,可以观察系统一共可以发生哪些行为
7. Marking graph(重要)—— reachability graph
- 所有的 reachable marking 都是 rg 图的一个 node
- 所有的 enable transition 就是右图中的边
- 所有的 final marking 就是右图中的 同心圆节点(ADE, AD, AC)
- initial marking 是 AC (箭头 + 同心圆)
8. Interleaving semantics
9. state explosion 问题
10. Action
- 在当前这个 action 中,只有 B,C,A,D,E 参与到转化中,由于 C_prime 是 C 中的另外一个 token,因此在这个 action 中暂时不参与。但是有可能在后面的 action 中会参与 transition
11. Concurrency semantics
12. 对比
13. Causality and concurrency relations(因果和并发关系)
14. 总结
一个Petri网可以描述一个具有无限多可达状态和运行的系统
一个Petri网可以根据不同的语义进行解释(例如,顺序和分布式运行)。
顺序运行很适合分析许多实际问题,并在文献中得到了充分研究。
分布式运行明确地捕获了系统行动之间的因果关系和并发关系
因此,分布式运行可以用来区分依次发生的行动是偶然的,还是一个行动的发生是下一个行动发生的前提条件的情况。
此外,可以将可能以任何顺序发生但从未同时发生的行动与可能真正同时发生的行动区分开来。
网状系统可以描述无限多的状态和运行,这一事实使其分析更加复杂,因为一个感兴趣的条件(例如,系统设计中的缺陷)可以在系统的一个非常长的运行后表现出来,该运行由一个非预期的但根据系统规则可行的步骤序列组成。
15. 决策问题
决策问题是一个在可能无限的输入集上的是或否问题
决策问题通常使用两个集合来定义: 可能的输入集合和对问题的答案是肯定的输入集合
一个决策问题是可判定的,或有效地解决,如果有一个算法,采取了一个输入,终止后有限的时间,并正确地回答了问题提出的问题。
判断一个给定的自然数是否是素数的问题就是可判定决策问题的一个例子
给定一个任意的计算机程序和一个输入,决定程序是完成运行还是永远继续运 行的问题称为暂停问题,是一个不可确定的决策问题的例子
16. 有界性
如果所有可达标记的集合是有限的,则网络系统是有界的,否则是无界的。
- 只要右边的图的节点数目是有限个的,那么就是 bounded
17. 一个 unbounded 例子
- 如果在 c 那里添加一个 epsilon 的条件,那么整个系统就可以不需要任何一条 edge 而无穷的循环到达 acc,acccc,acccccc 等无穷多个状态
- 同样的,在 AD 那里也会产生 add,adddd 等无限多个状态
18. 如何检验 unbounded
- 通过 converability graph ,当出现了 node 中包含 w 的节点,代表这个 node 可以执行任意多次,因此就是 unbounded,如下图:
19. K-bounded and safeness
- 每个 place 中的 token 数最多不超过 k 个
- 下图中的 places 中 最多两个 tokens
- 1-bounded 系统是 safe 的
20. Reachability
21. liveness
- 当一个 transition 可以无限次执行,那么这个 transition 就是 live 的
- 当整个系统的所有 transition 都可以无限次执行,那么系统就是 live 的
- 这个系统中,由于 a, b 可以一直循环触发无限次,但是 c,d节点不行,因此这个系统不是一个 live 系统;也就是说右图中 c,d 都是单向的图,他们都不能无限次执行
22. workflow net
源地用于表示工作流程的开始。
流入地用于表示工作流的终止。
工作流网中的每个元素都应该有机会被执
每个案例最终都会终止;当一个案例终止时,在汇合点有一个标记,所有其他地方都是空的。
没有死的过渡;对于每个过渡t,都有一个执行t的案例
- 必须所有的 reachable marking 都能够到达最终的输出 marking o
- 但是在这个例子中,由于 BB 这个 reachable marking 没有途径到达 o因此不符合
- 当到达 o 状态之后就不能有任何后续的操作,就是 proper completion
- 下图的例子中,可以首先 点 a,然后 A 有一个 token,然后通过点 b 多次,就可以得到 Ao, Aoo, Aooo,因此很显然 AO 不是终止状态,因此不满足 proper completion
- 如果某个 transition 是永远不可达的,这个 transition 就是 dead transition
- 下图的 C 是一个 dead transition
Sound
- 如果一个 workflow 系统满足 option to complete,proper completion 以及 no dead transition,那么就说这个 workflow system 是 sound
- 从终点 o 可以有一个 shortcut 把 token 送回起点,这个 fresh transition 构成了 short circuiting 的 workflow net
- 并且这个 fresh transition 不属于 workflow 中的任意一个 transition
- 当有 short circuiting 的时候,如果当前的系统是 live 并且 bounded 的,那么这个系统就是 sound的
- live 保证的是这个系统中没有 dead transition的状态
- bounded 其实是一种限制,因为这个系统在做完一个 case 之后,应该是所有的 place 都是空的,如果此时有一个 place 不为空,那么由于这个系统可以无限次迭代,那么这个 place 经过无限次迭代后就会有 infinite 个 tokens从而变成 unbounded,因此要保证系统是 bounded 才行
23. 总结
网系统的许多属性被表述为决策问题(例如,可达性、有界性、有效性和健全性)
网系统的许多属性都递归地等同于可达性问题(例如,有效性、子标记可达性、零可达性、单位零可达性)。
初级网系统的可达性问题是可解的
网系统的模型检查(即时间逻辑属性的验证)通常是不可解的,因此,有些问题必须通过投票来解决(例如,见第十届和第十一届模型检查竞赛的结果https://youtu.be/ANXRLrbXIX0 和 https://youtu.be/6ZN8pa6a-kg)。
工作流系统是一类特殊的网状系统,用于对业务流程和工作流进行建模
在一个健全的工作流系统中,每个案例都能正常终止,而且系统的所有元素都能参与某个案例
健全性问题与检查有界性和有效性的问题是递归等价的。
基本网络系统的有界性和有效性问题是可解的