580 likes | 850 Views
تبديل توصيف UML معماري نرمافزار به مدل كارايي شبكههاي صف ( QN ) و توليد بازخورد از نتايج ارزيابي كارايي Transforming UML Specification of Software Architectures into Queuing Networks (QN) Performance Model and Feedback Provision from Performance Evaluation Results. عناوين مورد بحث.
E N D
تبديل توصيف UML معماري نرمافزار به مدل كارايي شبكههاي صف(QN) و توليد بازخورد از نتايج ارزيابيكاراييTransforming UML Specification of Software Architectures into Queuing Networks (QN) Performance Model and Feedback Provision from Performance Evaluation Results.
عناوين مورد بحث عناوين مورد بحث • انگيزهها و اصول عمومي • پيش زمينه • ضرورت و اهداف • تشريح متدولوژي ارزيابي کارايي • مثال كاربردي: سيستم خود پرداز بانكي(ATM) • جمع بندي و نتيجه گيري
انگيزهها و اصول عمومي انگيزههاي تحليل كارايي نرم افزار • هزينه هاي هنگفت مالي، انساني و زماني توليد و توسعه يك سيستم نرم افزاري بزرگ • كيفيت نرمافزار تا حدود زيادي توسط مشخصههاي كارايي مثل زمان پاسخ، توان عملياتي، و بهرهوري منابع تعيين ميشود • شناسايي زود هنگام مشكلات كارايي در سطح معماري نرمافزار • افزايش هزينه تغيير طراحي با جلو رفتن در فرايند توليد • تأييد اعتبار انتخابهاي طراحييا مقايسه طراحي هاي مختلف از ديدگاه كارايي دو پرسش در اينجا مطرح است: • چگونه كارايي را در فرايند توليد نرمافزار ارزيابي كنيم؟ • كي كارايي بايد ارزيابي شود؟
انگيزهها و اصول عمومي كارايي چگونه ارزيابي ميشود؟ • رويكرد مبتني بر اندازهگيري(Measurement-based) • اندازهگيريهاي مستقيمي روي سيستم درحال اجرا يا يك نمونه انجام ميگيرد؛ اين اندازهگيريها، براي شناسايي گلوگاهها بكار ميروند. • رويكرد مبتني بر مدل (Model-Based) • يك مدل كارايي از سيستم نرمافزاري ساخته ميشود؛ از اين مدل براي تقليد رفتار سيستم و پيشبيني كارايي آن استفاده ميگردد.
انگيزهها و اصول عمومي ارزيابي كارايي مبتني بر مدل • مزايا: • نيازي به يك سيستم در حال اجرا ندارد. • از مراحل نخست طراحي قابل اعمال ميباشد. • معايب: • دقت پيشبيني كارايي به دقت مدل نرمافزار بستگي دارد (به هرحال، دقت 100% لازم / منطقي نيست). • گزارش دادن بازخورد، به خاطر ساختار متفاوت مدل كارايي نسبت به مدل نرمافزار، ممكن است دشوار باشد.
انگيزهها و اصول عمومي كارايي در كدام مرحله از فرايند توليد نرمافزار ميتواند ارزيابي گردد؟ تعريف نيازمنديها ارزيابي كارايي مبتني بر اندازهگيري طراحي سيستم و نرمافزار پيادهسازي و تست واحدها ارزيابي كارايي مبتني بر مدل تجميع و تست سيستم بهرهبرداري و نگهداري
مدل نرمافزار مدل كارايي نتايج و بازخورد ارزيابي مدل انگيزهها و اصول عمومي مدلسازي عمومي كارايي نرمافزار
پيش زمينه پيش زمينه • مهندسي كارايي نرم افزار(SPE)[Smith90]: • تركيب و تجميع ارزيابي كارايي از مراحل نخست تا كل چرخه حيات فرايند توليد نرم افزار • در عمل SPE كمتر به كار گرفته مي شود: • فاصله شناختي بين قلمرو توليد نرم افزار و قلمرو ارزيابي كارايي • فشار ”عرضه سريع به بازار“ وقتي براي SPE باقي نمي گذارد • رويكردهاي ارزيابي كارايي زيادي پيشنهاد شده اند: • تحليلي • شبيه سازي • از مدلهاي نرم افزاري مختلف استفاده مي كنند: ، جبر فرايندها(PA)، پتري نت ها(PN)، چارتهاي توالي پيام(MSC)، UMLو ..... • مدلهاي كارايي مختلف مد نظر قرار گرفته اند: • شبكه هاي صف و گسترشهايي از آنها مثل LQN و EQN، SPN، SPA و ....
پيش زمينه محدوديتهاي برخي روشهاي موجود • مدلهاي نرم افزار • استفاده از مدلهاي نرم افزار و نمادسازي هاي غير استاندارد و مختص كاربرد خاص • عدم پذيرش وسيع در جامعه مهندسي نرم افزار • پشتيباني اندك توسط ابزارهاي CASE مناسب • مدلهاي كارايي • مدلهاي تحليلي • تحليل پيچيده • نياز به اعمال فرضيات خاص • نگاشت پيچيده بين مدل نرم افزار و مدل كارايي • شبيه سازي • مناسب كاربردهاي خاص • نياز به زمان و منابع محاسباتي بسيار براي مدلهاي پيچيده • نياز به تكنيكهاي آماري پيچيده براي شناخت صحيح نتايج
مدلهاي كارايي • شبكههاي صف؛ Queuing Networks Model (QNM) با مشخصههاي زير: • مراكز سرويس: زمان سرويس، فضاي بافر به همراه زمانبندي صف، تعداد سرورها • مشتريان: تعداد در مدلهاي بسته، فرايند ورود براي مدلهاي باز، تقاضاي سرويس به هر مركز سرويس، و انواع آنها • توپولوژي شبكه: چگونگي اتصال داخلي مراكز سرويس، و چگونگي حركت مشتريان بين آنها • گسترشهايي از QN مثل Layered QN (LQN) و Extended QN (EQN) • Stochastic Process Algebra (SPA) • Stochastic Timed Petri Nets (STPN) يا Generalized Stochastic PN (GSPN)
كارهاي انجام شده • مهندسي كارايي نرم افزار(Software Performance Engineering (SPE)) معرفي شده توسط اسميت (1990)، اولين رويكرد جامعي است كه تحليل كارايي را در فرايند توليد نرمافزار، از مراحل نخست تا انتها، وارد نموده است. • متدولوژي SPE مبتني بر دو مدل است: • مدل اجرايي نرمافزار:مبتني بر گرافهاي اجراست و رفتار اجرايي نرمافزار را نشان ميدهد. • مدل اجرايي سيستم: مبتني بر مدلهاي QN است و پلاتفرم سيستم، شامل مؤلّفههاي سختافزاري و نرمافزاري را نشان ميدهد.
طبقه بندي رويكردها بر اساس نمودارهاي UML مورد استفاده، مدل كارايي هدف و محدوديتهاي معماري
طبقه بندي رويكردها بر اساس قلمروكاربرد، مرحله اعمال، سطح اطلاعات مورد نياز تحليل، بازخورد و پشتيباني ابزارها
ضرورت و اهداف ضرورت و اهداف • توليد و توسعه يك متدولوژي سيستماتيك براي ارزيابي كارايي طراحي نرم افزار با ويژگي هاي زير: • استفاده آسان، و احتمالاً تجميع آن با ابزارهاي CASE • مبتني بر نمادسازي هاي استاندارد، در صورت در دسترس بودن و مناسب بودن • از مراحل نخست قابل اعمال باشد • تفسير نتايج حاصل از تحليل و ارزيابي مدل كارايي استخراج شده، و ارائه بازخورد مناسب به طراح
ضرورت و اهداف • توليد و توسعه يك متدولوژي سيستماتيك براي ترجمه اتوماتيك توصيفهاي UMLمعماري نرمافزار به مدلهاي كاراييQNM • تفسير نتايج حاصل از تحليل و ارزيابي مدل كارايي استخراج شده، و ارائه بازخورد مناسب به طراح • چرا تحليل كارايي در سطح معماري نرمافزار؟ • تجريد مناسبسطح معماري نرمافزار • تحليل در مرحله اوليه توليد نرمافزار، فازي که در آن انتخاب هاي اساسي مؤلّفهها و تعامل بين آنها صورت ميگيرد • تأثير قابل توجه تصميمهاي معماري بر ويژگيهاي كيفي، از جمله كارايي • چرا استفاده از زبان مدلسازي UML؟ • توصيف جنبههاي ايستا و پوياي نرمافزار با استفاده از نمودارهاي مختلف • بكارگيري نمادسازي و چارچوب مفهومي يكسان براي توصيف، طراحي تا پيادهسازي • گسترشپذير ي كامل با مكانيزمهاي توسعه و حاشيهنويسي و قابليت تطابق با نياز خويش • پشتيباني گسترده توسط مجموعه وسيعي از ابزارها • چرا استفاده از مدل كاراييQNM؟ • عموميترين مدل كارايي • دقت نسبتاً بالاي نتايج كارايي و كفايت و كارا بودن آن در تحليل و ارزيابي مدل • تحليل توسط روشهاي تحليلي و يا شبيهسازي به منظور ارزيابي مجموعهاي از شاخصهاي كارايي مثل بهرهوري منابع، توان عملياتي، زمان پاسخ به مشتري و غيره
روش پيشنهادی پروژه معماري نرمافزار 1- تبديل اتوماتيك نمودارهاي UML(توصيف کننده معماری نرم افزار)به اسناد XML با استفاده از Unisys XMI كه بصورت آماده در RationalRose پشتيباني ميشود. 2- فراهم كردن الگوريتمي براي استخراج اطلاعات كارايي از سند XML. 3- در آوردن اطلاعات استخراج شده به قالبي مناسب براي توليد اتوماتيك QNM جهت محاسبه اندازههاي كارايي. 4- تفسير نتايج حاصل از تحليل و ارزيابي QNM و ارائه بازخورد مناسب به طراح. مدل رفتاري (UML) الگوريتم تبديل بازخورد مدل كارايي (QNM) تحليل و ارزيابي كارايي تفسير نتايج
نمودارهاي UML مورد استفاده • نمودارهايUML Collaboration براي توصيف معماري نرمافزار در سطح بالا • نمودارهاي Deployment جهت اختصاص مؤلفههاي نرمافزار به منابع سختافزاري • نمودارهاي تعاملي، مثل نمودارهاي Sequence و Collaborationبراي مدل كردن رفتار نرمافزار • نمودارهاي UseCaseبراي استخراج اطلاعاتمورد نياز براي مشخص كردن بارهايكاري • استفاده از پروفايل كارايي UML(UML Profile for Schedulability, Performance and Time) براي: • نمايش و توصيف نيازمنديهاي كارايي درUML • بكارگيري يك نمادسازي استاندارد در توصيف اين ويژگيها • پشتيباني ابزارهاي موجود
مزيت روش مطرح شده 1- QNM حاصل نيازي به توسعه و گسترش آن با اطلاعات مربوط به كارايي اضافي ندارد . 2- فقط بلوكهاي سازنده استاندارد UML (به همراه گسترش تعريف شده در پروفايل كارايي) براي ساخت و حاشيهنويسي مدل نرمافزار بكار ميروند. 3- بعد از تحليل و ارزيابي مدل كارايي استخراج شده، نتايج حاصل تفسيرشده و به صورت بازخورد مناسب، در اختيار طراح قرار داده ميشود.
پيشنهادي براي نحوه تفسير و اعمال بازخورد برخي تكنيكهاي اعمال بازخورد: • Splitting • Merging • Duplicating بدست آوردن نتايج QNM برآورده شدن نيازمنديهاي كارايي؟ بله بازخورد به طراح طراحي اوليه حل مدل كارايي مثلاً توسط شبيهسازي جستجوي گلوگاهها در نتايج كارايي نه آيا گلوگاه كشف شده است؟ بله تكثير منبع گلوگاهي •تغيير سناريوي طراحي •كوتاه كردن سناريوهاي طولاني •شكستن مؤلفههاي بزرگ •استفاده از استراتژيهاي زمانبندي كاراتر •اصلاح استقرار مؤلفهها نه • استفاده از بافرهاي چندگانه • چند رشتهاي كردن فرايندهاي نرمافزاري • استفاده از پردازندههاي چندگانه اصلاح مدل كارايي و حل آن با پارامترهاي جديد و تكرار رويه ديگر راهحلها
متدولوژي ارزيابي کارايي روش مورد نظر • ارزيابي كارايي سيستمهاي نرم افزاري، در سطح معماري نرم افزار با سطح بالايي از تجريد • ارائه الگوريتمي براي ترجمه خودكار توصيف UML سيستم به مدل كارايي QNM • الگوريتم مدلسازي، نمايش XML نمودارهاي حاشيه نويسي شده با اطلاعات كارايي را به مدل QN تبديل مي كند • تعريف ساختاري براي نمايش QNM در قالب فايل XML به همراه پارامترهاي آن • چرا تحليل كارايي در سطح معماري نرمافزار؟ • چرا استفاده از زبان مدلسازي UML؟ • چرا استفاده از مدل كاراييQNM؟
متدولوژي ارزيابي کارايي پياده سازي روش • پياده سازي بصورت يك ابزار نمونه اوليه با زبان جاوا • ورودي: نمايش XML نمودارهاي حاشيه نويسي شده با اطلاعات كارايي، توليد شده توسط ابزار Rational Rose • استخراج اطلاعات كارايي از سه نمودار مورد كاربري، فعاليت و استقرار • توليد خودكار مدل QN متناظر در قالب يك سند XML، مطابق ساختار تعريف شده براي آن
چرخه مدلسازي کارايي چرخه مدلسازي كارايي توصيف UML مبتني بر شبكه هاي صف(QNM) شروع طراحي سيستم در سطح معماري نرمافزار توليد مدل QNM در قالب فايل XML توصيف مدل سيستم نرمافزاري با UML برآورده شدن اهداف کارايي تفسير و تحليل نتايج كارايي تحليل و ارزيابي کارايي QNM حاشيه نويسي و افزودن اطلاعات کارايي به مدل UML الگوريتم تبديل UML به QNM پشتيباني XMI در Rational Rose مدل نرمافزار در قالب فايل XML برآورده نشدن اهداف کارايي پايان
چرخه مدلسازي کارايي چرخه مدلسازي كارايي توصيف UML مبتني بر شبكه هاي صف(QNM) شروع طراحي سيستم در سطح معماري نرمافزار توليد مدل QNM در قالب فايل XML توصيف مدل سيستم نرمافزاري با UML برآورده شدن اهداف کارايي تفسير و تحليل نتايج كارايي تحليل و ارزيابي کارايي QNM حاشيه نويسي و افزودن اطلاعات کارايي به مدل UML الگوريتم تبديل UML به QNM پشتيباني XMI در Rational Rose مدل نرمافزار در قالب فايل XML برآورده نشدن اهداف کارايي پايان
توصيف مدل سيستم نرمافزاري با UML نمودارهاي UML مورد استفاده • نمودارUse Caseبراي توصيف نيازمندي هاي سيستم و مدل کردن بارهاي کاري(Workloads ) • نمودارDeployment براي مدل کردن پيکربندي زمان اجرا و بستر سخت افزاري زيرين • نمودارActivityبراي مدل كردن سناريوها و رفتار نرمافزار • استفاده از پروفايل كارايي UML (UML Profile for Schedulability, Performance and Time)براي: • نمايش يا توصيف دقيق نيازمنديهاي كارايي درUML • مشخص كردن پارامترهاي اجرايي براي محاسبه مشخصههاي كارايي • بكارگيري يك نمادسازي استاندارد در توصيف اين ويژگيها • پشتيباني ابزارهاي موجود
توصيف مدل سيستم نرمافزاري با UML چرخه مدلسازي كارايي توصيف UML مبتني بر شبكه هاي صف(QNM) شروع طراحي سيستم در سطح معماري نرمافزار توليد مدل QNM در قالب فايل XML توصيف مدل سيستم نرمافزاري با UML برآورده شدن اهداف کارايي تفسير و تحليل نتايج كارايي تحليل و ارزيابي کارايي QNM حاشيه نويسي و افزودن اطلاعات کارايي به مدل UML الگوريتم تبديل UML به QNM پشتيباني XMI در Rational Rose مدل نرمافزار در قالب فايل XML برآورده نشدن اهداف کارايي پايان
مدلسازياطلاعات کارايي درUML مدل كارايي در UML(پروفايل كارايي)
مدلسازياطلاعات کارايي درUML مدلسازي بارکاري (Workload)
User مدلسازياطلاعات کارايي درUML مدلسازي بارکاري باز (Open Workload) <<PAopenload>> {PAoccurrence = (‘unbounded’, ‘exponential’, 20.0,’s’)} Use Case 1 Use Case N
User مدلسازياطلاعات کارايي درUML مدلسازي بارکاري بسته (ClosedWorkload) <<PAclosedload>> {PApopulation = 10, PAextDelay = (‘uniform’,10.0,15.0,’s’)} Use Case 1 Use Case N
توضيحات چندي نوع برچسب کل تقاضاي اجراي فعاليت اتميک روي ابزار ميزبان آن 1 PAperfValue PAdemand مقدار تأخير وارد شده(انتظار يا مکث) درون فعاليت اتميک [0..1] PAperfValue PAdelay تعداد دفعات تکرار فعاليت اتميک(بيش از يکبار) [0..1] Integer PArep فاصله زماني بين تکرارهاي پي درپي يک فعاليت اتميک، در زمان تکرار [0..1] PAperfValue PAinterval نام فعاليت اتميک 1 String PAname نام ابزاري که فعاليت اتميک را انجام ميدهد 1 String PAdevice مدلسازياطلاعات کارايي درUML مدلسازي اطلاعات کارايي سناريوها در نمودار فعاليت
مدلسازياطلاعات کارايي درUML مدلسازي اطلاعات کارايي مربوط به فعاليتها • Activity State <<PAstep>> PArep = 5 PAdemand = (‘msrd’, ’dist’, ‘exponential’, 0.2,’s’) PAdevice = ‘Workstation’ Atomic Activity
توضيحات چندي نوع کليشه برچسب سياست کنترل دستيابي به ابزار 1 Enumeration: {‘FIFO’, ‘RR’, ‘PS’, ‘PPS’, ‘LIFO’, ‘IS’ } PAhost PAschdPolicy تعداد ابزارهاي از يک نوع 1 PAperfValue PAhost PAmultiplicity تعداد حداکثر درخواستهاي مجاز در انتظار دريافت سرويس از ابزار [0..1] String PAhost PAcapacity فاکتور سرعت نسبي براي پردازنده که بصورت درصدي از پردازنده معياريا برحسب MIPS بيان ميشود. [0..1] Real PAhost PArate <<PAhost>> {PAschedPolicy = ‘FIFO’ PAmultiplicity=1, PAcapacity= infinite} Workstation مدلسازياطلاعات کارايي درUML مدلسازي منابع
چرخه مدلسازي كارايي چرخه مدلسازي كارايي توصيف UML مبتني بر شبكه هاي صف(QNM) شروع طراحي سيستم در سطح معماري نرمافزار توليد مدل QNM در قالب فايل XML توصيف مدل سيستم نرمافزاري با UML برآورده شدن اهداف کارايي تفسير و تحليل نتايج كارايي تحليل و ارزيابي کارايي QNM حاشيه نويسي و افزودن اطلاعات کارايي به مدل UML الگوريتم تبديل UML به QNM پشتيباني XMI در Rational Rose مدل نرمافزار در قالب فايل XML برآورده نشدن اهداف کارايي پايان
چرخه مدلسازي كارايي چرخه مدلسازي كارايي توصيف UML مبتني بر شبكه هاي صف(QNM) شروع طراحي سيستم در سطح معماري نرمافزار توليد مدل QNM در قالب فايل XML توصيف مدل سيستم نرمافزاري با UML برآورده شدن اهداف کارايي تفسير و تحليل نتايج كارايي تحليل و ارزيابي کارايي QNM حاشيه نويسي و افزودن اطلاعات کارايي به مدل UML الگوريتم تبديل UML به QNM پشتيباني XMI در Rational Rose مدل نرمافزار در قالب فايل XML برآورده نشدن اهداف کارايي پايان
مدل كارايي شبكه هاي صف مدل كارايي شبكه هاي صف • شبكههاي صف؛ Queuing Networks Model (QNM) با مشخصههاي زير: • مراكز سرويس: زمان سرويس، فضاي بافر به همراه زمانبندي صف، تعداد سرورها • مشتريان: تعداد در مدلهاي بسته، فرايند ورود براي مدلهاي باز، تقاضاي سرويس به هر مركز سرويس، و انواع آنها • توپولوژي شبكه: چگونگي اتصال داخلي مراكز سرويس، و چگونگي حركت مشتريان بين آنها • نمادسازيKendallبراي توصيف هر مركز سرويس: A/S/m/B/K/SD A فرايند زمانهاي بين ورود S فرايند زمان سرويس mتعداد سرورها Bميزان فضاي بافر در صف( يا ظرفيت سيستم) Kاندازه جمعيت يا تعداد کاربران موجود در سيستم SDنظام صفبندي
خروجيها از سيستم خروجيها از مرکز سرويس مرکز سرويس وروديها به مرکز سرويس وروديها به سيستم 1-p p احتمال مسيريابي سرور صف مدل كارايي شبكه هاي صف يک شبكه صف ساده
مدل كارايي شبكه هاي صف مدل كارايي شبكه هاي صف(ادامه) • اگر محدوديتي در تعداد مشتريان يا فضاي بافر نبوده و نظام صفبندي FCFS باشد، بطور خلاصه مي نويسند: A/S/m كه مشهورترين توزيعهاي A و S عبارتند از: • Mفرايند ورود پواسن يا زمان سرويس توزيع شده بصورت نمايي • Dفرايند ورود قطعي (زمان سرويس يكسان براي هر job) • Gفرايند ورود يا توزيع عمومي و دلخواه • انواع صفهاي معمول(Product-Form) • M/M/1-FCFS • M/G/1-PS • M/G/∞-IS • پارامترهاي قابل اندازه گيري با شبكه هاي صف: • ميزان اشغال بودن سرور(بهره وري) • متوسط زمان انتظار درخواستها • متوسط طول صف • توان عملياتي سيستم • تعداد درخواستهاي فعال در سيستم • گلوگاه هاي بالقوه
مدل كارايي شبكه هاي صف متامدل و ساختار QNM
QNM (name, Description,...) Node TimeDistribution (TimeDistID, TimeUnit, category, LowerBound, UpperBound mean, StandardDeviation, FixedType, FixedValue) Workload (WorkloadID, priority) ServiceRequest (NumberOfVisits ServiceTime, ServiceDemand, WorloadName, ServerName) Arc (FromNode, ToNode, probability) SinkNode (name) SourceNode (name) ServerNode (ServerID, capacity, quantity, processingRate, SchedulingPolicy) ClosedWorkload (population, ThinkTime) OpenWorkload (ArrivalRate, ArrivesAt, DepartsAt) مدل كارايي شبكه هاي صف ساختار درختي QNM براي نمايش در قالب سند XML
مدل کاراييQNM مدل UML نمودارموردکاربري (Use Case) بارهاي کاري (Workloads) نمودار استقرار (Deployment) مراکزسرويس (Service Centers) نمودار فعاليت (Activity) توپولوژي ودرخواستهايسرويس مقادير برچسبي (Tagged Values) پارامترها نگاشت عناصر مدل UML به مدل QNM نگاشت عناصر مدل UML به مدل QNM
مراكز سرويس QNM پارامترها SchedulingPolicy Quantity Capacity ProcessingRate اتصال مستقيم مراكز سرويس به هم(Arc) گره ها(Nodes) مقادير برچسبي سياست زمان بندي(PAschdPolicy) چندي(PAmultiplicity) ظرفيت(PAcapacity) نرخ پردازشي(PArate) اتصال بين گره ها نگاشت عناصر مدل UML به مدل QNM پردازش نمودار استقرار
باركاري وارد بر QNM Priority پارامترهاي باركاري باز ArrivalRate پارامترهاي باركاري بسته ThinkTime population يادداشت متصل به كنشگر اولويت (PApriority) مقادير برچسبي باركاري باز (PAopenLoad) نرخ ورود درخواستهاPAoccurrence)) مقادير برچسبي باركاري بسته (PAclosedLoad) تآخير خارجيPAextDealy)) جمعيت كاربران(PApopulation) نگاشت عناصر مدل UML به مدل QNM پردازش نمودار موردكاربري • در صورت داشتن بارهاي کاري باز تعريف دو گره جديد در QNM • SourceNode • SinkNode
مدلQNM پارامترها ServiceDemand ServiceTime جهت اتصال مراكز سرويس به هم و احتمالات مسيريابي مسير اجرايي سناريوها الگوريتم توليد مسير اجرايي شناسايي تقاضاي سرويس هر يك از فعاليتها شناسايي منبع ميزبان هر فعاليت يافتن توپولوژي و جهت حركت درخواستها مقادير برچسبي متصل به فعاليتها تقاضاي سرويس(PAdemand) منبع ميزبان(PAdevice) A1 PAdemand =(‘msrd’, ’dist’, ‘exponential’, 0.2,’s’) PAdevice = Disk نگاشت عناصر مدل UML به مدل QNM پردازش نمودار فعاليت
PAdevice = D1 ماتريس احتمالات A1 D1 D2 PAdevice = D2 A2 D3 PAdevice = D3 D1 D1 D2 D2 D3 D3 A3 0 0 1 0.5 1 0.5 D1 D1 D1 D2 1 1 0 0 0 0 D2 D2 D2 D1 0 0 0 0 0 0 D3 D3 D1 D3 D1 D2 D3 نگاشت عناصر مدل UML به مدل QNM يافتن احتمالات مسيريابي از مسير اجرايي
چرخه مدلسازي كارايي چرخه مدلسازي كارايي توصيف UML مبتني بر شبكه هاي صف(QNM) شروع طراحي سيستم در سطح معماري نرمافزار توليد مدل QNM در قالب فايل XML توصيف مدل سيستم نرمافزاري با UML برآورده شدن اهداف کارايي تفسير و تحليل نتايج كارايي تحليل و ارزيابي کارايي QNM حاشيه نويسي و افزودن اطلاعات کارايي به مدل UML الگوريتم تبديل UML به QNM پشتيباني XMI در Rational Rose مدل نرمافزار در قالب فايل XML برآورده نشدن اهداف کارايي پايان
تحليل و ارزيابي QNM تحليل و ارزيابي QNM • فرضيات • شرط product-form • شرايط BCMP: 4 نظام زمان بندي FCFS, PS, PR-LCFS, IS - ويژگي توازن محلي شبكه هاي صف M/M/m-FCFS, M/G/1-PS, M/G/-IS, M/G/1-LCFS PR • روشهاي حل • الگوريتمهاي حل دقيق: MVA, Convolution, … • الگوريتمهاي حل تقريبي • شبيه سازي مبتني بر رويداد • ابزارهاي تحليل : PEPSY, SHARPE, … • پارامترهاي قابل ارزيابي: بهره وري، متوسط زمان انتظار درخواستها، متوسط طول صف، توان عملياتي سيستم، تعداد درخواستهاي فعال در سيستم
چرخه مدلسازي كارايي چرخه مدلسازي كارايي توصيف UML مبتني بر شبكه هاي صف(QNM) شروع طراحي سيستم در سطح معماري نرمافزار توليد مدل QNM در قالب فايل XML توصيف مدل سيستم نرمافزاري با UML برآورده شدن اهداف کارايي تفسير و تحليل نتايج كارايي تحليل و ارزيابي کارايي QNM حاشيه نويسي و افزودن اطلاعات کارايي به مدل UML الگوريتم تبديل UML به QNM پشتيباني XMI در Rational Rose مدل نرمافزار در قالب فايل XML برآورده نشدن اهداف کارايي پايان
ATM Card Reader User Interface ATM Controller Central Bank System Printer Cash Dispenser مطالعه موردي: سيستم ATM مطالعه موردي: سيستم بانک خود پرداز(ATM ) • ابزاري الکترونيکي براي واريز و دريافت خودکار پول به/ از يک حساب بانکي • مؤلفه هاي اصلي ATM:
درجه اهميت سناريو توجيه سناريو نام سناريو بالا مهمترين و عموميترين وظيفهمندي سيستم است. برداشت پول (Withdraw) بالا چون بيشتر سناريوها به آن وابستهاند، داراي اهميت است. بررسي صورت وضعيت (Check Balance) متوسط گه گاهي انجام ميشود. انتقال پول (Transfer Money) متوسط قبل از همه سناريوها انجام ميشود. ورود به سيستم (Login) پايين به ندرت انجام ميشود. واريز پول (Deposit) مطالعه موردي: سيستم ATM سناريوهاي اصلي در سيستم ATM
مطالعه موردي: سيستم ATM نمودار موردكاربري سناريوهاي ATM