محمد هادی دهقانی
کارشناسی ارشد
شروع دوره: مهرماه 1397پایان دوره: بهمنماه 1399
عنوان پاياننامه: رویکردی مبتنی بر مهندسی معکوس مدلرانده جهت استخراج ریزسرویسها از معماریهای نرمافزاری یکپارچه
استاد راهنما: دکتر شکوفه کلاهدوز رحیمی
موقعیت فعلی: دانشجوی دکتری در دانشگاه یوهانس کپلر لینز و عضو تیم تحقیقاتی پروژه Lowcomote
بیشتر
معرفی کوتاه:
محمد هادی دهقانی مدرک کارشناسی خود را از دانشگاه اصفهان (اصفهان-ایران) در سال 1397 در رشتهی مهندسی کامپیوتر-نرمافزار دریافت نموده است.
چکیدهی پایاننامه:
سبک معماری ریزسرویس در سالهای اخیر توجه چشمگیری را به خود جلب کرده است. این سبک معماری به توسعهدهندگان این امکان را میدهد تا سرویسهای مستقلی را پیادهسازی نموده و استقرار دهند، بنابراین بهطور طبیعی معماری مؤثرتری برای سیستمهای تحت استقرار مستمر و محیطهای رایانش ابری میباشد. بههمیندلیل، سازمانهای متعددی درحال انجام فرایند پرهزینه و زمانبر مهاجرت دستی معماریهای نرمافزاری سنتی خود به سبک معماری ریزسرویس هستند. یکی از بزرگترین چالشهای این مهاجرت، بازپیمانهبندی کد منبع سیستم با توجه به وظایف کسبوکاری هر بخش از سیستم است. هدف از این پژوهش، تسهیل مهاجرت به سبک معماری ریزسرویس، از طریق بازپیمانهبندی خودکار کد منبع است؛ بهنحوی که با پیروی از قوانین طراحی ریزسرویس، بخشهایی از سیستم که به هر ریزسرویس منتقل میشوند، مربوط به وظایف کسبوکاری همان ریزسرویس باشند. رویکردی در این پژوهش پیشنهاد میشود که با کمک به توسعهدهندگان و معماران نرمافزار در بازپیمانهبندی کد منبع سیستمهای خود، آنها را قادر میسازد نرمافزارهای خود را طبق قوانین طراحی پذیرفتهشده – که با نام طراحی دامنهرانده شناخته میشوند – به سبک معماری ریزسرویس مهاجرت دهند. مهاجرت به معماری ریزسرویس طبق قوانین طراحی دامنهرانده، باعث خواهد شد تا قابلیت نگهداری سیستمهای نرمافزاری، افزایش پیدا کند. علیرغم وجود پژوهشهای متعدد در حوزه مهاجرت به سبک معماری ریزسرویس، جای خالی یک رویکرد که بتواند تنها با در اختیار داشتن کد منبع سیستم، توابع موجود در سیستم را طبق قوانین طراحی دامنهرانده، به ریزسرویسها نگاشت کند، احساس میشود. رویکرد پیشنهادی این پژوهش، از مهندسی معکوس مدلرانده جهت بهدستآوردن مدلهایی با سطح انتزاع بالا از سیستم استفاده میکند و همچنین از یادگیری تقویتی بهره میبرد تا نگاشتی از توابع سیستم به ریزسرویسها ارائه دهد که قوانین طراحی دامنهرانده در آن رعایت شده باشد. در رویکرد پیشنهادی، کد منبع سیستم، به مدلهای سطح بالا تبدیل میشود تا امکان پیروی از قوانین طراحی فراهم شود. همچنین نگاشت توابع به ریزسرویسها به دانش و تجربه فنی افراد خبره نیاز دارد که این دانش و تجربه با آموزش یک هوش مصنوعی از طریق یادگیری تقویتی جایگزین شده است. پس از توسعه رویکرد پیشنهادی، کاربردپذیری، دقت، سرعت و مقیاسپذیری این رویکرد با اعمال آن بر روی پنج سیستم نرمافزاری شناختهشده در حوزه ریزسرویس تحت عنوان مطالعات موردی ارزیابی شده و مشخص گردید که رویکرد پیشنهادی، ضمن برخورداری از کاربردپذیری و مقیاسپذیری مناسب، بهطور میانگین نسبت به رویکرد مشابه، 11 درصد دقیقتر عمل نموده و از سرعت منحصربهفردی در حل مسائل بهرهمند است.