84700597-Saeed-Bashiri.ppt

‫استقرار برنامه های کاربردی مبتنی بر‬
‫مولفه در محیط های توزیع شده‬
‫سمینار پروژه کارشناسی ارشد‬
‫استاد راهنما ‪ :‬آقای دکتر حبیبی‬
‫استاد مشاور ‪ :‬آقای دکتر موقر‬
‫ارائه دهنده ‪ :‬سعید بشیری‬
‫رئوس مطالب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪2‬‬
‫مقدمه‬
‫ابزارهای استقرار نرم افزار در صنعت‬
‫متدهای استقرار نرم افزار در تحقیقات آکادمیک‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی استقرار‬
‫گام های بعدی و زمانبندی‬
‫مراجع‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫مقدمه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪3‬‬
‫امروزه برنامه های کاربردی پیچیده ای وجود دارند‬
‫که دارای تعداد زیادی مولفه های نرم افزاری‬
‫ناهمگن هستند‪.‬‬
‫این برنامه ها معموال در محیط های توزیع شده‬
‫استقرار می یابند‪.‬‬
‫استقرار برنامه های مبتنی بر مولفه در محیط های‬
‫توزیع شده به سادگی استقرار برنامه های منفرد بر‬
‫روی یک کامپیوتر نمی باشد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫مقدمه(ادامه)‬
‫‪‬‬
‫فرایند استقرار نرم افزار‪،‬یک توالی از فعالیت ها می‬
‫باشد که یک برنامه توسعه داده شده را در محیط هدف‬
‫قرار می دهد و آن را آماده استفاده می گرداند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪6‬‬
‫به دست آوردن)‪(Acquiring‬‬
‫برنامه ریزی )‪(Planning‬‬
‫نصب )‪( Installation‬‬
‫پیکره بندی )‪(Configuration‬‬
‫اجرا )‪(Execution‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫ابزارهای استقرار نرم افزاردر صنعت‬
‫‪‬‬
‫‪7‬‬
‫ابزارهای استقرار نرم افزاردر صنعت به سه دسته‬
‫اصلی تقسیم می شوند‪:‬‬
‫‪‬‬
‫نصب کننده های منفرد )‪(stand-alone installers‬‬
‫‪‬‬
‫ابزارهای استقرارمبتنی بر وب ‪(Web-based‬‬
‫)‪deployment tools‬‬
‫‪‬‬
‫ابزارهای مدیریت سیستم ‪(Systems‬‬
‫)‪management tools‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫ابزارهای استقرار نرم افزاردر‬
‫‪‬‬
‫نصب کننده های منفرد‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫صنعت(ادامه)‬
‫فعالیت اصلی نصب کننده های منفرد ‪،‬نصب وحذف‬
‫سیستم های نرم افزاری منفرد از روی یک کامپیوتر‬
‫می باشد‪.‬‬
‫ابزارها دارای محدودیت هایی نیز هستند از جمله برای‬
‫نرم افزارهای توزیع شده غیرقابل استفاده می باشند و‬
‫دیگر اینکه خود کاربر باید بروز رسانی ان را به عهده‬
‫بگیرد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫ابزارهای استقرار نرم افزاردر‬
‫‪‬‬
‫نصب کننده های منفرد‬
‫‪‬‬
‫نمونه هایی از نصب کننده های منفرد‬
‫‪‬‬
‫‪Linux RPM‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪Redhat Package Manager‬‬
‫‪InstallShield‬‬
‫‪InstallAnywhere‬‬
‫‪‬‬
‫‪9‬‬
‫صنعت(ادامه)‬
‫شرکت نرم افزاری ‪Zero G‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫ابزارهای استقرار نرم افزاردر‬
‫‪‬‬
‫ابزارهای استقرارمبتنی بر وب‬
‫‪‬‬
‫‪‬‬
‫‪10‬‬
‫صنعت(ادامه)‬
‫دراین ابزارها نیازی به نصب و به روزرسانی نرم افزار‬
‫بر روی هرمیزبان به صورت جداگانه نمی باشد ودر‬
‫عوض نرم افزار بر روی یک خدمتگزار وب استقرار می‬
‫یابد‪.‬‬
‫یکی از مهمترین محدودیت های این ابزارها این می باشد‬
‫که تنها برای نرم افزارهای منفرد قابل استفاده می باشد و‬
‫برای استقرار نرم افزارهای توزیع شده غیر قابل استفاده‬
‫می باشد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫ابزارهای استقرار نرم افزاردر‬
‫‪‬‬
‫ابزارهای استقرارمبتنی بر وب‬
‫‪‬‬
‫نمونه هایی از ابزارهای استقرارمبتنی بر وب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪11‬‬
‫صنعت(ادامه)‬
‫‪Java Web Start‬‬
‫‪Microsoft Windows Update‬‬
‫‪Microsoft ClickOnce‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫ابزارهای استقرار نرم افزاردر‬
‫‪‬‬
‫ابزارهای مدیریت سیستم‬
‫‪‬‬
‫‪‬‬
‫‪12‬‬
‫صنعت(ادامه)‬
‫در این ابزارها َ ‪، Administrator‬از یک مکان متمرکز‬
‫عملیات هایی را انجام میدهد که به صورت اتوماتیک در‬
‫تمامی سیستم ها در شبکه اعمال می شود‪.‬‬
‫‪ Administrator‬از روی کامپیوتر خود قادر به استقرار‪،‬‬
‫پیکره بندی ‪،‬مدیریت و نگهداری تعداد زیادی از سیستمهای‬
‫سخت افزاری و نرم افزاری می باشد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫ابزارهای استقرار نرم افزاردر‬
‫‪‬‬
‫ابزارهای مدیریت سیستم‬
‫‪‬‬
‫محدودیت های این ابزارها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫معموال سیستمهایی سنگین و پیچیده هستند‬
‫نیاز به شبکه مطمئن دارند‬
‫نیاز به کنترل کامل ‪ Administrator‬دارند‪.‬‬
‫نمونه هایی از ابزارهای مدیریت سیستم‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪13‬‬
‫صنعت(ادامه)‬
‫‪Microsoft Systems Management Server‬‬
‫‪IBM Tivoli Management Environment‬‬
‫‪Altiris Deployment Solution‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم افزاردرتحقیقات‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪14‬‬
‫ایجاد چارچوب های استقرار‬
‫استفاده از عاملهای سیار در استقرار نرم افزار‬
‫استقرار بر محور کیفیت سرویس‬
‫استقرار در شبکه های محاسباتی‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم‬
‫‪‬‬
‫‪15‬‬
‫چارچوب های‬
‫افزاردرتحقیقات(ادامه)‬
‫استقرار)‪(Deployment Frameworks‬‬
‫‪‬‬
‫در این رهیافتها محققین سعی می کنند که یک توالی از‬
‫فعالیتها )‪ )activities‬را برای فرایند استقرار نرم افزار‬
‫بوجود آورند‪.‬‬
‫‪‬‬
‫هدف ایجاد یک چارچوب عمومی برای انجام فرایند‬
‫استقرار نرم افزاز می باشد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم‬
‫‪‬‬
‫افزاردرتحقیقات(ادامه)‬
‫نمونه هایی ازچارچوبهای استقرار‬
‫‪‬‬
‫‪Software Dock‬‬
‫‪‬‬
‫‪‬‬
‫‪OMG D&C Specification‬‬
‫‪‬‬
‫‪‬‬
‫در دانشگاه ‪Colorado‬‬
‫توسط ‪Object Management Group‬‬
‫‪ORYA‬‬
‫‪ ‬مختصر ‪Open enviRonment to deploY Applications‬‬
‫توسط ‪ Lestideau‬و ‪ Belkhatir‬در سال ‪2003‬‬
‫‪16‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم‬
‫‪‬‬
‫استفاده از عاملهای سیار در استقرار نرم افزار‬
‫‪‬‬
‫عاملهای سیار به دالیل زیر درفرایند استقرارمفیدند‬
‫‪‬‬
‫امکان عمل در قالب های ناهمگن‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در نتیجه انجام فرایند استقرار در شبکه های ناهمگن‬
‫امکان یکپارچگی با اینترنت‬
‫‪‬‬
‫در نتیجه یکپارگی فرایند استقرار با اینترنت‬
‫امکان نظاره کردن روال نصب‬
‫‪‬‬
‫‪17‬‬
‫افزاردرتحقیقات(ادامه)‬
‫جلوگیری از عملیات غیر قانونی و در نتیجه امنیت بیشتر‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم‬
‫‪‬‬
‫نمونه پروژه هایی که در فرایند استقرار آنها از عامل‬
‫های سیار استفاده شده است‬
‫‪‬‬
‫پروژه تحقیقاتی ‪University of Colorado Software Dock‬‬
‫‪‬‬
‫سیستم ‪TACOMA‬‬
‫‪‬‬
‫‪18‬‬
‫افزاردرتحقیقات(ادامه)‬
‫توسط ‪ and N.Sudmann Johnson D.‬در سال ‪2002‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم‬
‫‪‬‬
‫افزاردرتحقیقات(ادامه)‬
‫استقرار بر محور کیفیت سرویس ‪(QoS-Aware‬‬
‫)‪Deployment‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪19‬‬
‫در این رهیافت وضعیت پارامترهای کیفیت سرویس در فرایند‬
‫استقرار مورد توجه قرار می گیرد‪.‬‬
‫هدف انتخاب پیکره بندی استقراری می باشد که پارامتر کیفیت‬
‫سرویس مورد نظر را بهینه نماید‪.‬‬
‫از جمله پارامترهای کیفیت سرویس می توان به قابلیت اطمینان‪،‬‬
‫امنیت ‪ ،‬هزینه ‪ ،‬توازن بار‪ ،‬دردسترس بودن و‪ ...‬اشاره کرد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم‬
‫‪‬‬
‫نمونه پروژه هایی که فرایند استقرار آنها بر محور‬
‫کیفیت سرویس می باشد‬
‫‪‬‬
‫محیط ‪، DeSi‬معرفی شده توسط ‪ ,etcRakicM.‬درسال‬
‫‪2004‬‬
‫‪‬‬
‫‪‬‬
‫تاکید بر روی پارامتر دردسترس بودن‬
‫پروژه دیگر در سال ‪ 2002‬توسط ‪ Nahrstedt‬و‬
‫‪Wichadakul‬‬
‫‪‬‬
‫‪20‬‬
‫افزاردرتحقیقات(ادامه)‬
‫تاکید بر استقرار بر محور کیفیت سرویس در محیط فراگیر‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافتهای استقرار نرم‬
‫‪‬‬
‫افزاردرتحقیقات(ادامه)‬
‫استقرار در شبکه های محاسباتی‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در این رهیافتها به علت تعداد زیاد میزبانان و همچنین‬
‫ناهمگنی شبکه ‪،‬فاز استقرار باید در حد امکان بصورت‬
‫اتوماتیک باشد‪.‬‬
‫در این فرایند اتوماتیک باید محدودیت های برنامه و کاربر‬
‫ارضاء شوند‪.‬‬
‫از جمله این پروژه ها ‪ ،‬چارچوبی است که برای استقرار‬
‫مولفه های ‪،CORBA‬در شبکه های محاسباتی توسط‬
‫‪ Lacour‬و ‪ Priol‬در سال ‪ 2004‬ارائه شده است‪.‬‬
‫‪21‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار‬
‫‪‬‬
‫هدف ما ‪:‬‬
‫‪‬‬
‫توسعه الگوریتم های مورد نیاز برای استقراربرنامه های‬
‫کاربردی مبتنی بر مولفه در محیط های توزیع شده می‬
‫باشد به طوریکه ‪:‬‬
‫‪‬‬
‫برخی از پارامترهای کیفیت سرویس ماکزیمم شوند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪22‬‬
‫یک فرایند استقرار بر محور کیفیت سرویس می باشد‪.‬‬
‫محدودیت های تعریف شده توسط کاربر ارضاء شوند‪.‬‬
‫رهیافت وابسته به تکنولوژی های توسعه مبتنی بر مولفه‬
‫نباشد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫تمرکز در این پروژه بر فاز برنامه ریزی می باشد‪.‬‬
‫فرایند استقرار نرم افزار‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪23‬‬
‫به دست آوردن)‪(Acquiring‬‬
‫برنامه ریزی )‪(Planning‬‬
‫نصب )‪( Installation‬‬
‫پیکره بندی )‪(Configuration‬‬
‫اجرا )‪(Execution‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫فاز برنامه ریزی )‪(Planning‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪24‬‬
‫در این فاز با توجه به مشخصات برنامه مبتنی بر مولفه‪،‬‬
‫مشخصات محیط هدف‪ ،‬و محدودیت های کاربر مشخص‬
‫می شود که کدام مولفه در کدام میزبان اجرا خواهد شد‪.‬‬
‫به برنامه ای که این فاز را انجام می دهد‪ ،‬برنامه ریز گفته‬
‫می شود‪(Planner).‬‬
‫نتایج در طرح استقرار )‪(Deployment Plan‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫ورودی های برنامه ریز‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪25‬‬
‫مشخصات برنامه ای که باید استقرار یابد‪.‬‬
‫مشخصات محیطی که برنامه باید در آن استقرار یابد‬
‫(محیط هدف)‪.‬‬
‫مشخصات محدودیت های تعریف شده توسط کاربر و‬
‫نیازمندیها‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫مدل کردن ورودی های برنامه ریز‬
‫‪‬‬
‫‪‬‬
‫از گراف برای مدل کردن ورودی ها استفاده می شود‪.‬‬
‫مزایای استفاده از گراف برای مدل کردن‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪26‬‬
‫گراف یک بازنمایی بصری را ارائه می کند‪.‬‬
‫الگوریتمهای تئوری گراف می توانند به ما در طراحی‬
‫الگوریتمهای برنامه ریزی استقرار کمک نمایند‪.‬‬
‫از سمبلهای تئوری گراف می توان برای بازنمایی صوری‬
‫ورودی های برنامه ریزونیزاثبات درستی الگوریتمهای‬
‫برنامه ریزی استقرار استفاده کرد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫مدل کردن مشخصات برنامه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪27‬‬
‫از دید برنامه ریز‪ ،‬برنامه متشکل ازتعدادی مولفه می باشد‬
‫که توسط تعدادی کانال با خصوصیات متفاوت با یکدیگر در‬
‫ارتباطند‪.‬‬
‫جزییات داخلی ونحوه عملکرد درونی مولفه ها مهم نمی‬
‫باشد‪.‬‬
‫این مولفه ها می توانند فرایند‪،‬سرویس وب‪، Java beans ،‬‬
‫مولفه های ‪ CORBA‬و‪ ...‬باشند‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫مدل کردن مشخصات برنامه‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪28‬‬
‫ابتدا برنامه مبتنی بر مولفه‪ ،‬توسط ‪ Reo‬مدل می شود‪.‬‬
‫‪ ،Reo‬یک مدل هماهنگی مبتنی بر کانال می باشد که‬
‫رفتارهای مشارکتی دوسویه مولفه ها را در یک سیستم مبتنی‬
‫بر مولفه هماهنگ می سازد‪.‬‬
‫‪ ،Reo‬این امکان را می دهد تا ارتباطات بین مولفه ها ‪،‬که‬
‫هر کدام دارای خصوصیات متفاوت می باشند‪ ،‬به سادگی‬
‫مدل شده و بیان شوند‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه‬
‫ریزی استقرار(ادامه)‬
‫مثالی از یک برنامه مدل شده با ‪Reo‬‬
‫‪‬‬
‫‪N1‬‬
‫سرویس رزرو پرواز بین المللی‬
‫سرویس‬
‫رزرو‬
‫پرواز‬
‫سرویس رزرو پرواز داخلی‬
‫‪N2‬‬
‫‪29‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫مدل کردن مشخصات برنامه‬
‫‪‬‬
‫‪‬‬
‫‪30‬‬
‫برنامه مدل شده با ‪ Reo‬را به راحتی می توان تبدیل به‬
‫گراف کرد‬
‫‪ ‬گره های گراف‪ ،‬نمایانگرمولفه های برنامه می باشند‪.‬‬
‫‪ ‬یالهای گراف ‪ ،‬نمایانگر کانالهای بین مولفه ها می باشند‪.‬‬
‫‪ ‬هر یال‪ ،‬با نام نوع کانال ارتباطی بین دومولفه برچسب می‬
‫خورد‪.‬‬
‫گراف حاصل ‪ ،‬گراف برنامه )‪(Application Graph‬‬
‫نامیده می شود‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫مثالی از یک گراف برنامه‬
‫سرپب‬
‫‪T2‬‬
‫‪N1‬‬
‫‪T2‬‬
‫سرپ‬
‫‪T4‬‬
‫سرپد‬
‫‪31‬‬
‫‪T1‬‬
‫‪N2‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫‪T1‬‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫مدل کردن مشخصات محیط هدف‬
‫‪‬‬
‫‪‬‬
‫محیط هدف‪ ،‬متشکل ازتعدادی میزبان با تواناییهای محاسباتی‬
‫متفاوت می باشد که توسط یک شبکه در محیط توزیع شده به‬
‫یکدیگر متصلند‪.‬‬
‫محیط هدف به صورت زیر با یک گراف مدل می شود‬
‫‪‬‬
‫‪‬‬
‫‪32‬‬
‫گره ها‪ ،‬نمایانگرمیزبانان دردسترس در محیط توزیع شده می‬
‫باشند‪.‬‬
‫یالها‪ ،‬نمایانگر انواع کانالهای مختلف می باشند که می توانند‬
‫بین دو میزبان وجود داشته باشند‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه‬
‫ریزی استقرار(ادامه)‬
‫‪‬‬
‫گراف حاصل‪ ،‬گراف محیط‬
‫)‪ graph‬نامیده می شود‪.‬‬
‫‪‬‬
‫مثالی از یک گراف محیط هدف‬
‫‪33‬‬
‫هدف ‪(Target environment‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫حال می توان برنامه ریزی استقرار را چنین تعریف نمود‬
‫‪ ‬ایجاد نگاشتی بین گراف برنامه و گراف محیط هدف‬
‫‪‬‬
‫نگاشت باید به شکلی صورت پذیرد که پارامتر کیفیت‬
‫سرویس مورد نظر ماکزیمم شود‪.‬‬
‫همچنین محدودیت های تعریف شده توسط کاربر ارضاء‬
‫شوند‪.‬‬
‫‪‬‬
‫‪34‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫رهیافت مبتنی بر گراف برای برنامه ریزی‬
‫استقرار(ادامه)‬
‫‪‬‬
‫عباس حیدرنوری و فرهاد مودت وفرهاد ارباب‪ ،‬این‬
‫مساله را برای پارامترهای کیفیت سرویس هزینه و‬
‫اطمینان حل نموده اند‪.‬‬
‫‪‬‬
‫‪‬‬
‫‪35‬‬
‫حل مساله برای پارامترهزینه با استفاده از الگوریتم تقریبی‬
‫مساله پوشش مجموعه مینیمم (‪(Minimum Set Cover‬‬
‫حل مساله برای پارامتراطمینان با استفاده از الگوریتم تقریبی‬
‫مساله برش چند راهه )‪ (Multiway cut‬در تئوری گراف‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫گام های بعدی و زمانبندی‬
‫‪‬‬
‫‪‬‬
‫‪36‬‬
‫در گام بعدی ما می خواهیم با استفاده از رهیافت مبتنی‬
‫بر گراف مساله برنامه ریزی را برای یکی دیگر از‬
‫پارامترهای کیفیت سرویس از جمله کارایی‪،‬امنیت‪،‬‬
‫توازن بار و‪ ...‬حل نماییم‪.‬‬
‫تست الگوریتم ارائه شده مرحله بعدی می باشد‪.‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫گام های بعدی و‬
‫زمانبندی(ادامه)‬
‫فعالیت‬
‫حل مساله برنامه ریزی برای یک پارامتر کیفیت‬
‫سرویس حل نشده با رهیافت مبتنی بر گراف‬
‫‪37‬‬
‫ماه‬
‫‪ 4‬الی ‪5‬‬
‫تست الگوریتم ارائه شده‬
‫‪2‬‬
‫تدوین پایان نامه‬
‫‪2‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫مراجع‬




Arbab, F. Reo: A Channel-based Coordination Model for
Component Composition. Mathematical Structures in Computer
Science, 14, 3 (June 2004),pp. 329-366.
Heydarnoori, A. and Mavaddat, F. and Arbab, F. Deploying
Loosely Coupled, Component-based Applications into
Distributed Environments. Proceedings of the 13th Annual IEEE
International Symposium and Workshop on Engineering of
Computer Based Systems (ECBS’06)
Heydarnoori, A. and Mavaddat, F. Reliable Deployment of
Component-based Applications into Distributed Environments .
Proceedings of the Third International Conference on
Information Technology: New Generations (ITNG'06)
Lacour, S., Prez, C., and Priol, T. A Software Architecture for
Automatic Deployment of CORBA Components Using Grid
Technologies. In Proceedings of the First Francophone
Conference On Software Deployment and (Re Configuration
(DECOR 2004 ,)Grenoble, France, October 2004, pp.187-192.
‫ دانشکده مهندسی کامپیوتر‬،‫دانشگاه صنعتی شریف‬
38
‫مراجع‬




Lacour, S., Prez, C., and Priol, T. A Software Architecture for
Automatic Deployment of CORBA Components Using Grid
Technologies. In Proceedings of the First Francophone
Conference On Software Deployment and (Re Configuration
(DECOR 2004 ,)Grenoble, France, October 2004, pp.187-192.
Sudmann, N.P. and Johansen, D. Software Deployment Using
Mobile Agents. In Proceedings of First International IFIP/ACM
Working Conference on Component Deployment (CD 2002 ,)
Berlin, Germany, June 20-21,2002.
Object Management Group, Deployment and Configuration of
Component-based Distributed Applications specification,
http://www.omg.org/docs/ptc/04-05-15.pdf.
Carzaniga, A., Fuggetta, A., Hall, R. S., Hoek, A. V. D.,
Heimbigner,D., Wolf, A. L. A Characterization Framework for
Software Deployment Technologies. Technical Report CU-CS857-98, Dept. of Computer Science,University of Colorado, April
1998
‫ دانشکده مهندسی کامپیوتر‬،‫دانشگاه صنعتی شریف‬
39
‫مراجع‬



Mikic-Rakic, M., Malek, S., Beckman, N. and Medvidovic, N. A
Tailorable. Environment for Assessing the Quality of
Deployment Architectures in Highly Distributed Settings. In
Proceedings of the Second International Working Conference
on Component Deployment (CD 2004 ,)Edinburgh,UK, May 2021, 2004.
Wichadakul, D., and Nahrstedt, K. A Translation System for
Enabling Flexible and Eficient Deplyoment of QoS-aware
Applications in Ubiquitous Environments. In Proceedings of the
First International IFIP/ACMWorking Conference on Component
Deployment (CD 2002), Berlin, Germany, 2002.
Lestideau, V. and Belkhatir, N. Providing Highly Automated and
Generic Means for Software Deployment Process. In
Proceedings of the 9th International Workshop on Software
Process Technology (EWSPT 2003), Helsinki,Finland,
September 1-2, 2003, pp. 128-142.
‫ دانشکده مهندسی کامپیوتر‬،‫دانشگاه صنعتی شریف‬
40
‫؟‬
‫‪41‬‬
‫دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