1 / 25

介绍我们最近所作的一项工作 pi+ 演算及其对 Petri 网的表示

介绍我们最近所作的一项工作 pi+ 演算及其对 Petri 网的表示. 2008 年度中国计算机学会 Petri 网 专委会工作会议 学术交流 08.11.15. 郝克刚. 用 pi 演算和 Petri 网模型作为基础。. 随着面向服务的计算( SOC , SOA )技术和业务流程管理 (BPM) 技术的发展和应用,不少学者用 pi 演算和 Petri 网模型作为服务组合和工作流模式的严格的理论基础。 但是究竟哪个更合适更好,存在者很大的争论。

gina
Download Presentation

介绍我们最近所作的一项工作 pi+ 演算及其对 Petri 网的表示

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 介绍我们最近所作的一项工作pi+ 演算及其对 Petri 网的表示 2008 年度中国计算机学会 Petri 网 专委会工作会议 学术交流 08.11.15. 郝克刚

  2. 用pi 演算和Petri网模型作为基础。 • 随着面向服务的计算(SOC,SOA)技术和业务流程管理(BPM)技术的发展和应用,不少学者用pi 演算和Petri网模型作为服务组合和工作流模式的严格的理论基础。 • 但是究竟哪个更合适更好,存在者很大的争论。 • 这就引起学术界关注探讨和研究这两个模型之间在表达能力(expressiveness)和适用性(suitability)等方面的关系和差异的问题。 • 有的用Petri网研究pi 演算的语义,也有的用进程代数研究Petri网的语义。

  3. Pi calculus or Petri nets ? SOA SOC BPEL BPM Workflow best foundation Pi calculus or Petri nets ?

  4. expressiveness Pi calculus Petri nets

  5. pi+演算, 一种对pi演算的扩展 • pi演算(π-calculus)是一个表达能力相当强的模型。然而在考虑如何用它来表示Petri网时,发现pi演算功能仍不够强,很难用其准确地描述Petri网中同步和竞争的组合,以及权重、容量等特性。 • 我们提出了一种对pi演算的扩展,称为pi+演算,增加了多原语同步通信机制。用pi+演算可以较准确地表示Petri网系统的动态行为,而且能更加细致地描述它丰富的动态语义。

  6. pi演算(π演算) • pi+演算是在传统的pi演算的基础上,增加多原语同步通信机制 。 • pi演算中 <y>۰P | x (z)۰R → P | R [y/z] • 我们称 <y>为发送原语(send primitive), x (z)为接收原语(receive primitive), x是通道名,y是沿通道发送的数据,z是接收变量。

  7. 单对原语同步通信机制 <u>۰P | <v>۰ Q | x (z)۰y (w)۰R | y (z)۰ S → P | <v>۰ Q | y (w)۰ R[u/z] | y (z)۰ S → P | Q | R[u/z, v/w] | y (z)۰ S 或者 → P | Q | y (w)۰ R[u/z] | S [v/z]

  8. 多对原语同步通信机制 <u>۰P | <v>۰ Q | x (z)y (w)۰R | y (z)۰ S → P | Q | R [u/z, v/w] | y (z)۰ S 或者 → <u>۰P | Q | x (z)y (w)۰ R | S [v/z]

  9. pi+演算的语法表达式 • pi+演算的语法表达式: P::=M|P|P|νzP| !P M::= 0 |π ۰P|τ ۰P|M +M π ::= <y> | x (z)| ππ • π是一个由若干个发送原语和接收原语组成的同步通信原语组合。 • pi+演算增加的结构等价规则 • π1π2 ≡ π2π1 • (π1π2) π3 ≡ π1(π2 π3) • 如果π1 ≡ π2 ,则π1 ۰P ≡ π2۰P

  10. 完全匹配(fully complementary) • 定义 设S是由若干个π组成的集合S={π1,…, πn},我们考虑其中所有π含的发送原语和接收原语,如果满足下述条件则称S是完全匹配的 • 对何任通道x,S中以x为通道的发送原语的个数和以x为通道的接收原语的个数相同 • 所有通道相同的发送和接收原语或者全带参数,或者全不带参数。 • 所有通道相同的带参数的发送原语,其发送的数据必须相同。 • 在任何πi中,如果带参数的接收原语有多个,则其接收变量不得相同

  11. 归约规则(π) • 设S={π1,…, πn} 是完全匹配的,则 π1۰P1 +Q1 | … | πn۰Pn+Qn → P’ 1 | … | P’ n • 其中P’i (i=1,…,n) 定义如下 如果πi中的接收/发送原语全不带参数,则P’ i=Pi 否则,P’ i=Pi [y1/z1, … , yk /zk]。

  12. 归约的例子 • <y> w (u) ۰P + Q | x (z) <v>۰R → P[v/u] | R[y/z] • <y> <y> ۰P | x (z) ۰ Q | x (z) ۰ R → P | Q[y/z] | R[y/z] • 但是,下面的例子不能归约 <y> <y> ۰P | x (z) ۰ Q <y> ۰P | x ۰ Q <y > <v> ۰P | x (z) ۰ Q | x (z) ۰ R <y> <v>۰P | x (z) w (z)۰ Q

  13. Petri网(P/T网)系统 • N =(P,T,F,W,K,q0), • 其中P = {P1,…,Pm}(位置集),T = { T1,…,Tn }(转移集),满足P∩T = ∧, • F ⊆(P  T)∪(T  P)(边集) • W: F →N+ (边的权重) N+ = { 1,2,…} • K: P →N+∪{∝} (容量) • q0 : P →N (初始标识) N = { 0,1,2,…}

  14. 3۰0 1۰0 2۰0 4۰0 T= g1 g23 4 ۰T 用pi+ 演算表达 Petri 网系统 !f3۰ 3۰0 !f1۰ 1۰0 !f2۰ 2۰0 !f4۰ 4۰0

  15. 与N对应的pi+ 演算表达式 • P = P1 |…| Pm | T1 |…| Tn | q0 • 如果K(Pi)=∝, 则 Pi = ! fi ۰Ri,Ri = i۰0, • 如果K(Pi)= k, 则 Pi = |kQi即Pi = Qi | … | Q i (共k个) Qi = fi ۰Ri, Ri = i۰Qi + ifi ۰Ri,

  16. 与转移 对应的表达式 Tj • 我们先把W扩展为A:(PT)∪(TP)→N, 如果e∈F,则A(e) = W(e),否则A(e)=0。 • 令uij=A(Pi ,Tj),vji=A(Tj , Pi) • 与转移对应的表达式 Tj 定义如下

  17. 将pi 演算扩展成pi+ 演算的理由 • 也许有人会问,如果把 中多原语同步通信换成串行通信,即 不是就没有必要引入多原语同步通信机制和pi+ 演算了吗。

  18. 1 T1 P3 P1 1 T2 P4 2 P2 2 T3 P5 其实不然 T1 = g1۰ 3۰ T1 T2 = g1۰ g2۰g2۰ 4۰ T2 T3 = g2۰ g2۰ 5۰ T3

  19. 1 T1 P3 P1 1 T2 P4 2 P2 2 T3 P5 实现容量限制的需要。 另外,为什么要把T中的发送原语也同接收原语一起同步通信呢。这是由于实现容量限制的需要。

  20. 可以用pi 演算表达的Petri网的子集 • 定理1。容量不限的不加权的S-网系统、自由选择网系统可以用 pi 演算表达。 • 定理2。容量不限的加权 T-网系统可以用 pi 演算表达。 • 定理3。一般的,允许容量限制的加权的Petri网系统可以用pi+ 演算表达。

  21. Petri网在pi+ 演算中更细致地描述 即使某转移满足能够激发若干次的条件,也必须一个个串行地顺序执行,而不能并行执行。 只要满足条件,可产生多个转移实例并行执行。 限制最多产生k 个转移实例并行执行。

  22. pi+ 演算对带抑止弧的Petri网的表示 • 定理1。对于带抑制弧的Petri网,如果所有引出抑制弧的位置的容量是有穷的,则可以用Pi+演算表达。 • 定理2。对于带抑制弧的Petri网,如果有引出抑制弧的位置的容量是无穷的,则可以用具有优先原语功能的Pi+演算表达。

  23. 优先原语 • 这里的优先原语指的是下面加了下划线的原语,在归约中让优先原语先归约。 x (y) ۰P | x ( u ) ۰Q | <z>۰R → x (y) ۰P | Q [z/u]| R 而不能 → P [z/y]|x <u>۰Q | R

  24. 参考文章 • Kegang Hao and Xiaoqun Guo The pi+ calculus - an extension of the pi calculus for expressing Petri nets • 郝克刚 郭小群 pi+ 演算及其对Petri网的表示 西北大学信息学院软件工程研究所技术报告 2008.10.27. • 郭小群 郝克刚 pi+ 演算对带抑止弧的Petri网的表示 西北大学信息学院软件工程研究所技术报告 2008.11.6. • 国家863项目No.2007AA010305

  25. 谢谢大家! hkg@nwu.edu.cn http://mainpage.nwu.edu.cn/hkg/home/

More Related