Petri Net
?來(lái)源:http://www.cublog.cn/u/17347/showart_216256.html
?
?
Petri Net
Petri網(wǎng)是對(duì)離散并行系統(tǒng)的數(shù)學(xué)表示。Petri網(wǎng)是1960年代由卡爾·A·佩特里發(fā)明的,適合于描述異步的、并發(fā)的計(jì)算機(jī)系統(tǒng)模型。Petri網(wǎng)既有嚴(yán)格的數(shù)學(xué)表述方式,也有直觀的圖形表達(dá)方式,既有豐富的系統(tǒng)描述手段和系統(tǒng)行為分析技術(shù),又為計(jì)算機(jī)科學(xué)提供堅(jiān)實(shí)的概念基礎(chǔ)。?????由于Petri網(wǎng)能夠表達(dá)并發(fā)的事件,被認(rèn)為是自動(dòng)化理論的一種。研究領(lǐng)域趨向認(rèn)為Petri網(wǎng)是所有流程定義語(yǔ)言之母。
?
- 經(jīng)典Petri網(wǎng)?
經(jīng)典的Petri網(wǎng)是簡(jiǎn)單的過(guò)程模型,由兩種節(jié)點(diǎn):庫(kù)所和變遷,有向弧,以及令牌等元素組成的。?
?
- Petri網(wǎng)的結(jié)構(gòu)?
(1) Petri網(wǎng)的元素:- 庫(kù)所(Place)圓形節(jié)點(diǎn)
- 變遷(Transition)方形節(jié)點(diǎn)
- 有向弧(Connection)是庫(kù)所和變遷之間的有向弧
- 令牌(Token)是庫(kù)所中的動(dòng)態(tài)對(duì)象,可以從一個(gè)庫(kù)所移動(dòng)到另一個(gè)庫(kù)所。
(2) Petri網(wǎng)的規(guī)則是:- 有向弧是有方向的
- 兩個(gè)庫(kù)所或變遷之間不允許有弧
- 庫(kù)所可以擁有任意數(shù)量的令牌
- 行為?
如果一個(gè)變遷的每個(gè)輸入庫(kù)所(input place)都擁有令牌,該變遷即為被允許(enable)。一個(gè)變遷被允許時(shí),變遷將發(fā)生(fire),輸入庫(kù)所(input place)的令牌被消耗,同時(shí)為輸出庫(kù)所(output place)產(chǎn)生令牌。?
- 變遷的發(fā)生是原子的
- 有兩個(gè)變遷都被允許的可能,但是一次只能發(fā)生一個(gè)變遷
- 如果出現(xiàn)一個(gè)變遷,其輸入庫(kù)所的個(gè)數(shù)與輸出庫(kù)所的個(gè)數(shù)不相等,令牌的個(gè)數(shù)將發(fā)生變化
- Petri網(wǎng)絡(luò)是靜態(tài)的
- Petri網(wǎng)的狀態(tài)由令牌在庫(kù)所的分布決定
- Petri網(wǎng)的形式化定義?
一個(gè)經(jīng)典的Petri網(wǎng)由四元組(庫(kù)所,變遷,輸入函數(shù),輸出函數(shù))組成。任何圖都可以映射到這樣一個(gè)四元組上,反之亦然。 - Petri網(wǎng)流程建模?
一個(gè)流程的狀態(tài)是由在場(chǎng)所中的令牌建模的,狀態(tài)的變遷是由變遷建模的。令牌表示事物(人,貨物,機(jī)器),信息,條件,或?qū)ο蟮臓顟B(tài); 庫(kù)所代表庫(kù)所,通道或地理位置;變遷代表事件,轉(zhuǎn)化或傳輸。?
一個(gè)流程有當(dāng)前狀態(tài),可達(dá)狀態(tài),不可達(dá)狀態(tài)。 - 經(jīng)典Petri網(wǎng)的局限性?
- 沒(méi)有測(cè)試庫(kù)所中零令牌的能力
- 模型容易變得很龐大
- 模型不能反映時(shí)間方面的內(nèi)容
- 不支持構(gòu)造大規(guī)模模型,如自頂向下或自底向上
?
- Petri網(wǎng)的結(jié)構(gòu)?
- 高級(jí)Petri網(wǎng)?
為了解決經(jīng)典Petri網(wǎng)中的問(wèn)題,研究出了高級(jí)Petri網(wǎng),在以下方面進(jìn)行了擴(kuò)展:?
?
- 令牌著色?
一個(gè)令牌通常代表具有各種屬性的對(duì)象,因此令牌擁有值(顏色)代表由令牌建模的對(duì)象的具體特征,如一個(gè)令牌代表一個(gè)工人(張三,28歲,經(jīng)驗(yàn)3級(jí))。 - 時(shí)間?
為了進(jìn)行分析,我們需要建模期間,延遲等,因此每一個(gè)令牌擁有一個(gè)時(shí)間戳,變遷決定生產(chǎn)出的令牌的延遲。 - 層次化?
構(gòu)造一個(gè)復(fù)雜性與數(shù)據(jù)流圖相當(dāng)?shù)腜etri網(wǎng)的機(jī)制。子網(wǎng)是由庫(kù)所,變遷和子網(wǎng)構(gòu)成的網(wǎng)絡(luò)。 - 時(shí)序?
增加時(shí)序邏輯的定義,更好的描述行為過(guò)程。
?
- 令牌著色?
- Petri網(wǎng)的應(yīng)用?
Petri網(wǎng)的應(yīng)用非常廣泛,以下是Petri網(wǎng)比較常用的幾種應(yīng)用:?
- 軟件設(shè)計(jì)
- 工作流管理
- 工作流模式
- 數(shù)據(jù)分析
- 并行程序設(shè)計(jì)
- 協(xié)議驗(yàn)證
?
總結(jié)
- 上一篇: 關於@Override
- 下一篇: 小知识:常用开源协议详细解析