33
1 关关 Aalst 关关关 关关关 2010.9.19 关关关关关关关 Petri 关关关关 2010 关关关关关关 关关关关

关于 Aalst 的挑战

  • Upload
    dianne

  • View
    175

  • Download
    5

Embed Size (px)

DESCRIPTION

关于 Aalst 的挑战. 中国计算机学会 Petri 网专委会 2010 年度工作会议 学术交流. 郝克刚 2010.9.19. 用 pi 演算和 Petri 网模型作为基础。. 随着面向服务的计算( SOC , SOA )技术和业务流程管理 (BPM) 技术的发展和应用,不少学者用 pi 演算和 Petri 网模型作为服务组合和工作流模式的严格的理论基础。 但是究竟哪个更合适更好,存在者很大的争论。. Pi calculus or Petri nets ?. SOA SOC. BPEL. BPM - PowerPoint PPT Presentation

Citation preview

Page 1: 关于  Aalst  的挑战

1

关于 Aalst 的挑战

郝克刚 2010.9.19

中国计算机学会 Petri 网专委会2010 年度工作会议 学术交流

Page 2: 关于  Aalst  的挑战

2

用 pi 演算和 Petri 网模型作为基础。

• 随着面向服务的计算( SOC , SOA )技术和业务流程管理 (BPM) 技术的发展和应用,不少学者用 pi 演算和 Petri 网模型作为服务组合和工作流模式的严格的理论基础。

• 但是究竟哪个更合适更好,存在者很大的争论。

Page 3: 关于  Aalst  的挑战

3

best foundation

Pi calculus or Petri nets ?

Pi calculus or Petri nets ?

SOA

SOC BPEL

BPM

Workflow

Page 4: 关于  Aalst  的挑战

4

争论文章

• Smith, H., Fingar, P.: Workflow is just a pi process. BPTrends (2004-01-04)

• Wil M. P. van der Aalst Why workflow is NOT just a Pi-process BPTrends ( 2004-2)

• Puhlmann, Frank.: Why do we actually need the Pi-Calculus for Business Process Management? ICBIS 2006.

Page 5: 关于  Aalst  的挑战

5

Wil van der Aalst 提出了 7 个挑战

• 作为力主 Petri 网一方的 Wil van der Aalst 曾在下文中向力主 Pi 演算的一方提出了 7 个挑战。

• van der Aalst, W.M.P.: Pi calculus versus petri nets: Let us eat ”humble pie” rather than further inflate the ”pi hype”. BPTrends (2005)

Page 6: 关于  Aalst  的挑战

6

Wil van der Aalst

Wil van der Aalst is a full professor at the Department of Mathematics & Computer Science of the Technische Universiteit Eindhoven (TU/e)

[ 荷兰 ] 艾恩德霍芬 技术大学where he chairs the Architecture

of Information Systems (AIS) group.

He also has part-time appointments in the Technology Management department of TU/e and the  BPM group of Queensland University of Technology (QUT).

Page 7: 关于  Aalst  的挑战

7

Aalst 的第 4 个挑战

• 其中第 4 个挑战就是给出了一个具体例子,问它是否能用 Pi 演算方便地表达。

a

p2 p9

p3

p7b cp4 d

p10p8e fp5 g

p6 h p11

p1

Page 8: 关于  Aalst  的挑战

8

这个例子是个 T 网

• T 网(标识图网 marked graph ):| p | ≤ 1 而且 | p | ≤ 1

a

p2 p9

p3

p7b cp4 d

p10p8e fp5 g

p6 h p11

p1

与下述定义稍有不同| p | = | p | = 1

Page 9: 关于  Aalst  的挑战

9

非典型串并结构的例子

h

f

e

d

a

cb

g

Page 10: 关于  Aalst  的挑战

10

用这个例子挑战并不成功

• 遗憾的是用这个例子作为挑战并不成功,它能方便地用Pi 演算直接表达。

• Frank Puhlmann Discussion Paper: PiHype Example v0.3 June 22, 2004

• http://bpt.hpi.uni-potsdam.de/pub/Public/PiHypeExample/PiHypeExample.pdf

