关于 aalst 的挑战
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 PresentationTRANSCRIPT
1
关于 Aalst 的挑战
郝克刚 2010.9.19
中国计算机学会 Petri 网专委会2010 年度工作会议 学术交流
2
用 pi 演算和 Petri 网模型作为基础。
• 随着面向服务的计算( SOC , SOA )技术和业务流程管理 (BPM) 技术的发展和应用,不少学者用 pi 演算和 Petri 网模型作为服务组合和工作流模式的严格的理论基础。
• 但是究竟哪个更合适更好,存在者很大的争论。
3
best foundation
Pi calculus or Petri nets ?
Pi calculus or Petri nets ?
SOA
SOC BPEL
BPM
Workflow
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.
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)
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).
7
Aalst 的第 4 个挑战
• 其中第 4 个挑战就是给出了一个具体例子,问它是否能用 Pi 演算方便地表达。
a
p2 p9
p3
p7b cp4 d
p10p8e fp5 g
p6 h p11
p1
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
9
非典型串并结构的例子
h
f
e
d
a
cb
g
10
用这个例子挑战并不成功
• 遗憾的是用这个例子作为挑战并不成功,它能方便地用Pi 演算直接表达。
• Frank Puhlmann Discussion Paper: PiHype Example v0.3 June 22, 2004
• http://bpt.hpi.uni-potsdam.de/pub/Public/PiHypeExample/PiHypeExample.pdf
11
Frank Puhlmann 的表达方案
12
进一步的问题
• Frank Puhlmann 用 Pi 说明演算表达了 Aalst 提出的例子,说明用这个例子作为挑战并不成功。但是,他并没有回答:
• 挑战是否就不可能成功, Pi 演算能够表达所有的 Petri 网系统吗?是否能找到用 Pi 演算表达不了的 Petri 网系统?
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
14
对转移的表达
• 上述表达只能执行一次,不是对转移的正确表达。正确的表达如 :
• F = g5 g6 8 F
• 递归表达式
P5
P6
P8
f
f
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
16
这个例子直接用 Pi 演算表达
• 与图中的每一转移 A…H 对应的转移表达式表示如右。
• 然后把这些表达式用并行算子连接起来 ,就是这个例子的表达式 :
P = P1|…|P11 |A|…|H
17
Petri 网某些子集可以用 Pi 演算表达
• 定理 1. 所有自由选择网系统都可以很容易地用 Pi 演算直接表达。
• 因为这个例子属自由选择网系统。根据我们的证明,它能方便地用 Pi 演算直接表达。
• 定理 2. 当允许弧的权值大于 1 时, T 网(标识图网 marked graph )和无竞争网系统可以用 Pi 演算表达。
18
很难用 Pi 演算表达的例子
• 因而要想选个很难用 Pi 演算表达的例子至少必须是个非自由选择网系统。
• 我们提出了一个这样的例子,可以用它来解释一般的 Petri 网系统在 Pi 演算中表达的困难。
P5
P3
T1
T3
P1
P2
P4
T2
19
Petri 网比 Pi 演算表达能力更强?
• 这是否意味着 Petri 网模型的表达能力比 Pi演算更强呢?
• 事实上并非如此。虽然某些 Petri 网系统很难用 Pi 演算表达,但起码 Petri 网的某些子集可以直接用 Pi 演算模型表达,
而且只要将 Pi 演算稍微加以自然地扩充,就能表达所有的一般 Petri 网系统。
20
Pi 演算的扩展称为 Pi+ 演算
• 证明了 Petri 网的某些子类,如自由选择网等,可以直接用 Pi 演算表达。然而对于一般的 Petri 网,却很难用 Pi 演算直接表达。
• 于是提出了一种对 Pi 演算的扩展,称为 Pi+ 演算,将原有 Pi 演算的单原语通信机制扩充成多原语同步通信机制。
• 证明了用 Pi+ 演算可以较强地表达一般 Petri 网系统,而且还能更加细致地描述它丰富的动态语义。
21
引入 Pi+ 演算的原由
• 一般的 Petri 网不能用原有的 Pi 演算直接表达,是由于 Petri 网的转移可以有多个输入边,从而允许多个流程的同步。可是原有的 Pi 演算一次只允许一个发送进程和一个接收进程进行通信,所以只允许两个进程的同步。
• 这可以说是原有的 Pi 演算的不足,也正是我们引入 Pi+演算,扩充成多原语同步通信机制的原由。
22
这样的扩展非常简单和自然
x
• pi+ 演算是在传统的 pi 演算的基础上,增加多对原语同步通信机制
• pi 演算的单对原语同步通信机制 <y>۰P | x (z)۰R
→ P | R [y/z]
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]
24
Pi 演算和 Petri 网表达能力
• 从理论上说明 Pi 演算和 Petri网表达能力的关系。
• 比较它们的表达能力可以用右图来示意。
Pi 演算Petri 网
Pi+ 演算
25
反过来看看
• 用 Petri 网模型来表达 Pi 演算则比较难。• 我们还不知道 Pi 演算的怎样的子集可以直接用 P
etri 网模型表达。下述机制都很难用 Petri 网模型直接表达:接收语句将接收的值代入到后继进程,通道名的传送重复算子的使用等,
• 至于对 Petri 网模型做怎样的扩展就能表达一般的Pi 演算,现在还实在想不出个眉目来。
• 所以总体比较, Pi 演算的表达能力看来还是比Petri 网模型更强些。
26
Pi 演算的优势 -- 动态耦合
• Petri 网模型在直观、有严格的分析方法等方面有其优势。然而,由于位置和转移的连接是固定的,较适合于表达结构固定的耦合系统,很难表达松散的动态耦合系统。
• 而由于 Pi 演算中通道名可以作为名字传送,因而能够表达结构松散的动态耦合系统。
27
x
x
y
zP
R
Q
x
x
z
z
动态耦合
28
各种动态耦合系统的例子
• Mobile 系统为保证通信的逻辑双方不变,而通信中介的物理实体可以在移动中改变;
• 在 E-mail 系统中 mail 地址可以传送,可以根据接受到的 mail 地址进行通信;
• 面向服务的结构中可以查询服务提供方的URL ,然后按照选择的 URL 进行绑定和链接。
29
结束语
• Aalst 挑战用的例子不成功。• 可以用一个非自由选择网的例子成功挑战。• 只要对 Pi 演算做一点自然的推广 Pi+演算就能表达所有 Petri 网系统。
• 从表达能力上讲, Pi 演算要强于 Petri 网系统
30
参考文章
• 郭小群 郝克刚 Petri 网和 Pi 演算模型表达能力的研究《中国计算机学会通讯》第 5 卷 第 10 期 2009 。
• 郝克刚 郭小群 李向宁 pi+ 演算及其对Petri 网的表示 《计算机学报》 2011.2. ,这篇文章给出了完整详细严格的定义和证明。
31
π- 演算经典著作的中译本
• 图灵奖得主 Robin Milner 的经典著作:“通信与移动系统: π- 演算”
• 已由科学院软件所林惠民院士翻译出版, 2009.9 。
32
对中国学者的期待
• 该书作者图灵奖得主 Robin Milner 为中译本所写的序言中,对中国学者给与了很大的期待:
“作为在世界上发挥日益重要作用的伟大国家,中国具有引领为新技术建立科学基础的机会……。”
33
[email protected]://mainpage.nwu.edu.cn/hkg/home/