A Petri net - ghobaei.ir

advertisement
‫شبکه های پتری‬
‫‪Petri Nets‬‬
‫‪ -7‬شبكههاي پتري‬
‫‪‬‬
‫فهرست مطالب‪:‬‬
‫‪‬‬
‫مقدمه‬
‫‪ ‬شبكه پتري‬
‫‪ ‬ساختار شبكه پتري‬
‫‪ ‬گراف شبكه پتري‬
‫‪‬‬
‫نشانهگذاري شبكه پتري‬
‫‪ ‬مثالهايي از شبكههاي پتري‬
‫‪ ‬خصوصيتهاي شبكههاي پتري‬
‫‪ ‬خصوصيتهاي رفتاري شبكههاي پتري‬
‫‪‬‬
‫تحليل شبكههاي پتري‬
‫‪ ‬گراف (درخت) دسترس ي‬
‫‪ ‬شبيهسازي شبكههاي پتري‬
‫‪2‬‬
‫مقدمه‬
‫‪‬‬
‫روش های مدلسازي رفتاری سیستم ها‪:‬‬
‫‪‬‬
‫نمودار انتقال حالت (‪)State Transition Diagram‬‬
‫‪‬‬
‫شبکههاي پتري (‪)Petri Net‬‬
‫‪3‬‬
‫نمودار انتقال حالت‬
‫‪‬‬
‫این نمودار داراي دو عنصر حالت و انتقال است‬
‫‪‬‬
‫در این روش سیستم توسط مجموعههاي از حهاتت (‪ )State‬نشهان‬
‫داده ميشههود و رویههدادها (‪ )Event‬باعههت تیییههر حههاتت سیسههتم‬
‫ميشوند‬
‫‪‬‬
‫بهها توجههه بههه اینکههه ام‌ ه سیسههتمها داراي حههاتت م ت‌ ه‬
‫هسههتند‪،‬‬
‫نمودار انتقال حالت بزرگ و پیچیده واهد شد‬
‫‪4‬‬
)‫(ادامه‬
‫نمودار انتقال حالت‬
stop
Compiling
‫مثالي از کامپایل برنامه‬
run
Compiled
error
Events
Start
stop
success
finished
stop
pause
Running
no events
hiccup
Executing
5
Pausing
resume
Events
Events

‫نمودار انتقال حالت‬
‫‪‬‬
‫(ادامه)‬
‫نمودار انتقال حالت ماشین بستنی فروشی‬
‫دريافت نوشابه ‪ 1500‬ريالي‬
‫‪ 1500‬لایر‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 500‬لایر‬
‫صفر لایر‬
‫‪ 2000‬لایر‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 1000‬لایر‬
‫دريافت نوشابه ‪ 2000‬ريالي‬
‫‪6‬‬
‫نمودار انتقال حالت‬
‫‪‬‬
‫(ادامه)‬
‫مشکالت نمودار انتقال حالت‬
‫‪‬‬
‫وقتي تعداد حاتت و رویدادها افزایش یابد‪ ،‬پیچیهديي بهصهورت تصهاعدي‬
‫افزایش ميیابد‬
‫ارزیابي ميشود‬
‫‪‬‬
‫ابهام در نمودار سب افزایش پیچیديي و تضعی‬
‫‪‬‬
‫بهها توجههه بههه عههدم وجههود پشههتوانه ریاضههي توانههایي ارزیههابي کامههل نمههودار‬
‫وجود ندارد‬
‫‪7‬‬
‫شبکه پتري‬
‫‪‬‬
‫بهها وجههود نقههاط ضههع‬
‫و مشههکالت روشهههاي مدلسههازي رفتههار در‬
‫ارزیههابي‪ ،‬اسههتفاده از شههبکههاي پتههري بسههیار مههورد توجههه قههرار‬
‫يرفته است‬
‫‪‬‬
‫شبکه پتري‪ ،‬مبتني بر نظریه يرا‬
‫بوده و با اسهتفاده از قواعهدي‬
‫منطقي جریان فعالیتها در سیستم را نمایش ميدهد‬
‫‪‬‬
‫چارچو ریاضي شبكه پتري سب ميشود تا توانایي تح‌یل‪ ،‬تاییهد‬
‫صحت و ارزیابي مدلها را داشته باشد‬
‫‪8‬‬
‫)‪Petri Nets (cont.‬‬
‫‪Net models are introduced in 1962 by C. A. Petri‬‬
‫‪for modeling concurrent and distributed systems.‬‬
‫‪‬‬
‫‪‬‬
‫‪9‬‬
‫شبکه های پتری (‪ ،)Petri Net‬ابزاري مناس براي مدل سازي بر پایه منطق ریاضي بصورت‬
‫يرافیكي مي باشند با وجود اینکه در واقع پتری نت يرافیکی است اما پایه قوی ریاضی دارد‪.‬‬
‫شبکه های پتری (‪ ،)Petri Net‬می توان برای مدل سازی توصی‬
‫همزمان‪ ،‬توزیع شده‪ ،‬موازی و یا اتفاقی هستند استفاده کرد ‪.‬‬
‫و تح‌یل سیستم هایی که ماهیتی‬
‫‪‬‬
‫عناصر شبکه پتري‬
‫‪‬‬
‫هر مدل شبكه پتري با استفاده از چهار عنصر مدل ميشود‬
‫‪‬‬
‫مكان (‪ :)Place‬حالت سیستم را نشان ميدهند‬
‫‪‬‬
‫انتقال (‪ :)Transition‬رویدادهایي را که سب تیییر حالت سیسهتم ميشهوند‬
‫را نشان ميدهند‬
‫‪‬‬
‫‪‬‬
‫كمان (‪ :)Arc‬ارتباط بین حاتت را نشان ميدهند‬
‫‪‬‬
‫نشانه(‪ :)Token‬نشانهها در مکانها قرار مييیرند‬
‫در هنگام نمایش اجراي شبکه پتري از نشانه (‪ )Token‬براي بیهان‬
‫وضعیت فع‌ي شبکه پتري استفاده ميشود‬
‫‪10‬‬
‫اجزای شبکه ی ‪Petri‬‬
‫شبکه پتری از ‪ 4‬جزء زیر تشکیل می شود ‪:‬‬
‫‪11‬‬
‫تعری‬
‫اجزای ‪Petri‬‬
‫‪places (circles):‬‬
‫مولفه هاواجزای سیستم مثال یک ‪ Disk Driver‬یا یک برنامه یا‬
‫منابع دیگر‬
‫‪transitions (rectangles):‬‬
‫توضیح حوادث و وقایع مثال خواندن از دیسک‬
‫‪arcs (arrows):‬‬
‫رابطه بین ‪ p‬و ‪ t‬را نشان می دهد (مثال تقاضای خواندن از دیسک)‬
‫‪12‬‬
‫کارکرد اجزاء ‪Petri‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪13‬‬
‫‪ : token‬نشانه یا مهره‬
‫‪( : Place‬مكان) براي نگهداري موقت ‪ token‬ها‬
‫‪( : Transition‬انتقال) مركز فعالیت که بر روي ‪ token‬اثر‬
‫مي گذارد و شاید ‪ token‬جدید ایجاد كند ‪.‬‬
‫‪( : Arc‬کمان) مسیر حركت ‪ token‬ها در گراف شبكه پتری‬
‫مثال شبکه پتری‬
‫از كنار هم قرار دادن و اتصال این اجزاء‪ ،‬يرا‬
‫‪‬‬
‫‪14‬‬
‫شبكه پتري تشكیل مي شود‬
‫مثال‬
‫‪15‬‬
‫تعريف شبکه پتري‬
‫‪‬‬
‫(ادامه)‬
‫کمان ورودي (به انتقال)‪ ،‬به کماني يفتهه ميشهود کهه از مکهان بهه‬
‫یهههن انتقهههال وارد ميشهههود و نشهههاندهنده شهههرطي اسهههت کهههه بایهههد‬
‫برآورده شود تا رویداد اتفاق بیفتد‬
‫‪‬‬
‫کمان روجي (از انتقال)‪ ،‬به کماني يفته ميشود کهه از انتقهال بهه‬
‫مکان وارد ميشهود و نشهاندهنده شهرایط حاصهل از وقهود رویهداد‬
‫است‬
‫‪16‬‬
Petri Nets (cont.)


Each modeling formalism consists at least two primitives:

State => Place in Petri nets

Action => Transition in Petri nets
Petri nets have:

An (static) structure:


Can also be graphically represented by PN graphs (a graph of places and
transitions)
A (dynamic) behavior:

PN marking and

PN execution rules
17
Basic Components of PN
input place
transition
output place
token
P1
input arc
T1
P2
output arc
18
A Petri Net Specification

consists of three types of components: places (circles), transitions
(rectangles) and arcs (arrows):

Places represent possible states of the system;

Transitions are events or actions which cause the change of state; and

Every arc simply connects a place with a transition or a transition with a
place.
19
The Petri Net Formal Definition

The Petri net structure is a 4-tuple C = (P, T, I, O):

P is a finite set of places (P = {p1, p2, …, pn}),

T is a finite set of transitions (T = {t1, t2, …, tm}),


I : T  Pn is the input function:


P and T are disjoint (P  T = )
A mapping form transitions to bags of places
O : T  Pn is the output function:

A mapping form transitions to bags of places
20
An Example of Petri Net Structure
C = (P, T, I, O)
P = {p1, p2, p3, p4, p5}
T = {t1, t2, t3, t4}
I(t1) = {p1}
O(t1) = {p2, p3, p5}
I(t2) = {p2, p3, p5}
O(t2) = {p5}
I(t3) = {p4}
O(t3) = {p3}
I(t4) = {p4}
O(t4) = {p2, p3}
p2
p1
t1
p5
t4
t2
p4
t3
p3
21
The Petri Net Graphs

The graphical representation is much more useful for illustrating the
concepts of Petri net theory.

The Petri net graph is a bipartite directed multigraph:



Has two types of nodes:

A circle represents a place:

A bar represents a transition:
or
(in differenet references)
Directed arcs (arrows) connect the places and the transitions.
An example:
p2
p1
t1
p5
t4
t2
p4
t3
p3
22
Another Example
23
A Change of State

A transition is enabled when there are sufficient tokens in its input
places.
P1
P1
T1
P2
T1 is not enabled
P3
T1
P3
P2
T1 is enabled
24
25
‫تعريف شبکه پتري‬
‫‪‬‬
‫(ادامه)‬
‫وقتي مکان ورودي بهه یهن انتقهال‪ ،‬بهه انهدازه مهورد نیهاز نشهانه داشهته‬
‫باشد‪ ،‬آن انتقال فعال (‪-enable‬بالقوه) است‬
‫‪‬‬
‫‪enabled‬‬
‫وقتي انتقهالي فعهال باشهد‪ ،‬ميتوانهد شه‌ین (‪-fire‬بالفعهل) شهود (رویهداد‬
‫اتفاق ميافتد)که در اینصورت ین نشانه از هر مکان ورودي کم شهده‬
‫و ین نشانه به مکان روجي افزوده ميشود‬
‫‪fired‬‬
‫‪26‬‬
Rules
wait
free
enter
before
make_picture
after
leave
gone
occupied

Connections are directed.

No connections between two places or two transitions.

Places may hold zero or more tokens.
Enabled

A transition is enabled if each of its input places contains at least
one token.
free
wait
enter
before
make_picture
after
leave
gone
occupied
enabled
Not
enabled
Not
enabled
Firing

An enabled transition can fire (i.e., it occurs).

When it fires it consumes a token from each input place and
produces a token for each output place.
free
fired
wait
enter
before
make_picture
occupied
after
leave
gone
Play “Token Game”

In the new state, make_picture is enabled. It will fire, etc.
free
wait
enter
before
make_picture
occupied
after
leave
gone
The Petri Net Behavior

The Petri net behavior:

The behavior of PNs is illustrated by:

PN marking and

PN execution rules
31
The Petri Net Marking

A marking (denoted by , M or m) is an assignment of tokens to the
places of a Petri net.

Marking is a primitive concept to Petri nets (like places and
transitions).

Tokens are assigned to, and can be thought to reside in, the places of a
Petri net.

Each Petri net has an initial marking (denoted by 0, M0 or m0).

The number of tokens may change during the execution of a Petri net.

On a Petri net graph, tokens are represented by small dots in the
circles which represent the places:

A place with marking or the number of tokens equial to 3:
32
‫‪The Firing Rules of a PN‬‬
‫'‪m  tk  m‬‬
‫اگر ‪ Pi‬خروجي ‪tk‬‬
‫است‬
‫اگر ‪ Pi‬هم مكان‬
‫ورودي و هم‬
‫خروجي ‪ tk‬است‬
‫‪33‬‬
‫اگر ‪ tk‬به ‪Pi‬‬
‫ارتباطي ندارند‬
‫اگر ‪ Pi‬مكان‬
‫ورودي ‪ tk‬است‬
An Example of a Marked Petri Net Graph

0 = (1, 2, 0, 2, 1)

An initial marking
p2
p1
t1
p5
t4
t2
p4
t3
p3
34
Execution Petri Nets

Execution of Petri nets is non-deterministic. This means two things:

Multiple transitions can be enabled at the same time, any one of which can
fire

None are required to fire - they fire at will, between time 0 and infinity, or
not at all(!) i.e. it is totally possible that nothing fires at all.
، Fire ‫ آماده‬t ‫ ها میر قطعی است و ممکن است از بین چندین‬PNs ‫اجرای‬
.‫ شود‬Fire ‫ فعال کدام‬p ‫هیچ کدام اجرا نشوند و مع‌وم نیست از بین چندین‬


Since firing is non-deterministic, Petri nets are well suited for modeling
the concurrent behavior of distributed systems.
35
Non-determinism
p4
t34
p4
t43
t34
p3
t23
p3
t32
t23
transition t23
fires
p2
t12
t21
t01
t12
t21
p1
t10
p0
t32
p2
p1
Two transitions are
enabled but only one
can fire
t43
t01
t10
p0
Execution Rules for Petri Nets

The execution of Petri net is controlled by the number and
distributions of tokens in the Petri net.

Tokens reside in the places and control the execution of the transitions
of the net.

A Petri net is executed by completion or firing of transitions.

A transition fires by removing tokens from its input places and
creating new tokens which are distributed to its output places.

A transition may fire if it is enabled.

A transition is enabled if each of its input places has at least as many
tokens in it as arcs from the place to the transition.
37
An Example of Petri Net Execution

0 = (1, 2, 0, 2, 1)
p2
p1
t1
p5
t4
t2
p4
t3
p3
38
An Example of Petri Net Execution (cont.)

After firing transition t1:

1 = (0, 3, 1, 2, 2)
p2
p1
t1
p5
t4
t2
p4
t3
p3
39
An Example of Petri Net Execution (cont.)

After firing transition t2:

2 = (0, 2, 0, 2, 2)
p2
p1
t1
p5
t4
t2
p4
t3
p3
40
‫چند نمونه مساله مدلسازی شده با شبکه های پتری‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪41‬‬
‫چراغ راهنما‬
‫ماشین فروشنده نوشابه‬
‫سیستم ‪EFT-POS‬‬
‫تولید کننده‪/‬مصر کننده‬
‫‪......‬‬
‫مثال های م ت‌‬
‫‪‬‬
‫‪42‬‬
‫از شبكه های پتری‬
‫حل مسئله تولید كننده و مصرف كننده ‪:‬‬
43
44
45
‫ماشین فروشنده نوشابه‬
‫‪‬‬
‫ماشین فروشنده نوشابه‬
‫‪‬‬
‫دو نود نوشابه ‪ 1500‬و ‪ 2000‬ریالي موجود است‬
‫‪‬‬
‫فقط سکههاي ‪ 500‬و ‪ 1000‬ریالي پذیرفته ميشود‬
‫‪‬‬
‫سکه پس داده نميشود!‬
‫‪46‬‬
‫نمونه مدلسازي رفتار با شبکه پتري‬
‫‪‬‬
‫(ادامه)‬
‫نمودار انتقال حالت ماشین بستنی فروشی‬
‫دريافت نوشابه ‪ 1500‬ريالي‬
‫‪ 1500‬لایر‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 500‬لایر‬
‫صفر لایر‬
‫‪ 2000‬لایر‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 1000‬لایر‬
‫دريافت نوشابه ‪ 2000‬ريالي‬
‫‪47‬‬
‫نمونه مدلسازي رفتار با شبکه پتري‬
‫‪‬‬
‫(ادامه)‬
‫شبکه پتري‬
‫‪ 1500‬ريال‬
‫پرداخت ‪ 1000‬ريال‬
‫دريافت نوشابه ‪ 1500‬ريالي‬
‫‪ 500‬ريال‬
‫پرداخت ‪ 500‬ريال‬
‫پرداخت ‪ 500‬ريال‬
‫پرداخت ‪ 500‬ريال‬
‫پرداخت‬
‫‪ 500‬ريال‬
‫صفر‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 2000‬ريال‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 1000‬ريال‬
‫دريافت نوشابه ‪ 2000‬ريالي‬
‫‪48‬‬
‫نمونه مدلسازي رفتار با شبکه پتري‬
‫سناريو ‪132‬‬
‫يال‬
‫‪1000‬رر‬
‫‪500‬‬
‫‪500‬ر‬
‫ياليال‬
‫‪ 1500‬ريال‬
‫پرداخت ‪ 1000‬ريال‬
‫(ادامه)‬
‫دريافت نوشابه ‪ 1500‬ريالي‬
‫‪ 500‬ريال‬
‫پرداخت ‪ 500‬ريال‬
‫‪1000‬رريال‬
‫‪500‬‬
‫يال‬
‫‪500‬‬
‫ياليال‬
‫‪500‬ر ر‬
‫‪500‬‬
‫نوشابه‬
‫‪ 500‬ريال‬
‫نوشابهيالي‬
‫‪ 1500‬ر‬
‫پرداخت‬
‫‪ 500‬ريال‬
‫پرداخت ‪ 500‬ريال‬
‫پرداخت‬
‫‪ 500‬ريال‬
‫نوشابهيالي‬
‫‪ 2000‬ر‬
‫‪ 2000‬ريالي‬
‫صفر‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 2000‬ريال‬
‫پرداخت ‪ 1000‬ريال‬
‫‪ 1000‬ريال‬
‫دريافت نوشابه ‪ 2000‬ريالي‬
‫‪49‬‬
Example: Vending Machine (‫وراكي‬
‫)ماشین ودكار فروش‬

The machine dispenses )‫ (توزیعميكند‬two kinds of snack bars – 20c and
15c.

Only two types of coins can be used – 10c coins and 5c coins.

The machine does not return any change.
50
Example: Vending Machine (A Petri net)

FSM:
Take 15c snack
bar
5 cents
Deposit 10c
15 cents
0 cent
10 cents
Deposit 10c
20 cents
Take 20c snack bar
51
Example: Vending Machine (A Petri net)
Take 15c bar
Deposit 10c
5c
15c
Deposit 5c
Deposit
0c
5c
Deposit 10c
Deposit
Deposit
5c
5c
20c
10c
Deposit 10c
Take 20c bar
52
Example: Vending Machine (3 Scenarios)

Scenario 1:


Scenario 2:


Deposit 5c, deposit 5c, deposit 5c, deposit 5c, take 20c snack bar.
Deposit 10c, deposit 5c, take 15c snack bar.
Scenario 3:

Deposit 5c, deposit 10c, deposit 5c, take 20c snack bar.
53
Example: Vending Machine (Token Games)
Take 15c bar
Deposit 10c
5c
15c
Deposit 5c
Deposit
0c
5c
Deposit 10c
Deposit
Deposit
5c
5c
20c
10c
Deposit 10c
Take 20c bar
54
Example: EFTPOS System (STD of an FSM)
EFTPOS: Electronic Fund Transfer Point Of Sale
Initial
1 digit
d1
1 digit
STD: State Transition Diagram
d2
1 digit
d3
1 digit
FSM: Finite State Machine
d4
OK
OK
OK
OK
OK
pressed
Rejected
Reject
Initial state
Approved
Final state
55
EFTPOS System

Scenario 1: Normal


Enters all 4 digits and press OK.
Scenario 2: Exceptional

Enters only 3 digits and press OK.
56
Example: EFTPOS System (Token Games)
1 digit
Initial
1 digit
d1
1 digit
d2
1 digit
d4
d3
OK
OK
OK
OK
OK
pressed
Rejected!
Reject
approve
approved
57
Example: EFTPOS System (A Petri net)
1 digit
Initial
1 digit
d1
1 digit
d2
1 digit
d4
d3
OK
OK
OK
OK
OK
pressed
Rejected!
Reject
approve
approved
58
Producer/Consumer
Model a process with one producer and one consumer, both are either
busy or free and alternate between these two states. After every
production cycle the producer puts a product in a buffer. The
consumer consumes one product from this buffer per cycle.
59
‫نمونه مدلسازي رفتار با شبکه پتري‬
‫‪‬‬
‫تولیدکننده – مصر کننده‬
‫پذيرفته شده‬
‫حاضر‬
‫‪o‬‬
‫‪p4‬‬
‫مصرف‬
‫‪t4‬‬
‫پذيرش‬
‫ذخیره‬
‫‪p1‬‬
‫‪t2‬‬
‫‪t3‬‬
‫‪t1‬‬
‫توليد‬
‫ارسال‬
‫‪p5‬‬
‫آماده‬
‫‪p2‬‬
‫‪o‬‬
‫بيکار‬
‫مصرفکننده‬
‫توليدکننده‬
‫‪60‬‬
Behavioural Properties
 Reachability
•
“Can we reach one particular state from another?”
 Boundedness
•
“Will a storage place overflow?”
 Liveness
•
“Will the system die in a particular state?”
 Reversibility
 Persistence
 Fairness
61
Recalling the Vending Machine (Token Game)
Take 15c bar
Deposit 10c
5c
15c
Deposit 5c
Deposit
0c
5c
Deposit 10c
Deposit
Deposit
5c
5c
20c
10c
Deposit 10c
Take 20c bar
62
A marking is a state ...
t8
p4
t4
p2
t1
p1
t3
t5
t7
M0 = (1,0,0,0,0)
M1 = (0,1,0,0,0)
M2 = (0,0,1,0,0)
M3 = (0,0,0,1,0)
M4 = (0,0,0,0,1)
Initial marking:M0
t6
t2
p5
p3
t9
63
Reachability
t8
p4
t4
M0 = (1,0,0,0,0)
p2
M1 = (0,1,0,0,0)
t1
M2 = (0,0,1,0,0)
p1
t3
t7
t5
p3
M4 = (0,0,0,0,1)
t6
t2
M3 = (0,0,0,1,0)
p5
Initial marking:M0
t9
M0
t1
M1
t3
M2
t5
M3
t8
M0
t2
M2
t6
M4
64
Reachability
A firing or occurrence sequence:
M0
t1
M1
t3
M2
t5
M3
t8
M0
t2
M2
•
“M2 is reachable from M1 and M4 is reachable from M0.”
•
In fact, in the vending machine example, all markings are
reachable from every marking.
t6
M4
65
‫خصوصيات رفتاري شبكههاي پتري‬
‫‪‬‬
‫‪‬‬
‫صوصیاتي كه به نشانه يذاری اولیه بستگي دارند‬
‫‪Reachability‬‬
‫‪‬‬
‫آیا همه حالتها اجرا ميشوند؟‬
‫‪‬‬
‫حالهههت ‪ Mn‬قابلدسهههتیابي از حالهههت ‪ M0‬اسهههت‪ ،‬ايهههر ترتیبهههي از شههه‌ی هایي‬
‫وجود داشته باشد كه از ‪ M0‬شرود شده و به ‪ Mn‬برسد‬
‫‪‬‬
‫وجود حالتهاي میرقابل دستیابي نشان ميدهد كه قسهمتهایي از مسه ‌ه‬
‫بهدرستي در و مدلسازي نشده است‬
‫‪66‬‬
Boundedness
•
A Petri net is said to be k-bounded or simply bounded if the
number of tokens in each place does not exceed a finite number k
for any marking reachable from M0.
•
The Petri net for vending machine is 1-bounded.
•
A 1-bounded Petri net is safe.
67
‫خصوصيات رفتاري شبكههاي پتري‬
‫‪‬‬
‫(ادامه)‬
‫‪Boundedness and Safeness‬‬
‫‪‬‬
‫در صورتیكه تعداد نشانهها در هر مكان قابل دستیابي از حالهت اولیهه‪ ،‬از‬
‫تعداد اصي كمتر باشد به آن شبكه كراندار يویند‬
‫‪‬‬
‫در صورتیكه تعداد نشانهها ‪ K‬باشد به آن شبكه ‪ k-bounded‬يویند‬
‫‪‬‬
‫شبكه ‪ 1-bounded‬را شبكه مطم ن (‪ )Safe‬يویند‬
‫‪‬‬
‫در صورتیكه شبكه مطم ن ميباشد ميتوان اطمینان حاصل كرد كهه بها ههر ترتیبهي‬
‫از ش‌ی ها‪ ،‬سر ریز در ث ّباتها و بافرها بهوجود نميآید‬
‫‪68‬‬
‫خصوصيات رفتاري شبكههاي پتري‬
‫‪‬‬
‫(ادامه)‬
‫‪Liveness‬‬
‫‪‬‬
‫در صورتي که در حین اجرا‪ ،‬هیچ انتقهالی فعهال نباشهد‪ ،‬شهبكه پتهري میهر‬
‫زنده یها مهرده (‪ )Dead‬اسهت و يرنهه‪ ،‬ايهر در حهین اجهرا‪ ،‬همیشهه حهداقل‬
‫ین انتقال فعال وجود داشته باشد‪ ،‬شبکه زنده (‪ )Live‬است‬
‫‪‬‬
‫زندهبودن شبكه پتري معادل بدون بنبست بودن است‬
‫‪69‬‬
Liveness
•
A Petri Net is live if every transition can eventually be fired.
•
A live Petri net guarantees deadlock-free operation, no matter what
firing sequence is chosen.
•
The vending machine is live and the producer-consumer system is also
live.
•
A transition is dead if it can never be fired in any firing sequence.
•
A deadlocked PN:
70
An Example
t1
p3
p2
p1
t2
t3
t4
p4
M0 = (1,0,0,1)
M1 = (0,1,0,1)
M2 = (0,0,1,0)
M3 = (0,0,0,1)
A bounded but non-live Petri net
71
Another Example
M0 = (1, 0, 0, 0, 0)
p1
M1 = (0, 1, 1, 0, 0)
M2 = (0, 0, 0, 1, 1)
t1
M3 = (1, 1, 0, 0, 0)
p2
p3
t2
t3
p4
p5
t4
M4 = (0, 2, 1, 0, 0)
An unbounded but live Petri net
72
Analysis of Petri Nets

Analysis of Petri nets is done based on their state spaces.

The state of a Petri net is defined by its marking.

The firing of a transition represents a change in the state of the Petri net by a change in
the marking of the net.

The state space of a Petri net with n places is the set of all markings (i.e. Nn).

For the previous example, the state space is the set {0, 1, … } or {(1, 2, 0, 2, 1), (0, 3, 1,
2, 2), …}.

The set of reachable states of a Petri net is called reachability set and is represented by a
reachability tree (graph).

The reachability tree represents the sequence of states in the state space or the sequence
of firing the transitions of the Petri net.
73
Reachability Tree

A tree representation of all possible markings

root = M0

nodes = markings reachable from M0

arcs = transition firings

Infinitely reproducible nodes: If a net is unbounded, then the reachability
tree is kept finite by introducing the symbol . Other possible states will
not be shown.

Properties:

a PN is bounded iff  doesn’t appear in any node

a PN is safe iff only 0’s and 1’s appear in nodes

a transition is dead iff it doesn’t appear in any arc

if M is reachable form M0, then exists a node M’ that reaches M
74
Reachability Tree Example
M0=(100)
t3
p2
t2
p1
t1
t0
p3
75
Reachability Tree Example (cont.)
M0=(100)
t1
t3
p2
t2
p1
t1
M1=(001)
“dead end”
t0
p3
76
Reachability Tree Example (cont.)
M0=(100)
t1
t3
p2
t2

p1
t1
M1=(001)
“dead end”
t3
M3=(10)
t0
p3
In this state, t3 can fire for any number of times (∞). Then p2 is unbounded.
77
Reachability Tree Example (cont.)
M0=(100)
t1
t3
p2
p1
t1
M1=(001)
“dead end”
t0
t3
M3=(10)
t1
M4=(01)
t2
p3
78
Reachability Tree Example (cont.)
M0=(100)
t1
t3
p2
p1
t1
M1=(001)
“dead end”
t0
t3
M3=(10)
t1
M4=(01)
t2
t3
M3=(10)
“old”
p3
79
Reachability Tree Example (cont.)
M0=(100)
t1
t3
p2
p1
t1
t3
M1=(001)
“dead end”
t0
M3=(10)
t1
M4=(01)
t2
p3
t2
t3
M6=(10)
“old”
M5=(01)
“old”
80
Reachability Tree Example (cont.)
M0=(100)
100
t1
t1
t3
001
M1=(001)
“dead end”
10
t1
t2
01
t3
t3
M3=(10)
t1
M4=(01)
t2
t3
M6=(10)
“old”
M5=(01)
“old”
reachability graph
reachability tree
81
‫انواع حالت ها در گراف دسترس ی‬
‫‪‬‬
‫نشانه يذاری شبكه با توزیع نشانهها در مكانها نمایش داده ميشود‬
‫‪‬‬
‫‪‬‬
‫حركت نشانهها و ش‌ی شدن سب ایجاد حالتهاي م ت‌‬
‫ميشوند‬
‫انواد حالت ها‪:‬‬
‫‪‬‬
‫حالت اولیه (‪ :)Initial State‬توزیع اولیه نشانهها (‪)M0‬‬
‫‪‬‬
‫حالت قابل دسهتیابي (‪ :)Reachable State‬حالهت ههای قابهل دسهتیابي از نشهانه يهذاری‬
‫اولیه‬
‫‪‬‬
‫حالت نهایي (‪ :)Final State‬حالتی كه ههیچ انتقهالي فعهال نباشهد (نشهانه يهذاری مهرده)‬
‫(‪)M1‬‬
‫‪82‬‬
Some definitions
• The state is represented by the distribution of tokens over places
(also referred to as marking).
• current state
The configuration of tokens over the places.
• reachable state
A state reachable form the current state by firing a sequence of
enabled transitions.
• dead state
A state where no transition is enabled.
br
red
black
rr
bb
83
Generation of the Reachability Graph
84
Generation of the Reachability Graph

By properly identifying the frontier nodes (‫)يره هاي مرزي‬, the generation
of the reachability graph involves a finite number of steps, even if the
PN is unbounded.

Three types of frontier nodes:



Terminal (dead) nodes: no transition is enabled;
Duplicate nodes: already generated;
Infinitely reproducible nodes.
85
Generation of the Reachability Graph
86
Example #2
Coverability Graph
‫كاربرد شبكه پتري در مهندس ي نرمافزار‬
‫‪‬‬
‫شبكه پتري ميتواند براي ام‌ نمودارهاي ‪ UML‬بكار يرفته‬
‫شود‬
‫‪‬‬
‫محصوتت و نمودارهای ‪ UML‬با اجراي الگوریتمهایي به‬
‫شبكه پتري تبدیل ميشوند‬
‫‪‬‬
‫تبههههههههدیل نمودارهههههههههای مههههههههورد‪-‬کههههههههاربرد(‪ ،)Use-Case‬نمههههههههودار‬
‫تهههوالی(‪ ،)Sequence‬نمهههودار مولفهههه(‪ )Component‬بهههه شهههبکه‬
‫های پتری؟(به عنوان تمرین به عهده دانشجویان محترم)‬
‫‪89‬‬
‫تبديل نمودار موارد كاربري‬
‫‪‬‬
‫تبدیل هر ی از موارد كاربري و عاملها‬
‫‪‬‬
‫هر كاربر و مورد كاربري به ی مكان نگاشت ميشوند‬
‫‪‬‬
‫ورودي هر مكان‪ ،‬انتقالي با ی يارد است‬
‫‪‬‬
‫يارد‪ ،‬شرط مربوط به صدا زدن مورد كاربري توسط كاربر را نشان ميدهد‬
‫‪‬‬
‫ی انتقال براي بريشت نیز وجود دارد‬
‫‪‬‬
‫مكان مربوط به هر مورد كاربري با شبكه پتري حاصل از نمودار ترتیبهي‬
‫آن جایگزین ميشود‬
‫‪‬‬
‫این مكانها با دایره توپر نشان داده ميشوند‪ ،‬تا از سایر مكانها مجزا شوند‬
‫‪90‬‬
‫تبديل نمودار موارد كاربري‬
‫‪‬‬
‫(ادامه)‬
‫نمونه تبدیل مورد كاربري به شبكه پتري‬
‫‪Register‬‬
‫‪t2‬‬
‫‪Register‬‬
‫‪User‬‬
‫‪t1‬‬
‫‪User‬‬
‫‪91‬‬
)‫(ادامه‬
‫تبديل نمودار موارد كاربري‬
Uses ‫نمونه تبدیل رابطه‬
<< uses >>
User
User
92
Register
Register
Check UserID
Check UserID

‫تبديل نمودار ترتيبي‬
‫‪‬‬
‫بهازاي هر پیهام موجهود در نمهودار ترتیبهي‪ ،‬مولفهههاي فرسهتنده و‬
‫يیرنده آن به ی زیرسیستم شبكه پتري تبدیل ميشوند‬
‫‪‬‬
‫‪‬‬
‫تبدیل پیامهاي ناهمگام‬
‫‪‬‬
‫تبدیل پیامهاي همگام‬
‫شبكههاي پتري حاصل‪ ،‬مطابق با ترتی و ارتباط بین پیامها ادمام‬
‫ميشوند‬
‫‪‬‬
‫در نهایت براي شبكه پتري حاصل‪ ،‬نشانهيذاري اولیه انجام شود‬
‫‪93‬‬
‫تبديل نمودار ترتيبي‬
‫‪‬‬
‫(ادامه)‬
‫سا تار ترتی‬
‫‪94‬‬
‫تبديل نمودار ترتيبي‬
‫‪‬‬
‫(ادامه)‬
‫سا تار انت ا‬
‫‪95‬‬
‫تبديل نمودار ترتيبي‬
‫‪‬‬
‫(ادامه)‬
‫سا تار توازي‬
‫‪96‬‬
‫تبديل نمودار ترتيبي‬
‫‪‬‬
‫(ادامه)‬
‫سا تار تكرار‬
‫‪97‬‬
‫تبديل نمودار مولفه‬
‫‪‬‬
‫هر ی از مولفهها بهصورت مجزا به شبكه پتري تبدیل ميشوند‬
‫‪‬‬
‫شبكههاي پتري حاصل مطهابق بها نهود ارتبهاط بهین مولفههها بها ههم‬
‫تركی ميشوند‬
‫‪‬‬
‫رفتار هر مولفه با عبارت مسیر (‪ )Path expression‬نشان داده ميشود‬
‫‪‬‬
‫ترتی میان عم‌یات ی مولفه‬
‫‪‬‬
‫فرض بر این است كه ك‌یه عم‌یات انجام شده بوسی‌ه هر مولفهه‪ ،‬ترتیه فرا هواني‬
‫آنها و دفعات اجرا و انت ا این عم‌یات مش ص است‬
‫‪‬‬
‫در نهایت براي شبكه پتري حاصل‪ ،‬نشانهيذاري اولیه انجام شود‬
‫‪98‬‬
‫تبديل نمودار مولفه به شبكه پتري‬
‫‪‬‬
‫(ادامه)‬
‫عم‌گرهاي عبارت مسیر‬
‫؛‬
‫ترتی اجراي عم‌یات عم‌گر‬
‫‪،‬‬
‫انت ا ی عمل از بین مجموعهاي از عم‌یات‬
‫‪+‬‬
‫تكرار ی یا بیشتر عم‌یات و عم‌گر‬
‫*‬
‫تكرار صفر یا بیشتر عم‌یات و عم‌گر‬
‫||‬
‫اجراي موازي عم‌یات‬
‫)(‬
‫عم‌گر مورد نظر بر كل عم‌یات دا ل پرانتز اعمال ميشود‬
‫‪99‬‬
‫تبديل نمودار مولفه به شبكه پتري‬
‫‪‬‬
‫(ادامه)‬
‫نمونهاي از نمودار مولفه پاتیش شده با عبارات مسیر‬
‫‪‬‬
‫رفتار مولفه به نمودار مولفه اضافه شده است‬
‫‪100‬‬
‫تبديل نمودار مولفه به شبكه پتري‬
‫‪‬‬
‫(ادامه)‬
‫سا تار ترتی (عم‌گر ؛)‬
‫‪101‬‬
‫تبديل نمودار مولفه به شبكه پتري‬
‫‪‬‬
‫(ادامه)‬
‫انت ا (عم‌گر ‪)،‬‬
‫‪102‬‬
‫تبديل نمودار مولفه به شبكه پتري‬
‫‪‬‬
‫(ادامه)‬
‫سا تار موازي (عم‌گر ||)‬
‫‪103‬‬
‫تبديل نمودار مولفه به شبكه پتري‬
‫‪‬‬
‫(ادامه)‬
‫سا تار تكرار (عم‌گر *)‬
‫‪104‬‬
‫مثال ‪ATM‬‬
‫‪‬‬
‫نمودار موارد كاربري‬
‫‪105‬‬
‫مثال ‪ATM‬‬
‫‪‬‬
‫(ادامه)‬
‫شبكه پتري معادل نمودار موارد كاربري‬
‫‪106‬‬
‫مثال ‪ATM‬‬
‫‪‬‬
‫(ادامه)‬
‫نمودار ترتیبي‬
‫‪107‬‬
‫مثال ‪ATM‬‬
‫‪‬‬
‫(ادامه)‬
‫شبكه پتري معادل نمودار ترتیبي‬
‫‪108‬‬
‫مثال ‪ATM‬‬
‫‪‬‬
‫(ادامه)‬
‫نمودار مولفه پاتیش شده با عبارت مسیر‬
‫‪109‬‬
‫مثال ‪ATM‬‬
‫‪‬‬
‫(ادامه)‬
‫شبكه پتري معادل با نمودار مولفه‬
‫‪110‬‬
‫توسعه ‪Petri‬‬
‫‪‬‬
‫با وجود تمام نقاط قوت ‪ petri net‬کالسیک دارای ضعف های بسیاری در‬
‫موقعیت های عملی است ونمی توان با آن بسیاری از فعالیتهای عملی را‬
‫مدلسازی نمود‪.‬‬
‫به همین دلیل ‪ petri net‬در جهت های مختلف بسط یافته است که سه تا از‬
‫مهمترین توسعه های ‪ petri net‬عبارتند از‪:‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪111‬‬
‫‪ petri net <---‬رنگی‬‫بسط رنگ‬
‫‪ petri net <---‬زمانی‬‫بسط زمان‬
‫بسط س‌س‌ه مراتبی ‪ petri net <----‬س‌س‌ه مراتبی‬
‫‪ Petri net .1‬رنگی‬
‫‪‬‬
‫به کمک اين خصوصيت بعد جديدي به توکن ها داده مي شود و به اين ترتيب‬
‫توکن ها داراي ‪ type‬شده و محدوده انتخاب ‪ firing‬ها ‪ ،‬اضافه مي شود‪.‬‬
‫به کمک اين انواع توکن ها ‪ ،‬مشخص مي شود که از ميان چندين‬
‫‪ transition‬آماده کدام يک از آنها مي تواند عمل کند ‪.‬‬
‫‪‬‬
‫در اینجا منظور از رنگ یک صفت ویژه است که می توان به یک‬
‫مهره اختصاص داده و آنرا از بقیه متمایز نمود‪.‬‬
‫‪‬‬
‫‪112‬‬
‫نمونه شبکه پتري رنگي‬
p2
t2
p4
t1
t3
red
p1
blue
red
p3
113
t4
p5
‫‪ Petri net .2‬زمانی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫زمان را مي توان به تمام مولفه هاي يک‪ petri net‬اضافه نمود‪.‬از جمله ‪:‬‬
‫‪Transitions‬‬
‫‪selection of paths‬‬
‫‪waiting in places‬‬
‫‪Inhibitors‬‬
‫‪....‬‬
‫معمول ترين استفاده از زمان در ‪ transition‬هاست‪)transition timed (.‬‬
‫و اين به دليل معادل بودن ‪ fire‬شدن يک ‪ transition‬واجراي يک رخداد مدلسازي مي باشد‪.‬‬
‫اين نوع از ‪transition‬ها با يک مستطيل يا يک ‪ tick bar‬نمايش داده مي شوندو‬
‫نامگذاري آنها با ‪ t‬آغاز مي شود‪.‬‬
‫‪114‬‬
Timed Petri net
P1
t1 time T1
P2
115
‫‪cSemanti Firing‬‬
‫‪ -1‬فعال شدن ‪transition‬‬
‫‪ set -2‬شدن ‪ timer‬دوره زماني به زمان‪.T1‬‬
‫‪ -3‬کاهش زمان ‪ timer‬به سمت صفر‪.‬‬
‫‪Fire -4‬شدن ‪ transition‬پس از رسيدن ‪ timer‬به زمان صفرو‬
‫حرکت ‪ token‬ها از ‪ place‬اول به ‪ place‬بعدي‪.‬‬
‫پيش فرض ‪ :‬در مدل ‪ Petri Net‬سرعت کاهش ‪ timer‬بايد براي تمام‬
‫‪ transition‬ها يکسان باشد‪.‬‬
‫‪116‬‬
‫‪ Petri net .3‬س‌س‌ه مراتبی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در اواخر دهه ‪ 1980‬توسعه پیدا كرده است‪.‬‬
‫مشخصه ها و ویژگیها در یك سیستم واقعي به پیچیده و‬
‫گسترده شدن تمایل دارند‪.‬‬
‫امکان جدا سازي و ساختار سلسله مراتبي در ایجاد ساختار‬
‫‪ ،‬بررسي و اصالح آسانتر مدل مورد استفاده قرار میگیرند‪.‬‬
‫‪-‬ساختار سلسله مراتبي « ساب نت » نامیده میشوند‪.‬‬
‫‪117‬‬
‫‪ Petri net .3‬س‌س‌ه مراتبی‬
‫‪‬‬
‫‪118‬‬
‫هر ساب نت ‪ ،‬بوسیله جعبه مستطیلي شكل كه در پردازنده بخشي از مدل پتري‬
‫نت میباشد‪ ،‬نشان داده میشود ‪:‬‬
‫پرسش و پاسخ‬
‫‪119‬‬
Download