Page 11: 关于  Aalst  的挑战

11

Frank Puhlmann 的表达方案

Page 12: 关于  Aalst  的挑战

12

进一步的问题

• Frank Puhlmann 用 Pi 说明演算表达了 Aalst 提出的例子,说明用这个例子作为挑战并不成功。但是,他并没有回答:

• 挑战是否就不可能成功, Pi 演算能够表达所有的 Petri 网系统吗?是否能找到用 Pi 演算表达不了的 Petri 网系统?

Page 13: 关于  Aalst  的挑战

13

对 Petri 网系统位置的表达

• Petri 网系统的每一位置 Pi 对应的位置状态表达式可以表示为:

(Pi ,0) =! fi۰ i۰0

(Pi ,1) =! fi۰ i۰0 | i۰0

……

(Pi ,n) =! fi۰ i۰0 | i۰0 | … | i۰0

…………

g

g

g g

g g

| fi ۰ i۰0g

Page 14: 关于  Aalst  的挑战

14

对转移的表达

• 上述表达只能执行一次,不是对转移的正确表达。正确的表达如 :

• F = g5 g6 8 F

• 递归表达式

P5

P6

P8

f

f

Page 15: 关于  Aalst  的挑战

15

例子中位置初始状态表达式

(P1 , 1) =! f1۰ 1۰0 | 1۰0

(Pi ,0) =! fi۰ i۰0 (i=2,3,…,11)

g

g

g

a

p2 p9

p3

p7b cp4 d

p10p8e fp5 g

p6 h p11

p1

Page 16: 关于  Aalst  的挑战

16

这个例子直接用 Pi 演算表达

• 与图中的每一转移 A…H 对应的转移表达式表示如右。

• 然后把这些表达式用并行算子连接起来 ,就是这个例子的表达式 :

P = P1|…|P11 |A|…|H

Page 17: 关于  Aalst  的挑战

17

Petri 网某些子集可以用 Pi 演算表达

• 定理 1. 所有自由选择网系统都可以很容易地用 Pi 演算直接表达。

• 因为这个例子属自由选择网系统。根据我们的证明,它能方便地用 Pi 演算直接表达。

• 定理 2. 当允许弧的权值大于 1 时, T 网(标识图网 marked graph )和无竞争网系统可以用 Pi 演算表达。

Page 18: 关于  Aalst  的挑战

18

很难用 Pi 演算表达的例子

• 因而要想选个很难用 Pi 演算表达的例子至少必须是个非自由选择网系统。

• 我们提出了一个这样的例子,可以用它来解释一般的 Petri 网系统在 Pi 演算中表达的困难。

P5

P3

T1

T3

P1

P2

P4

T2

Page 19: 关于  Aalst  的挑战

19

Petri 网比 Pi 演算表达能力更强?

• 这是否意味着 Petri 网模型的表达能力比 Pi演算更强呢?

• 事实上并非如此。虽然某些 Petri 网系统很难用 Pi 演算表达,但起码 Petri 网的某些子集可以直接用 Pi 演算模型表达,

而且只要将 Pi 演算稍微加以自然地扩充,就能表达所有的一般 Petri 网系统。

Page 20: 关于  Aalst  的挑战

20

Pi 演算的扩展称为 Pi+ 演算

• 证明了 Petri 网的某些子类,如自由选择网等,可以直接用 Pi 演算表达。然而对于一般的 Petri 网,却很难用 Pi 演算直接表达。

• 于是提出了一种对 Pi 演算的扩展,称为 Pi+ 演算,将原有 Pi 演算的单原语通信机制扩充成多原语同步通信机制。

• 证明了用 Pi+ 演算可以较强地表达一般 Petri 网系统,而且还能更加细致地描述它丰富的动态语义。

Page 21: 关于  Aalst  的挑战

21

引入 Pi+ 演算的原由

• 一般的 Petri 网不能用原有的 Pi 演算直接表达,是由于 Petri 网的转移可以有多个输入边,从而允许多个流程的同步。可是原有的 Pi 演算一次只允许一个发送进程和一个接收进程进行通信,所以只允许两个进程的同步。

