نمونه سازی فعل و انفعالی سیستم ها توسط مدل سلسله مراتبی پتری نت رنگی
چکیده
این مقاله مشکل مدل سازی سیستم های فعل وانفعالی را نشانی می دهد. هدف ما فراهم کردن یک راه آسان برای توضیح دادن مجموعه مشخصات شبکه های سلسله مراتبی پتری نت رنگی می باشد. نگرش مدل سازی ما شامل دو سطح انتزاع می باشد: سطح حالت استفاده متناظر با حالت استفاده مدل همانند تعاریف UML , سطح سناریو همانند بازشناسی داده ها از یکی قبل. جنبه رنگ در شبکه ها در سطح سناریو برای حفظ استقلال چندین سناریو بعد از مجتمع سازیشان استفاده می شود. مزیت نگرش ما در فراگیری ساختمان سناریو و در نگرش جدید الحاق کاربرد رنگها و نشانه های chameleon می باشد.
1- مقدمه
نیازبرای تکنیکهای صوری برای تجزیه کردن سیستمهاکاملا، تصدیق شده است. یک محدوده بزرگ صورت گرایی های موجود در استفاده برای سیستمهای مخصوص بوجود می آیند. در نمونه سازی سیستم های فعل و انفعالی صورت سازی دیداری (ویژوال) برای کاستن فاصله بین کاربر و تحلیل گرها بکار می رود. روش های شی گرا همانند UML (1997) که یکی از این صورت سازی ها (نمودارهای حالت) را ارائه کردند، هنوز فقط رفتار دینامیکی اشیای منحصر به فرد را نشان می دهند. و روی هم رفته نمی توانند رفتار سیستم را با صراحت توصیف کنند، آنها باید نمودارهای حالت اشیای سیستم را ترکیب کنند. سهم کلی این مقاله فراهم کردن یک نگرش برای مجموعه مشخصات صوری رفتار یک سیستم روی هم رفته می باشد. پیشنهاد ما بک فرآیند مشتق شده از ترکیب خصوصیات سیستم های UML همانند روش شی گرایی و شبکه های پتری رنگی همانند روش صوری می باشد. در آعاز فرآیند، ما یک دیاگرام حالت استفاده را بر طبق UML شرح می دهیم. آنوقت این دیاگرام را به شبکه پتری نخست که دارای حالات استفاده مانند مکان ها و فعل و انفعالات کاربر است تغییر می دهیم به شکلی که شرایط تغییرات محافظت شود. هر مکان از شبکه اول (حالت استفاده) بعد از بازشناسی توسط شبکه پتری رنگی از سناریوهای وابسته به حالات استفاده گوناگون ساخته می شود. انتخاب شبکه های پتری رنگی مانند صورت گرایی توسط نشانه های رنگی که در مجتمع سازی سناریو ها بسیار هستند و مفهوم ابزاری های شبکه رنگی که قادر به دسترسی برای وارسی و شبیه سازی خصوصیات نتایج می باشد، راهنمایی شده اند. مخصوصا، چندین حالت استفاده ممکن است با هم نشان داده شوند، و چندین سناریو و چندین کپی از سناریو ها ممکن است با هم شبیه سازی شده باشند. دو بخش بعدی از کار ما الگوریتم جدیدی برای سناریو های فعل و انفعالی و مفهوم نشانه chameleon، معرفی به ترتیب مجوعه مشخصات سناریو های سیستم می باشد و نه بیشتر.
2- شبکه های پتری و شبکه های پتری رنگی
شبکه های پتری (PN) مورد استفاده تنوع بزرگ حوزه های متفاوت هستند. دامنه کاربردشان از سیستم های غیر صوری تا صوری و از نرم افزار تا سخت افزار های سیستم و سیستم های ترتیبی تا سیستم های همزمان می باشد. بطوریکه ذکر کردند در شبکه های پتری در پروتکل های ارتباطی، الگوریتم های توزیع شده، معماری کامپیوترها، سازمان کامپیوترها و ... استفاده شده اند.
یک PN ساده بوسیله یک گراف دو قسمتی شامل مکانها، انتقال ها و نشانه ها تعریف می شود.
PN =
.
P: مجموعه مکان ها
T: مجموعه انتقال ها
A: مجموعه بردارهای جهت دار متصل کننده مکان ها و انتقال ها
M: مجموعه نشانه های مستقر در مکان ها در یک محدوده معین
در سیستم های دنیای واقعی، اغلب قسمتهایی را پیدا می کنیم که شبیه یکدیگرند. این قسمتها توسط گسسته شدن مساوی به زیر شبکه هایی در شبکه پتری تبدیل و نشان داده شوند. این بدین معنا است که شبکه ها تا حد زیادی بزرگ شده اند و این امر دیدن همسانی بین زیر شبکه های منحصر به فرد را مشکل می نماید. CPN ها نمایش فشرده ای را که زیر شبکه های منحصر به فرد با یک زیر شبکه با نشانه هایی از نوع متفاوت که هر نشانه دارای یک رنگ است و نماینده یک زیر شبکه متفاوت در PN هم ارز آن می باشد، جا به جا شده اند را فراهم می سازند.
تعریفهای گوناگونی از CPN ها وجود دارد. در اینجا، از تعریف Lakos استفاده می کنیم که کمی متفاوت از تعریف Jenson می باشد.
تعدادی از تعریفی که برای CPN ها رسمیت دارد:
ü مجموعه عناصر از یک نمونه T می توانند با T مشخص شوند.
ü مجموعه چندگانه از عناصر نمونه T با T* مشخص می شوند.
ü در مجموعه چندگانه، جمع و تفریق و ضرب عددی و عملیات های محاسباتی با روش معمولی مشخص می شوند.
(m1 – m2, m1 <= m2, etc.)
ü نمونه متغییر v با Type(v) مشخص می شود.
ü نمونه یک عبارت expr با Type(expr) مشخص می شود.
ü مجموعه متغیرها در عبارت Expr با Var(expr) مشخص می شوند.
ü b از مجموعه V مقید شده اگر: " v Î V : b(v) Î Type(v)
یک شبکه پتری رنگی بصورت زیر تعریف می شود:
a tuple <å, D, P, T,
A, t, G, E, I> where:
å is a finite set of non-empty types, called color sets.
D is a finite set of data fields.
P is a finite set of places with P Í D.
T is a finite set of transitions with D Ç T = Æ.
A is a finite set of arcs such that A Í P x T È T x P.
t is a color function, t: D ® å, " p Î P, t(p) = C* and C*
Î å.
G is a guard function, G: T ® expr where:
" t Î T: [Type(G(t)) = bool Ù Type(Var(G(t))) Í å]
E is an arc expression function, E: D x T È T x D ® expr
where:
E(x1, x2) = Æ if (x1, x2) Ï A and
" a Î A: [Type(E(a)) = t(p(a)) Ù Type(Var(E(a))) Í å]
p(a) is the place of arc a.
I is an initialization function, I: D ® expr, where
I(d) is a closed expression and " d Î D: [Type(I(p)) = t(p)].
در این تعریف، کمانهای مبین نشان دهنده نشانه هایی هستند که بوسیله انتقال ها اضافه یا حذف می شوند. مکانها و متغییرهای مبین نوشته می شوند، و علامت آغازین بوسیله تابع آغازین I تعریف می شود.
3- زبان نمونه سازی یکپارچه (UML)
UML بهترین بیان متودولوژی شی گرا برای تهیه یک دامنه آنالیزها و طراحی شی گرا بصورت استاندارد می باشد. UML برای توسعه نرم افزار فرآیندی را فراهم نمی کند، اما یک قاعده علامت گزاری را برای شرح قسمت های مختلف سیستم توسط اعداد و دیاگرام ها ارائه می دهد.
دیاگرام مورد کاربرد در UML یک مجوعه از موارد کاربرد و عوامل خارجی را که با سیستم در تعامل هستند، عرضه می کند. یک مورد کاربرد شرحی عمومی از اشیاء مختلفی را که با سیستم تراکنش دارند را ارئه می دهد.
تصویر شماره 1 نمودار مورد کاربرد را در ارتباط با یک دستگاه خودپرداز نشان می دهد. در اینجا یک actor (مشتری) با 4 مورد کاربرد در تعامل است.(شناسایی، تراز، واریز و دریافت) حالت print برای مثال با سه حال دیگر استفاده می شود.(شناسایی، واریز و دریافت).
یک اجرا از مورد کاربرد، سناریو نامیده می شود، سناریو ها می توانند با دیاگرام های توالی یا دیاگرام های همکاری نشان داده شود، و تبدیل بین دیاگرام ها امکان پذیر می باشد. در اینجا برای نشان دادن سناریو ار نمودار توالی استفاده می کنیم. که برای راحت تر کردن کار آنرا در این مقاله دیاگرام سناریو می نامیم.
یک دیاگرام سناریو تعامل بین مجموعه ای از اشیاء در یک ترتیب موقتی است. در تصویر 2 یک مثال از دو سناریوی پاسخ دهنده به شناسایی((identify مورد کاربرد سیسیتم ATM ارائه شده است.
یک دیاگرام سناریو تعامل بین مجموعه ای از اشیاء در یک ترتیب موقتی است. در تصویر 2 یک مثال از دو سناریوی پاسخ دهنده به شناسایی((identify مورد کاربرد سیسیتم ATM ارائه شده است.
4- توصیف روش
در این بخش ما فرآیند را برای دستیابی به خصوصیات صوری رفتار سیستمی که قرار است مدل سازی شود شرح می دهیم. توجه کنید که رفتار کل سیستم و نه فقط رفتار اشیاء تشکیل دهندۀ آن را نشان خواهیم داد. برای رسیدن به این هدف، ما در شیوۀ خود از دو نوع از دیاگرام های UML که در بخش قبلی تشریح شده اند استفاده می کنیم و آنها را با CPN ها ترکیب خواهیم نمود.
این روش چهار فرآیند دارد :
- جزئیات مربوط به دیاگرام مورد کاربرد سیستم و تولید PN پاسخگو.
- بازشناسی ارتباط های کاربردی و بهنگام سازی PN مربوط به گام 1.
- جزئیات مربوط به چندین سناریو برای هر مورد کاربردی.
- مجتمع سازی سناریو ها بوسیلهی مورد کاربرد.
1-4- جزئیات دیاگرام مورد کاربرد.
این مرحله را با تعیین جزئیات دیاگرام مورد کاربرد سیستم آغاز می کنیم. سپس از آنجایی که هر مورد کاربرد به یک شبکه پتری تبدیل شده است اولین شبکه پتری مشتق را تولید می نمائیم. تحولی که منجر به این حالت می شود بوسیله یک شرط که با تعریف ابتدائی مورد کاربرد بوسیله actor مطابق است، محافظت می شود. در PN تولید شده یک مکان آغاز مدل سازی که ورودی سیستم یا نقطه آغازین است را اضافه می کنیم و بعد از اجرای موارد کاربرد، سیستم به مکان آغازین ابتدایی خود باز مبگردد. این مکان شامل چندین نشانه برای مدلسازی اجرای همزمان موارد کاربرد می باشد. شکل 3 یک PN مشتق شده را برای یک سیستم ATM نشان می دهد. ما از یک پیشوند واحد برای تشخص دادن شرایط محافظت از موارد کاربرد مختلف استفاده می کنیم. در مثال زیر از اولین کلمه برای ارجاع به یک مرود کاربرد خاص استفاده می کنیم.
2-4- بازشناسی ارتباطات کاربردی
در یک دیاگرام مورد کاربرد می توان یک مورد کاربرد را بر روی سرویس های مورد کاربرد دیگر و از طریق ارتباط های کاربردی فراهم کرد. این ارتباط ممکن است برداشتهای مختلفی را بسته به سیستم مورد نظر ارائه دهد.توجه کنید که ارتباط کاربردی بین دو مورد کاربرد UC1 و UC2 ممکن است به طرق مختلف تفسیر شود. تصویر 4 فرم کلی این ارتباط را نمایش می دهد. UC1 به سه زیر مورد کاربرد تجزیه می شود. UC11 بخشی از UC1 را که قبل از فراخوانی UC2 اجرا می شود، ارائه می دهد. UC12 بخشی است که به طور همزمان با UC2 اجرا می شود و UC13 بخشی است که پس از پایان اجرای UC2 اجرا می گردد. ممکن است دو تا از این زیر مورد کاربردها خالی باشند. که نتایج این مورد در یکی از انواع پیکربندی در شکل 4 نشان داده شده است.
نسبت Type(g) بین UC1 و UC2 بدین معنی است که UC2 مقدم است بر UC1، این به این نکته اشاره دارد که UC1 نمی تواند مستقیمان به مکان آغازین دستیابی داشته باشد. بنابراین انتقال از مکان آغازین به UC1 باید توسط یک انتقال از UC2 به UC1 تغییر نماید. در یک سیستم ATM (تصویر 1) ارتباط مورد استفاده بین "Deposit,Identify" ، "Withraw,Identify" و "Balance,Identify" از Type(g) می باشند، و ارتباط بین "Deposit,Print" ، "Withdraw,Print" و "Balance,Print" از Type(e) هستند. تصویر 5 بروزرسانی PN را به بازشناسایی ارتباط کاربردی نشان می دهد.
3-4- جزئیات سناریو
نتیجه بخش 2 این است که ما یک لیست از موردهای کاربرد پایه را مشخص می نمائیم.(Uc1,Uc2…Ucn) . برای هر موردکاربرد Uci تحلیل گر سناریو های وابسته را بدست می آورد ( Sci1,Sci2…Scim ). بدست آوردن یک سناریوی Scik شامل ساختمان دیاگرام سناریو و جداول وابسته به حالت اشیاء می باشد. این جداول مشتق شده اند از دیاگرام سناریو با شرح پیغام های معامله از بالا به پایین و تعیین هویت مبادله در حالات اشیاء بعد از فرستادن پیغام. جدول 1 مثالی از جدل حالات اشیاء را نشان می دهد.
از این جدول ما یک CPN وابسته به پیغام های حالات حفاظت برای انتقال ها بدست می آوریم. تصویر 6 یک CPN برای سناریوی اول از مورد کاربرد Identify نشان می دهد. از یک رنگ همسان برای نشان دادن مکانها در CPN بدست آمده استفاده می شود. مکان B نماینده نقطه آغازین مورد کاربرد می باشد. تمام سنارو ها با مورد کاربرد های یکسان که مکان آغازین همسان دارند اما با رنگ های گوناگون، مرتبط هستند.
4-4- مجتمع سازی سناریو
در این بخش، هدف ما ادغام کردن چندین CPN مطابق با همه سناریو های مورد کاربرد Uci برای ساختن یک مدل CPN جدید از همه رفتار مورد کاربردی است. الگوریتم پیشنهاد شده، یک راه افزایشی را برای سناریو های مجتمع ساز تهیه می کند. اگر دو سناریوی Sc1 و ُSc2 را برای مورد کاربردی معین و CPN های متناظر، در نظر بگیریم، الگوریتم قادر خواهد بود مکانهای Sc1 و Sc2 را که سناریوی حالت یکسان دارند ترکیب نماید. مکانهای ترکیب شده یک رنگ مشترک از رنگ های دو سناریو خواهند داشت. برای انتقال، الگوریتم انتقال ها را که در دو سناریو که دارای ورودی و خروجی مکان های هستند را نظاره می کند.
در ادامه توضیحی از الگوریتم آمده است.
Sc1 = <å1, D1, P1, T1, A1, t1, G1, E1> where:
å1 = {c1},
t1: D1 ® {c1},
G1 is formed by conditions associated to messages,
E1 is the identity function.
Sc2 = <å2, D2, P2, T2, A2, t2, G2, E2>
å2 = {c2},
t2: D2 ® {c2}.
Sc = <å, D, P, T, A, t, G, E>
å = {{c1} ,{c2} ,{c1,c2}},
D = D1 È D2,
P = P1 È P2,
t: D ® å where
"p Î P1 Ç P2 : t(p) = {c1,c2},
"p Î P1 \ (P1 Ç P2) : t(p) = {c1} and
"p Î P2 \ (P1 Ç P2) : t(p) = {c2}.
ساختمان نتیجه الگوریتم مجموعه ای از انتقالات T می باشد، که با الگوریتم زیر بدست می آید.
Begin
T = Æ
For each t Î T1
calculate ·t and t·
// ·t = {p|(p, t) Î A} and t· = {p|(t, p) Î A}
If $ t’ Î T2 ½ ·t’ = ·t and t’· = t· then // merge
T = T È {t}
T2 = T2 \ {t’}
G(t) = G1(t) Ú G2(t’)
delete t’ from A2, G2 et E2
Else
T = T È {t}
G(t) = G1(t)
Endfor
For each t Î T2 // remainder transitions in T2
T = T È {t}
G(t) = G2(t)
Endfor
// calculation of A
A = A1 È A2
// calculation of E
For each a Î A having the form (p,t)
Type(E(a)) = Type(t(p))
For each a Î A having the form (t,p)
Type(E(a)) = Type(t(p)) Ç Type(t(·t))
End.
در اصل، بعد از مجتمع ساختن چندین سناریو، خصوصیات نتیجه شده در سناریو های آغازین ضبط می شوند و حتی شاید بیشتر.
تصویر 7 این مشکل را نشان می دهد. نتیجه سناریوی Sc در Sc1(B,S1,S2,S3,S4,S5) ، Sc2(B,S1,S6,S3,S7,S5) و و دو سناریوی دیگر (B,S1,S2,S3,S7,S5) و (B,S1,S6,S3,S4,S5). در مکان آغازین B در شکل 7، چند رنگ برای نشانه ها خواهیم داشت؟ اگر آن رنگ c1 باشد بدین معنی است که Sc1 اجرا می شود. اما در این مکان ما نمی دانیم که کدام سناریوی کاربر اجرا خواهد شد. برای حل این مشکل، نشانه chameleon (نشانه با چندین رنگ) را معرفی می کنیم. به محض اینکه مکانی از شبکه مجتمع مشاهده می شود، آن توسط اشتراک رنگهایش و رنگ مکان های دیده شده مشخص خواهد شد. نشانه chameleon را با رنگ سفید نشان می دهیم. هنگامیکه این نشانه از مکان S1 می گذرد، آن چند رنگ می ماند(c1,c2) و اگر از S1 گذر و به S2 برسد، رنگ آن به c1 تغییر می کند و آن به تنهایی در طول شبکه نگهداری می شود، یا اگر از S1 به S6 عبور کند، رنگ آن به c2 تغییر م یکند و آن به تنهایی در طول شبکه نگهداری می شود.
منبع :
http://yaran1984.blogfa.com/post-338.aspx
********************************************************
مقاله ای درباره :
نمونه سازی فعل و انفعالی سیستم ها توسط مدل سلسله مراتبی پتری نت رنگی.
Petri net و مدلسازي سيستم هاي کنترل از راه دور بر اساس اينترنت با استفاده از شبكه پتري
روح اله برزمينی
كارشناسي ارشد دانشگاه صنعتی اميرکبير
چكيده
امروزه استفاده از متدهاي مدلسازي در كارهاي صنعتي خصوصاً با گسترش علوم رايانهاي و افزايش سرعت پردازندهها، كاربرد وسيعي پيدا كرده است. يكي از روشهاي مدلسازي استفاده از شبكههاي پتري است كه در اين مقاله به بيان عملكرد آن ميپردازيم.
كلمات كليدي
شبكه پتري، شبيه سازي، سيستم، گذر، مكان، WebBase
1- مقدمه
شبيه سازي يعني ساختمان شبيه يك سيستم به هر روش يا صورت ممكن كه مي تواند از بعضي جهات با سيستم مرجع متفاوت باشد.هدف شبيه سازی ،مطالعه و بر رسي سيستم مرجع مي باشد.اساس و رکن مدلسازی يا انتخاب مدل مناسب است . انتخاب مدل مناسب ،پارامترتعيين کننده ای است ،لذا در ابتدا بايد مدل را خوب شناخت. هر نوع ارائه يا بيان يک سيستم را مدل مي گويند.مدل رفتار سيستم را بيان مي کند و از خواص مدلسازی،سادهسازی وايجاد يکنواختي ويگانگي است.يکي از روشهای مدلسازی استفاده از شبکه پتری می باشد.شبکه پتری در سال 62 توسط ادعای آقای کارل آدام پتری ابداع شد. وي بيشتر كار خود را روي سيستم اطلاعات قرار داد و گروههاي خاصي در آلمان و بسياري از كشورها تشگيل گرديدند تا تحقيقات روي كاربرد شبكه پتري را توسعه و گسترش دهند.ما در اين مقاله بعد از توضيحی مختصر در مورد پتری نت با ارائه يک مسال کامل کاربرد پتری نت در مدلسازی سيستمهای WebBase را بررسی می کنيم.
2- كاربرد تئوري شبكه پتري
كاربرد عملي براي طراحي و تحليل سيستم ها به چندين طريق، ممكن ميباشد. يكي «شرح شبكه پتري به عنوان يك وسيله كمكي تحليل سيستم» است. براي اين كاربرد، تكنيك خاص طراحي جهت تعريف سيستم به كار ميرود. سيستم به عنوان شبكه پترينت مدل ميشود و مدل شبكه آناليز ميگردد. از ديد تحليل يا آناليز، يافتن خطاي طراحي موجود مهم است و طراحي بايد مدل شود تا خطاها اصلاح شوند. اين طراحي تعريف شده، ميتوانند به دفعات مدلسازي و آناليز شود. كاربرد فوق براي طراحي با شبكه پتري نياز به تبديلهاي مناسب بين سيتم طراحي شده و مدل شبكه پتري دارد. يك گزينه متقابل وجود دارد كه در آن تمامي طراحي و تعريف پروسه هابه صورت بخشهايي از شبكه پتري انجام شود. تكنيكهاي آناليز فقط وقتي انجام ميشود كه طراحي شبكه پتري بدون خطا باشد. پس مسأله، «انتقال شبكه پتري و يك سيستم واقعي در حال كار» است.
در دو ديدگاه فوق، تحقيقات مختلفي روي شبكه پتري صورت گرفته است. در اولي تكنيكهاي مدلسازي بايد توسعه يابد تا سيستم قابل ارائه با شبكه پتري باشد در دومي تكنيكهاي پيادهسازي بايد توسعه يابد تا قابل ارائه توسط شبكه پترينت باشد كه در هر حالت نياز به دانستن خواص شبكه پتري نت خواهيم داشت. كاربرد شبكه پتري، در مدلسازي و تحليل سيستمها است. سيستمها، ابتدا به صورت شبكه پتري مدل ميشوند، سپس مدل تحليل ميگردد. درك صحيح سيستم از نتايج تحليل، ما را به يك سيستم مفيد هدايت ميكند كه تحقيقات روي مدلهاي خود كار مدلسازي وآناليز ميباشد. (مدل سيستم پيچيده را به سيستم ساده تبديل ميكند).
3- تئوري كاربردي شبكه پتري
تئوريهاي شبكه پتري در دو جهت توسعه يافتهاند:
الف- كاربرد: تئوري كاربردي شبكه پتري.
ب- تئوري: تئوري خالص شبكه پتري
كاربرد شبكه پتري در مدلسازي سيستمها، آناليز آنها و بازگشت نتيجه به سيستم مدل شده است كه اين بخش نياز به دانش دوباره حوزه كاري شبكه و تكنيكهاي آن دارد.
توسعه در راستاي ابزراهاي اساسي، تكنيكها و روابط مورد نياز براي كاربرد شبكه هاي پتري است كه به منظور مؤثرتر كردن كاربرد، تئوري قوي مورد نياز است. توسعه در راستاي تئوري شبكه پتري بسط ابزار آن و توجه به اين نكته است كه استفاده از شبكه پتري، براي حل مشكلات دنياي واقعي ميباشد. در اين راستا سعي ما بر اين است كه به دو جنبه تئوري و كاربردي بپردازيم، بعضي فرمولها را تعريف كنيم و سپس قدرت و استفاده از آن را تشريح نماييم.
4- تعريف اساسي
در اين بخش تعريف رسمی بر مبناي روابط شبكه پتري را ارائه ميكنيم كه اين تعاريف و فهم اساسي و مطالعه شبكه پتري مورد نياز است. فرموله كردن ما براساس توسعه تئوري مجموعهها ميباشد. در حقيقت آنها تعريف سطح يا دسته جديدي از ماشينها به نام اتوماسيون شبكه پتري را تعريف ميكنند.
4-1- ساختار شبكه پتري
يك شبكه پتري تركيبي از 4 جز ميباشد:
· مجموعهاي از مكانها P
· مجموعهاي از گذرها T
· يك تابع ورودي I
· يك تابع خروجيO
توابع I/O پل ارتباط گذرها (T) و مكانها (P) بوده و T,P را مرتبط ميكند. تابع وردي I «يك نگاشت از گذر به مجموعه مكانهاي است» كه به عنوان مكانهاي ورودي گذر شناخته مي باشد.
تابع خروجي o «يك نگاشت از گذر به يك نمونه از مكانهاي است» كه به مكانهاي خروجي شناخته ميشوند. ساختار شبكه پتري بوسيله مكانها، گذرها، توابع ورودي و خروجي تعريف ميشوند.
تعريف 1-2: ساختار شبكه پتري از 4 جز C=(P,I,T,O) تشكيل شده است:
P={P1, P2,…,Pn},n
T={t1,t2,…,tm} m (1)
مجموعه مكانها و گذرها از هم جدا ميباشند.
تابع ورودي: يك نگاشت از گذرها به مجموعه مكانها است.
تابع خوجي: يك نگاشت از گذرها به مجموعه مكانها است.
مكان يك مكان ورودي از گذر است اگر باشد و يك مكان خروجي است كه اگر باشد. بيشتر كار تئوري شبكه پتري، بستگي به تعريف اصلي ساختار شبكه بالا دارد و ارائه مدل گرافيكي براي روابط تئوري شبكه پتري بسيار مفيد است. گرافهاي شبكه پتري دو نوع هستند.
· دايره O: مكان
· ميله│: گذر
و مكانهاي مستقيم( ) كه مكانها و گذرها را مرتبط ميكند. كمان مستقيم از يك مكان به يك گذر تعريف ميكند كه ورودي گذر است و بالعكش خروجي گذر است.
پس گراف شبكه پتري سه عنصر دارد: دايره O، ميله │ و كمان ( ). يك شبكه پتري «چندين گرافي» اجازه خروج تعدادي كمان را از يك گره گراف به ديگري ميدهد.
مكانهاي، ارائه كننده «وضعيت» مانند يك حافظه، و گذرها، ارائه كننده يك پيش آمده (even) مانند سوئيچ ميباشند. شكل شماره 1، يك گراف نمونه از شبكه پتري را نمايش ميدهد.
شکل1.يک پتری نت
4-2- علامتگذاري شبكه پتري
علامت m علامتدهي يا قرار دادن يك سري مهره (token) در مكانهاي شبكه پتري است. يك مهره، مفهوم ابتدايي نظير T,P از شبكه پتري را دارد. پس از اينكه مهرهها تعريف شدند و داخل مكانهاي (P) شبكه پتري قرار گرفتند، تعداد و ضعيت مهرهها در اثناي اجراي يك شبكه پتري ميتواند تغيير كند. به عبارت ديگري ميتوان گفت كه مهرهها مورد استفاده قرار ميگيرند تا بتوانند اجراي شبكه پتري را تعريف كنند.
تعريف شبكه پتري علامتگذاري شده
M=(c,m)يك شبكه پتري C=(P,T,I,O) و يك علامت m است كه اغلب نوشته ميشود: M=(P,T,I,O,m) بردار m براي هر تعداد مهرههاي آن مكان را نشان ميدهد. تعداد مهرهها در و ميباشد يعني
4-3- قوانين اجرا بر شبكه پتري
شبكه پتري، بوسيله شليك گذرها اجرا ميشود. اجراي يك شبكه بوسيله تعدادي مهرههاي مجزاي شمارهگذاري شده انجام ميشود. مهرهها در مكانها قرار مي گيرند و اجراي گذر شبكه را كنترل مي كنند.
يك گذر T بوسيله برداشتن (مهره) از مكانهاي ورودي و ايجاد مهرههاي جديد مجزا در مكانهاي خروجي اجرا ميگردد. يك گذر در صورتي شليك (fire) ميكند كه مجاز يا فعال باشد و در صورتي مجاز است كه هر كدام از مكانهاي ورودي گذر حداقل داراي تعداد مهرهاي برابر با كمانهاي ورودي به آن گذر (كه به صورت پيكان از مكان P به گذر T است) باشد. تعداد مهرههايي كه براي چندين كمان ورودي نياز است تا يك T را فعال كند، به عنوان (مهرههاي فعالسازي) ناميده ميشوند و مهرهها ميتوانند رنگي باشند. گذر در يك شبكه پتري علامتدار C=(P,T,I,O) با علامت m وقتي فعال ميشود كه تعداد مهرههاي فراهم شده برابر يا بزرگتر از حداقل تعداد كمانهاي ورودي به باشد.
مثال: در شكل (2) وقتي T4 شليك ميشود كه حداقل دو مهره يكي در P1 و يكي در P8 وجود داشته باشد. همچنين T2 وقتي شليك ميشود كه حداقل 3 مهره در P6 وجود داشته باشد.
وقتي يك گذر شليك ميگردد تمام مهرهها فعال كننده را از مكانهاي ورودي خود خارج و سپس به مكانهاي خروجي، ارسال ميكند.
شکل2.
5-مدلسازي و كنترل از راه دور براساس اينترنت
فعاليتهاي رباتيكي از طريق اينترنت چندين و چند مشكل دارد، اين مشكلات از اينترفيس روبات و كامپيوتر و اثر روبات و انسان برهم، براي غلبه بر تأخير زماني و همزماني حين كار بوجود ميآيد. اين مشكلات زماني كه چند انسان در چند سايت از راه دور چند روبات را براي يك منظور خاص استفاده می كنند،دو چندان می شود.در اين مقاله يك روش جديد مدلسازي و كنترل براي يك كنترل از راه دور هماهنگ آماده شده است. تركيب پترينت و طراحي براساس حادثه و تئوري كنترل يك راه مؤثر براي مدل كردن همزماني و پيچيدگي همكاري از راه دور براساس اينترنت است. همچنين يك وسيله مؤثر براي مطالعه پايداري، همزماني يك سيستم است. و اين روش توانايي ما را در طراحي سيستمهاي روباتيك مطمئن و سالم و باهوش وكنترل از راه دور بوسيله اينترنت افزايش ميدهد. اين روش جديد به طور تجربي در سه سايت آزمايشگاهي روباتيك در آمريكا، هنگ كنگ و ژاپن آزمايش شده است.نتايج آزمايشگاهي مزاياي اين روش را نشان ميدهد.
در اين پروژه يك روبات در دانشگاه ايالتي ميشگان بصورت Real-time از ژاپن و هنگ كنگ از طريق اينترنت كنترل ميشود. مزيت اينترنت بيشتر بخاطر دسترسي آسان و ارزوني و گستردگي جهاني آن است. انگيزه اصلي همكاري از دور بيشتر به خاطر وجود كارهايي است كه نياز به چندين مهارت بطور همزمان است.
شكل 3
مشكل اصلي اين همكار از راه دور، تأخير زماني كه ممكن سيستم را ناپايدار يا ناهمزمان كند و ديگري اين است كه سلامت و كارايي همكاري است يعنِي اينكه چه نكاتي را اپراتورها در ذهن دارند. در بعضي از تحقيقات تأخير زماني را ثابت فرض ميكنند يعني براي هر كاربر يك اندازه تأخير در نظر ميگيرند. كه اين فرض وضعيتي بحراني براي سيستم ايجاد ميكند.بنابراين نبايد هيچ فرضي براساس اينترنت كرد چون هر فرض يك محدوديت ايجاد ميكند. مدلي بايد باشد كه همزماني و نامعيني سيستم را Capture كند.
مدل پتري نت:براي شناختن رفتار اين سيستم بايد مدل ديناميكي آن مشخص باشد. كه اين مدل در شكل 2 نشان داده شده است. هر بلوك و فلش در زير توضيح داده شده است.
كاربر: براي كاربر مطابق ]11[ و ]10[ يك مدل فنري در نظر ميگيريم
و حادثه است و Km و Kp اعداد ثابت هستند، s بيانگر تعداد سيكلهاي سيستم نيز ميباشد. Fp(s) و Fm(s)، نيروهاي بكار برده شده ميباشد كه كاربر آنها را احساس ميكند.Xp(s+1) و Xm(s+1) به Fp(s) و Fm(s)،مربوط ميشوند كه با توجه به جملات داخل پرانتز متوجه ميشويم كه x ها از نيروهاي قبلي بدست ميآيد. يعني اين سيتم براساس اتفاق است كه به حادثه قبلي آن بستگي دارد.
شکل4
جدول1
(Joystick) master: ديناميك Joystick به شكل زير است.
(2)
(3)
(4)
(5)
Mrm و Mp جرمهاي دسته Joystick میباشند و Vmm و سرعت حركت Joystick ميباشند، FVm و Fvp، نيرويي كه بوسيله Joystick اعمال ميشود كه به سادگي از Vm و VP كه از روبات فيدبك ميشود بدست ميآيند نتيجه اين ديناميك حركت Joystick به Xm(s+1) و Xp(s+1) است.
از اين موفقيت جديد يك:Vp(s) = KP1Xp(s) و Vm(s) = Km1Xm(s)
بدست ميآيد كه VP(s) و Vm(s) سرعتهاي دلخواه Puma و Mobile ميباشند.
بلوك ارتباطي: با توجه به سيستم هاي براساس حادثه لينك ارتباطي به طور ساده با يك تأخير تخمين ميزنند و نقشی در مدلسازي ندارند.
محيط: سنسورهايي كه روي روبات قرار داده شده براي مشخص كردن شرايط است، فاصله بين رويدادها و عمل كردن روبات سرعت را كاهش ميدهد. اين كاهش را با تخمين ميزنيم بنابراين سرعت روبات
(7)
بنابراين سرعت روبات كمتر از سرعت دلخواه ما خواهدشد.
1Salve: قسمت متحرك روبات را كه سرعت را دريافت ميكند به طور حتم با سرعت Vs حركت نميكند بلكه با سرعت Va(s) حركت خواهد كرد. بنابراين ديناميك اين قسمت به وسيله معادله زير توضيح ميدهيم:
(8)
Ms جرم روبات است و Fe نيروهايي كه از محيط به روبات وارد ميشود كه معمولاً چون خيلي كوچك است از آن صرفنظر ميكنيم. Ts سيگنالهاي كنترلي سرد است.
2Slave (بازو): مدل ديناميكي آن را با معادلات زير نمايش ميدهيم:
D(g)g+C(q,q)+g(q)=u (9)
جايي كه q بردار 1×6 براي جابجايي مفصلها است، يك بردار 1×6 است، كه سرعت مفصلها را بيان ميكند u، يك بردار 1×6 كه گشتاور اعمالي است.D(q) يك ماتريس مثبت معين 6×6 است كه ماتريس اينرسي است، (q,q0) C يك ماتريس 1×6 كه جاذبه مركز وگشتاور ماكروليس و g(q) بردار 1×6 جاذبه است. بردار فضاي كار است كه با (x,y,z,o,A,T)t تعريف ميشود.(x,y,z)T موقعيت را نشان ميدهد و (o,A,T)T جهتگيري را نشان ميدهد (جهت، ارتفاع، زاويه) بعد از بكارگيري فيدبك غيرخطي u=D(q)J-1(-Jq+u)+C(q,q0)+g(q) در ]17[ پس مدل ديناميكي بازو به صورت زير =x ساده ميشود.
اين مدل ديناميكي در شكل زير مدل شده است.
شكل 5
آناليز پترينت:از قدرات ديگر پترينت پشتيباني آناليز آن ميباشد خواص پترينت به دو بخش خاصيتهايي كه intial marking بستگي دارد (خواص رفتاري) خواصي كه مستقل از ميباشد.در اينجا هدف مطالعه خواص رفتاري است[12].
محدوديت: مدل موجود يك مدل k- محدود است يعني مکان آن بيشتر از k، مهره ندارند.
زنده بودن: يعني براي intial marking قابل دسترس اين امكان وجود داشته باشد هر گذر در مسير حركت آتش شود. اين خاصيت سيستم را در نظر نداشتن dead lock گارانتي مي كند.براي مطالعه بيشتر زنده بودن و محدود بودن درخت پوشانندگي مفيد خواهد بود.در شكل4 درخت پوشانندگي كاهش يافته نشان داده شده است.
شكل 6
درخت پوشانندگی برای اينکه محدوديت و زنده بودن سيستم مطالعه شود ساخته مي شود و با توجه به [12] می توان آن را کاهش داد.از درخت پوشانندگی مي فهميم که سيستم زنده ومحدود است.از آنجايي که که تمام گره ها صفر و يک هستند پس در نتيجه سيستم هم محدود وهم سالم است[12].و چون تمام علامتها گذر ها را فعال می کنند پس سيستم dead-lock free می باشد پس زنده است.بنابراين سيستم محدود(سالم) و زنده است.وقتی سيستم سالم است يعني هر مکان در هر لحظه نهايتا يک مهره قرار مي گيرد بعد از هر حادثه اين مهره ها جابجا مي شود پس اين سيستم همزمان با حادثه مي باشد.زمان تاخير زياد بر روی پايداري سيستم تاثير منفي مي گذارد،تاخير ناشي از فيدبک نيروها و تصوير بر روی کل سيستم تاثير منفی خواهد داشت.
6-نتايج
امروزه مدلسازی و شبيه سازی کاربرد وسيعي در صنعت دارد.در واقع با مدلسازی و شبيه سازی، يک سيستم صنعتی را قبل از خلق مورد مطالعه قرار دادو از نظر اقتصادی و زمانی بسيار مقرون به صرفه است.پتری نت مطالعه جز به جز سيستم و کنار هم را امکانپذير می سازد.کاربرد پتری نت آنقدر وسيع شده که شرکت Mathwork يک ToolBox در ويرايشهای جديد Matlab برای پتری نت طراحی کرده است.استفاده از پتری نت درسيستمهای کنترل بر اساس اتفاق باعث مي شود که بتوانيم پايداری و همزمانی بر اساس اتفاق را بتوانيم بررسی کنيمهمچنين از مثال مي توان دريافت که پتری نت يک وسيله مناسب و ساده برای مدلسازی سيستمهاي پيچيده WebBase مي باشد،که برای مطالعه همزماني و نا معينی و... بسيار مفيد مي باشد.
منبع :
DOC]
Petri net و مدلسازي سستم هاي كام يوتري با استفاده از شبكه تري




