工作流技术导论——Petri Net进阶
题目
A secret project by the government (let’s call it Project X) will be executed by one person and consists of 6 tasks: A, B, C, D, E, and F. Figure 2.28 specifies the order in which the tasks need to be executed (precedence graph, cf. PERT/CPM). A possible execution trace is for example ABDCEF.
-
Model the project in terms of a classical Petri net.
-
How does one model so that E is optional?
-
How does one model so that D and E should be executed consecutively, that is, B and C are not allowed between D and E?
答案
- 第一小题使用古典的Petri net,直接按照题目中所给的图画出即可
-
第二小题要求是需要将TaskE设置成可选项,因此在TaskD完成之后的缓冲区,多设置一个变迁,即可不完成TaskE达到TaskF前的缓冲区
-
第三小题要求TaskB和TaskC不能在TaskD和TaskE之间完成,因此我们多设置了一个缓冲区,使得BCD变迁都需要在该缓冲区有token,而且BC执行完成后会生成一个token返回到该缓冲区,而D则需要在完成E之后才会返回一个token到该缓冲区中