• 这可以说是原有的 Pi 演算的不足,也正是我们引入 Pi+演算,扩充成多原语同步通信机制的原由。

Page 22: 关于  Aalst  的挑战

22

这样的扩展非常简单和自然

x

• pi+ 演算是在传统的 pi 演算的基础上,增加多对原语同步通信机制

• pi 演算的单对原语同步通信机制 <y>۰P | x (z)۰R

→ P | R [y/z]

Page 23: 关于  Aalst  的挑战

23

多对原语同步通信机制

<u>۰P | <v>۰ Q | x (z)y (w)۰R | y (z)۰ S → P | Q | R [u/z, v/w] | y (z)۰ S

x y

x 或者

→ <u>۰P | Q | x (z)y (w)۰ R | S [v/z]

Page 24: 关于  Aalst  的挑战

24

Pi 演算和 Petri 网表达能力

• 从理论上说明 Pi 演算和 Petri网表达能力的关系。

• 比较它们的表达能力可以用右图来示意。

Pi 演算Petri 网

Pi+ 演算

Page 25: 关于  Aalst  的挑战

25

反过来看看

• 用 Petri 网模型来表达 Pi 演算则比较难。• 我们还不知道 Pi 演算的怎样的子集可以直接用 P

etri 网模型表达。下述机制都很难用 Petri 网模型直接表达:接收语句将接收的值代入到后继进程,通道名的传送重复算子的使用等,

• 至于对 Petri 网模型做怎样的扩展就能表达一般的Pi 演算,现在还实在想不出个眉目来。

• 所以总体比较, Pi 演算的表达能力看来还是比Petri 网模型更强些。

Page 26: 关于  Aalst  的挑战

26

Pi 演算的优势 -- 动态耦合

• Petri 网模型在直观、有严格的分析方法等方面有其优势。然而,由于位置和转移的连接是固定的,较适合于表达结构固定的耦合系统,很难表达松散的动态耦合系统。

• 而由于 Pi 演算中通道名可以作为名字传送,因而能够表达结构松散的动态耦合系统。

Page 27: 关于  Aalst  的挑战

27

x

x

y

zP

R

Q

x

x

z

z

动态耦合

Page 28: 关于  Aalst  的挑战

28

各种动态耦合系统的例子

• Mobile 系统为保证通信的逻辑双方不变,而通信中介的物理实体可以在移动中改变;

• 在 E-mail 系统中 mail 地址可以传送,可以根据接受到的 mail 地址进行通信;

• 面向服务的结构中可以查询服务提供方的URL ,然后按照选择的 URL 进行绑定和链接。

Page 29: 关于  Aalst  的挑战

29

结束语

• Aalst 挑战用的例子不成功。• 可以用一个非自由选择网的例子成功挑战。• 只要对 Pi 演算做一点自然的推广 Pi+演算就能表达所有 Petri 网系统。

• 从表达能力上讲, Pi 演算要强于 Petri 网系统

Page 30: 关于  Aalst  的挑战

30

参考文章

• 郭小群 郝克刚 Petri 网和 Pi 演算模型表达能力的研究《中国计算机学会通讯》第 5 卷 第 10 期 2009 。

• 郝克刚 郭小群 李向宁 pi+ 演算及其对Petri 网的表示 《计算机学报》 2011.2. ,这篇文章给出了完整详细严格的定义和证明。

Page 31: 关于  Aalst  的挑战

31

π- 演算经典著作的中译本

• 图灵奖得主 Robin Milner 的经典著作:“通信与移动系统: π- 演算”

• 已由科学院软件所林惠民院士翻译出版, 2009.9 。

Page 32: 关于  Aalst  的挑战

32

对中国学者的期待

• 该书作者图灵奖得主 Robin Milner 为中译本所写的序言中,对中国学者给与了很大的期待:

“作为在世界上发挥日益重要作用的伟大国家,中国具有引领为新技术建立科学基础的机会……。”

Page 33: 关于  Aalst  的挑战

33

[email protected]://mainpage.nwu.edu.cn/hkg/home/