A Petri net - ghobaei.ir
Download
Report
Transcript A Petri net - ghobaei.ir
شبکه های پتری
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=(10)
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=(10)
t1
M4=(01)
t2
p3
78
Reachability Tree Example (cont.)
M0=(100)
t1
t3
p2
p1
t1
M1=(001)
“dead end”
t0
t3
M3=(10)
t1
M4=(01)
t2
t3
M3=(10)
“old”
p3
79
Reachability Tree Example (cont.)
M0=(100)
t1
t3
p2
p1
t1
t3
M1=(001)
“dead end”
t0
M3=(10)
t1
M4=(01)
t2
p3
t2
t3
M6=(10)
“old”
M5=(01)
“old”
80
Reachability Tree Example (cont.)
M0=(100)
100
t1
t1
t3
001
M1=(001)
“dead end”
10
t1
t2
01
t3
t3
M3=(10)
t1
M4=(01)
t2
t3
M6=(10)
“old”
M5=(01)
“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