1 / 68

Awe sim

به نام خدا. آموزش شبیه سازی با نرم افزار :. Awe sim. انواع گره ها :. CREATE Node QUEUE Node TERMINATE Node ASSIGN Node ACTIVITY Branches GOON Node COLCT Node. درباره عملکرد و ویژگی هر یک در اسلایدهای بعدی بصورت مفصل توضیح داده خواهد شد. محیط Awesim. ایجاد یک پروژه جدید.

amil
Download Presentation

Awe sim

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. به نام خدا آموزش شبیه سازی با نرم افزار : Awe sim تهیه وتنظیم: رعایت پناه

  2. انواع گره ها : • CREATE Node • QUEUE Node • TERMINATE Node • ASSIGN Node • ACTIVITY Branches • GOON Node • COLCT Node درباره عملکرد و ویژگی هر یک در اسلایدهای بعدی بصورت مفصل توضیح داده خواهد شد. تهیه وتنظیم: رعایت پناه

  3. محیط Awesim تهیه وتنظیم: رعایت پناه

  4. ایجاد یک پروژه جدید برای ایجای یک پروژه جدید ابتدا بر روی گزینه New project بر روی نوار ابزار کلیک گرده تا کادر New project ظاهر گردد. حال نامی برای پروژه خود انتخاب و بر روی دکمه new کلیک کنید تا پروژه شما ایجاد گردد. تهیه وتنظیم: رعایت پناه

  5. در اینجا باید شبکه پروژه خود را (برای وارد کردن سیستم بصورت گرافیکی) ایجاد کنید. برای این کار باید بر روی گزینه Networks در پنجره اصلی برنامه کلیک کرده و روی گزینه New کلیک کنید تا محیط مورد نظر برای ترسیم شبکه گرافیکی نمایان گردد. تهیه وتنظیم: رعایت پناه

  6. نکته: برای شبیه سازی یک سیستم ابتدا باید دیاگرام ساده آن را که شبیه شکل بعد است را ترسیم نموده تا مشخص شود در این سیستم چه اتفاقهایی رخ می دهد و چگونه باید آن را شبیه سازی نمود. در این دیاگرام ساده باید شکل شبکه کشیده شده و تعداد , فاصله زمانی ورود و انتظار ورودی ها یا نهاد ها ( طبق صورت سوال ) و همچنین تعداد سرویس دهنده ها , زمان سرویس دهی , ظرفیت صف و دیگر اطلاعات داده شده مشخص گردد تا پیاده سازی و حل مسئله مشخص گردد. تهیه وتنظیم: رعایت پناه

  7. یک دیاگرام ساده برای یک سرویس دهنده زمان سرویس دهی ظرفیت صف فاصله زمانی ورود نهاد ها محدودیت ورود خروج سرویس دهی صف انتظار برای سرویس دهی نهاد هایی که وارد سیستم می شوند تهیه وتنظیم: رعایت پناه

  8. یا گره تولید CREATE Node این گره مشتریان یا نهاد ها را تولید می کند. وشکلی شبیه شکل زیر دارد. این گره شامل خصوصیات زیر می باشد: Node Label : این خصوصیت نام گره یا برچسب آن را مشخص می کند Time Between : این خصوصیت فاصله زمانی بین ورود نهاد ها را مشخص می کند. برای وارد کردن فاصله بین ورود ورودی ها می توان از توابع مختلف از جمله : توزیع یکنواخت , تابع توزیع مثلثاتی , توابع نمایی و ... استفاده کرد که در اسلایدهای بعدی توضیح داده خواهد شد. تهیه وتنظیم: رعایت پناه

  9. Time of First : این خصوصیت زمان ورود اولین ورودی را مشخص می نماید. در این قسمت نیز می توان از توابع مختلف برای بیان زمان اولین ورود داده استفاده کرد. نکته : در کنار هرکدام از خصوصیت ها که علامت F(x) وجود داشت می توان با کلیک بر روی آن می توان از توابع مختلف موجود استفاده کرد. Save TNow : این خصوصیت برای ذخیره زمان ورود نهاد ها استفاده می شود برای اینکار باید نام یکی از متغییر های مربوط به نهاد ها را جهت نگهداری زمان ورود نهاد ها وارد کرد Max to Creat : این خصوصیت برای مشخص کردن حداکثر ورود گره ها می باشد. اگر مسئله حداکثر ورود ها را مشخص کرده بود در این قسمت وارد می کنیم و گرنه از مقدار INF به معنی بی نهایت استفاده می شود Max Branches to take : این خصوصیت حداکثر شاخه های خارج شده از این گره را مشخص می کند. تین قسمت برای هدایت ورودی ها به قسمت های مختلف استفاده می شود. که می توان با قرار دادن شرط بر روی شاخه های خارج شده از این گره قسمتی از ورودی ها را به بخشی خاص هدایت کرد تهیه وتنظیم: رعایت پناه

  10. تهیه وتنظیم: رعایت پناه

  11. یا گره صف Queue Node این گره محلی است برای انتظار مشتریان جهت سرویس دهی است این گره شامل خصوصیات زیر می باشد: Node Label : این خصوصیت نام گره یا برچسب آن را مشخص می کند File# : شماره فایلی که است نهاد داخل آن ایجاد شود (فایلها نقش آرایه دارند) باید عدد صحیح وارد شود. Init. # in Queue : تعداد عناصر اولیه موجود در صف را مشخص می کند. باید عدد صحیح باشد. تهیه وتنظیم: رعایت پناه

  12. ًQueue Capacity : ظرفیت صف را مشخص می کند. Full Action : مشخص می کند که اگر صف پر بود با ورودی بعدی چه کند. در حالت پیش فرض اگر صف پر بود نهاد دور ریخته می شود. None: هیچ عملی انجام نشود.یعنی مشتری رد شود Block: سیستم را متوقف کن تا صف خالی شود. یعنی تمام عملیات منجر به این صف را متوقف کند تا زمانی که صف خالی شود. Balk: در صورت پر بودن صف ورودی ها را به گره دیگر ( گره ای که اسم یا برچسب آن در کادر وارد شده است) هدایت کند. توجه داشته باشید که: • به شاخه Activity پس از این گره ,شاخه سرویس یا سرور گویند. • شاخه سرویس فاقد شرط می باشد. تهیه وتنظیم: رعایت پناه

  13. تهیه وتنظیم: رعایت پناه

  14. یا گره اتمام کار Termin Node این گره پایان کار شبیه سازی را مشخص می کند. این گره شامل خصوصیات زیر می باشد: Node Label : این خصوصیت نام گره یا برچسب آن را مشخص می کند Term. Count : این خصوصیت تعداد گره های خروجی را مشخص می کند. تهیه وتنظیم: رعایت پناه

  15. تهیه وتنظیم: رعایت پناه

  16. یا شاخه فعالیت Activity این شاخه برای اتصال گره ها به یکدیگر استفاده می شود. این شاخه شامل خصوصیات زیر می باشد: Activity# : شماره فعالیتی است که باید عدد صحیح باشد. این شماره برای مشخص شدن گره در قسمت مشاهده گزارش ها مورد استفاده قرار می گیرد. Duration : فاصله زمانی ببن نقطه شروع تا انتها ی فعالیت می باشد. Condition : شرط فعالیت می باشد.اگر مسئله ای نیاز به شرط داشته باشد , شرط مورد نظر را در این قسمت وارد می کنیم. برای نوشت شرط می توان از قواعد زبان C کمک گرفت. تهیه وتنظیم: رعایت پناه

  17. End Node label : برچسب نود مقصد ایست. # of Servers : تعداد سرویس دهنده ها را مشخص می کند. Activity زمانی نقش سرور را ایفا می کند که از گره صف یا Queue خارج شود. Identifier : اسم یا شناسه ای است برای شناسایی سرویس دهنده در زمان گزارشگیری.. تهیه وتنظیم: رعایت پناه

  18. برای فعالیتهای غیر سرویس میتوان شرط تعریف نمود. * اگر عدد تولیدی slam بین صفر و یک از این عدد کوچکتر بود اجازه عبور میدهد. مثال: ATRIB[2]<XX(2) اسم نود مقصد. ( اختیاری ) شماره فعالیت برای ذخیره اطلاعات آماری برای تحلیل ( لازم است) این اسم لازم است حتماً عدد باشد. مدت زمان سرویس ( در صورتی که فعالیت سرویس باشد ) مثلاً از تولید کننده به صف صفر است. تعداد سرورهایی که در پردازش موازی در مقصد فعالیت هستند. اسمی که در گزارشات آماری برای این فعالیت لحاظ می شود. تهیه وتنظیم: رعایت پناه

  19. کنترل پروژه برای شبیه سازی یک پروژه علاوه بر شبکه باید کنترل آن را نیز ایجاد نماییم. برای انجام این کار در پنجره ی اصلی برنامه بر روی دکمه Controls کلیک کرده و از پنجره ی ظاهر شده گزینه New را انتخاب نمایید. تا فرم مربوط به کنترل پروژه ایجاد گردد. پنجره کنترل های پروژه تهیه وتنظیم: رعایت پناه

  20. قسمت Gen در این قسمت مشخصات تولید کننده پروژه قرار می گیرد. این مشخصات عبارتند از : نام , پروژه , تاریخ ایجاد , تعداد اجرای شبکه و ... می باشد. قسمت Limits در این قسمت مشخصات نهاد ها یا ورودی های پروژه قرار می گیرد. Global : متغییر های عمومی که در کل شبکه شناخته می شوند در این قسمت تعریف می گردند Attributes : متغییر های مربوط به نهاد ها در این قسمت قرار می گیرند. Max Atrib : حداکثر تعداد متغییر های حقیقی است که برای نهاد ها مورد استفاده قرار می گیرد. Max Ltrib : حداکثر تعداد متغییر های صحیح است که برای نهاد ها مورد استفاده قرار می گیرد. Max Strib : حداکثر تعداد متغییر های رشته ای است که برای نهاد ها مورد استفاده قرار می گیرد. تهیه وتنظیم: رعایت پناه

  21. Max entities : حداکثر نهادهایی که می در شبکه مورد استفاده قرار می گیرد. نکته : حتما باید دو دستور پایانی در قسمت کنترل ها Net , Fin باشد . تهیه وتنظیم: رعایت پناه

  22. ایجاد و اجرای پروژه • ابتدا باید شبکه و کنترل پروژه را ایجاد نموده و آن ها را با نامی ذخیره نماییم. • حال باید شبکه و کنترل ساخته شده را به پروژه متصل نماییم. اتصال شبکه ساخته شده: در پنجره اصلی بر روی دکمه Networks کلیک کرده و از قسمت سمت راست پنجره ظاهر شده نام شبکه ساخته شده را انتخاب و بر روی دکمه > کلیک کرده تا به قسمت سمت چپ منتقل گردد و در نهایت بر روی دکمه OK کلیک کنید. اتصال کنترل ساخته شده: در پنجره اصلی بر روی دکمه Controls کلیک کرده و از قسمت سمت راست پنجره ظاهر شده نام کنترل ساخته شده را انتخاب و بر روی دکمه Set Current کلیک کرده و در نهایت بر روی دکمه OK کلیک کنید. تهیه وتنظیم: رعایت پناه

  23. نکته: پروژه ها در یک فولدر فایل به اسم Projects در همان مسیر نصب AweSim ذخیره می شود. • حال برای اجرای پروژه و مشاهده گزارشات مربوطه بر روی دکمه Report Output Sumery که شکلی شبیه چاپگر دارد کلیک نمایید. • اگر پروژه بدونه خطا باشد خروجی گزارشها به شما نشان داده خواهد شد. • نکته: خطاهای احتمالی در بخش Report>Output>… قابل رؤیت است. • * در پیامهای شبیه سازی update را انتخاب کنید بهتر است. • نتیجه ی نهایی کار از بخش Report>Output>Summary قابل رؤیت است: تهیه وتنظیم: رعایت پناه

  24. تهیه وتنظیم: رعایت پناه

  25. تذکر: در صورت وجود خطا در شبیه سازی، می توان خطا را از Report > Output > Echo مشاهده نمود.نتیجه شبیه سازی از قسمت Report > Output > Summary قابل مشاهده است که در شکل زیر نشان داده شده است: تهیه وتنظیم: رعایت پناه

  26. مثال: سیستم یک صف - یک سرویس دهنده فروشگاه را در نظر بگیرید. زمان سرویس برای هر مشتری دارای توزیع یکنواخت u[6,12] است. در شروع شبیه سازی دو مشتری در صف منتظر هستند. ظرفیت صف 10 نفر است. اولین مشتری در زمان 5 وارد سیستم می شود. ورود مشتریها دارای توزیع نمایی با میانگین 1/0 است. اگر 100 مشتری از سیستم خارج شود شبیه سازی به پایان میرسد. شبیه سازی سیستم زیر را انجام دهید. • ابتدا باید طرح اولیه شبیه سازی را آماده نمود تا شبیه سازی با نرم افزارAweSim ساده تر شکل گیرد. • برای این کار اطلاعات داده شده صورت سوال را دسته بندی نموده و گره های مورده نیاز را را ترسیم و داده های صورت را در آنها وارد می نماییم. • در پایان به وسیله برنامه AweSim شبیه سازی را انجام می دهیم. تهیه وتنظیم: رعایت پناه

  27. 1. زمان سرویس برای هر مشتری دارای توزیع یکنواخت u[6,12] است. زمان سرویس زمانی است که طول می کشد تا به یک نهاد سرویس داده شود. این زمان در Activity خارج شده از صف و در بخش Duration مشخص می شود. چون زمان سرویس دهی برای هر مشتری دارای توزیع یکنواخت است پس باید از تابع UNFRM[6,12] استفاده شود. 2. در شروع شبیه سازی دو مشتری در صف منتظر هستند. دو مشتری داخل صف را باید در قسمت Init.# in Queue وارد نمود 3. ظرفیت صف 10 نفر است. ظرفیت صف نیز از قسمت Queu Capacity از گره Queue مشخص می شود. تهیه وتنظیم: رعایت پناه

  28. 4. اولین مشتری در زمان 5 وارد سیستم می شود. زمان ورود اولین مشتری را باید در قسمت Time of First گره Creat مشخص نمود. 5. ورود مشتریها دارای توزیع نمایی با میانگین 1/0 است. ورود مشتریان یا فاصله بین ورود نهاد ها را در قسمت Time Between از گره Creat مشخص می شود. چون توزیع نمایی و با میانگین 1/. است باید از تابع Expon[0.1] استفاده شود. 6. اگر 100 مشتری از سیستم خارج شود شبیه سازی به پایان میرسد. باید توجه شود که گفته شده 100 مشتری از سیستم خارج شود. پس باید در قسمت Term. Count گره Termin عدد 100 را وارد نمود تا زمانی که 100 مشتری از سیستم خارج شد برنامه به اتمام برسد. تهیه وتنظیم: رعایت پناه

  29. شکل اولیه شبیه سازی که باید ترسیم شود بصورت بالا می باشد. پس از ترسیم آن و مشخص شدن تعداد و نوع گره ها به سراغ پیاده سازی آن با نرم افزار AweSim می رویم. تهیه وتنظیم: رعایت پناه

  30. ابتدا پروژه جدیدی ایجاد نموده و شبکه جدیدی نیز برای آن ایجاد می کنیم. اولین گره ای که مورد نیاز است گره Creat می باشد. آنرا بر روی صفحه درگ کرده و قسمت های مورد نیاز آن را با داده های صورت سوال کامل می نماییم. تهیه وتنظیم: رعایت پناه

  31. گره ی بعدی گره صف یا Queue می باشد که آنرا بر روی صفحه درگ کرده و قسمت های مورد نیاز آن را با داده های صورت سوال کامل می نماییم. تهیه وتنظیم: رعایت پناه

  32. در اینجا ما فعالیت بین گره ورود و صف را یا Activity ایجاد می نماییم. تهیه وتنظیم: رعایت پناه

  33. در مرحله بعد گره آخر را کهTermin می باشد بر روی صفحه درگ نموده و موارد مورد نیاز را طبق شکل زیر رسم می نماییم. تهیه وتنظیم: رعایت پناه

  34. در مرحله آخر خط سرویس مورد نیاز در شبکه (که از صف خارج می شود و به گره termin متصل می گردد) را بر روی صفحه درگ نموده و موارد مورد نیاز را طبق شکل زیر رسم می نماییم. تهیه وتنظیم: رعایت پناه

  35. در پایان بر روی گزینه Report Output Summary بر روی نوار ابزار فرم اصلی کلیک کرده تا برنامه اجرا شود • در فرم گزارشات اطلاعاتی از قبیل: • مشخصات پروژه که در بخش کنترل وارد کرده ایم. • اطلاعاتی در رابطه با صف از جمله : میانگین طول صف, انحراف معیار صف, حداکثر طول صف , طول صف در زمان اتمام پروژه , متوسط زمان انتظار و ... می باشد. • اطلاعاتی در مورد فعالیت های پروژه . • اطلاعاتی در مورد سرور های پروژه. • حداکثر زمان اتمام شبیه سازی. • پس از ترسیم گرافیک شبکه نوبت به ایجاد کنترل برنامه می رسد. تهیه وتنظیم: رعایت پناه

  36. تهیه وتنظیم: رعایت پناه

  37. مثال: فرض کنید نهادها در هر 5 واحد زمانی وارد سیستم می شوند و هر نهاد بطور سری(متوالی) به فعالیتهای یک و دو و سه نیاز دارد. زمان سرویس برای فعالیتهای یک و دو و سه به ترتیب نمایی با میانگین 2 و 5 و 7 می باشد. این مدل را به مدت 500 واحد زمانی شبیه سازی نمایید. ( به سه گره و سه صف ) شبیه سازی سیستم زیر را انجام دهید. 1. نهادها در هر 5 واحد زمانی وارد سیستم می شوند ورود مشتریان یا فاصله بین ورود نهاد ها را در قسمت Time Between از گره Creat مشخص می شود 2. زمان سرویس برای فعالیتهای یک و دو و سه به ترتیب نمایی با میانگین 2 و 5 و 7 می باشد زمان سرویس زمانی است که طول می کشد تا به یک نهاد سرویس داده شود. این زمان در Activity خارج شده از صف و در بخش Duration مشخص می شود. چون زمان سرویس دهی برای هر مشتری دارای توزیع نمایی است پس باید از تابع Expon(x) استفاده شود. تهیه وتنظیم: رعایت پناه

  38. 3. این مدل را به مدت 500 واحد زمانی شبیه سازی نمایید • شروط پایان شبیه سازی عبارتند از : • تعداد ورودی ها : برای مثال شبیه سازی سیستم تا ورود 20 نهاد • برای اینکار می توان از خصاصیت Max to create گره Create • تعداد خروجی ها : برای مثال شبیه سازی سیستم تا خروج یا تکمیل 20 نهاد • استفاده از خاصیت Term. count گره Termin • بازه زمانی خاص : برای مثال شبیه سازی سیستم تا 500 واحد زمانی • برای اینکار وارد قسمت کنترل برنامه شده گزینه net را انتخاب و از منوی Edit گزینه Insert را انتخاب و از بخش ظاهر شده گزینه Initialize را انتخاب کنید تا پنجره مربوطه باز گردد. • قسمت Time Begin :زمان شروع شبیه سازی را مشخص می کند. • قسمت Finish Time :زمان پایان شبیه سازی را بر حسب واحد زمانی مشخص می کند. تهیه وتنظیم: رعایت پناه

  39. زمان شروع شبیه سازی ( بر اساس واحد زمانی ) زمان اتمام شبیه سازی ( بر اساس واحد زمانی ) تهیه وتنظیم: رعایت پناه

  40. شروع شبیه سازی نهاد ها هر 5 واحد زمانی وارد سیستم می شوند Expon(2) Expon(5) Expon(7) همان طور که ملاحظه می کنید طرح اولیه شبکه برنامه را پیاده سازی نموده ایم. در اینجا تعداد و نوع گره های مورد نیاز مشخص شده و آماده پیاده سازی و ساخت شبکه توسط برنامه AweSim می باشد. تهیه وتنظیم: رعایت پناه

  41. تهیه وتنظیم: رعایت پناه

  42. دو صف دیگر نیز به همین شکل ولی دو خصوصیت Node label و File آنها را تغییر دهید تهیه وتنظیم: رعایت پناه

  43. تهیه وتنظیم: رعایت پناه

  44. برای دو صف دیگر فقط قسمت Duration تغییر می کند که باید مقادیر EXPON(5) , EXPON(&) قرار گیرد تهیه وتنظیم: رعایت پناه

  45. گزارش انجام شبیه سازی تهیه وتنظیم: رعایت پناه

  46. VAR1=VALUE1 VAR2=VALUE2 M VAR3=VALUE3 گره Assign • برای مقدار دادن به متغییرها از این گره استفاده می شود. • در این گره می توان به متغییر هایی از جمله Atrib ها مقدار دهی نمود. تهیه وتنظیم: رعایت پناه

  47. تغییر نام یا مقدار متغییر وارد شده ثبت نام و مقدار متغییر تعداد شاخه های خارج شده برچسب گره نام متغییر مقدار متغییر حذف نام و مقدار متغییر انتخاب شده تهیه وتنظیم: رعایت پناه

  48. گره Goon • این گره فقط برای شفاف سازی مورد استفاده قرار می گیرد. • در مواقعی از این گره استفاده می شود که چند فعالیت بخواهند به یک گره مثل صف یا ... وارد شوند. تهیه وتنظیم: رعایت پناه

  49. برچسب گره تعداد فعالیت های خارج شده از این گره تهیه وتنظیم: رعایت پناه

  50. ID,H M VALUE گره COLLECT • این گره برای داده های آماری استفاده می شود. • میانگین و انحراف معیار یک متغییر را بر می گرداند. • همچنین می تواند نمودار هیستوگرام را نیز برای ترسیم می کند. • میانگین انتظار نیز یکی از کارهایی است که این گره می تواند برای ما محاسبه نماید. نکته : TNow : زمان جاری شبیه سازی یک متغییری است که زمان جاری شبیه سازی را مشخص می کند. متغییری است که هرجا آن را فرا خوانی نماییم زمان شبیه سازی در آن لحظه را بر می گرداند. برای ذخیره زمان ورود نهاد ها می توان نام متغییری را در خاصیت Save TNow گره Create ذکرکرد تا زمان ورود نهاد را در خود نگه دارد. تهیه وتنظیم: رعایت پناه

More Related