>
Fa   |   Ar   |   En
   یک ابراکتشافی مبتنی بر عامل برای پیمانه‌بندی سامانه‌های نرم‌افزاری  
   
نویسنده تاج گردان محجوبه ,ایزدخواه حبیب ,لطفی شهریار
منبع محاسبات نرم - 1403 - دوره : 13 - شماره : 2 - صفحه:2 -21
چکیده    الگوریتم‌های پیمانه‌بندی برای بازیابی معماری نرم‌افزار استفاده می‌شوند. این الگوریتم‌ها کد منبع سامانه نرم‌افزاری را به پیمانه‌های کوچک‌تر و قابل فهم‌تر تقسیم می‌کنند. از آنجایی که پیمانه‌بندی نرم‌افزار یک مساله چندجمله‌ای غیرقطعی‌سخت است، به طور معمول از روش‌های مبتنی بر جستجو برای حل آن استفاده می‌شود. در سال‌های اخیر، استفاده از ابراکتشافی‌ها با رویکردهای جستجوی هوشمند، برای دستیابی به سطح بالاتری از عمومیت رو به افزایش است. در این مقاله، یک ابراکتشافی عمومی مبتنی بر عامل، با استفاده از مفهوم سامانه‌های چندعاملی، برای پیمانه‌بندی نرم‌افزار ارائه می‌شود. در الگوریتم پیشنهادی، از عامل‌هایی با دیدگاه‌های جستجوی تقویتی و تنوعی استفاده می‌شود و عامل‌های دارای دیدگاه یکسان در یک اجتماع قرار می‌گیرند. در هر گام از جستجو، مناسب‌ترین اجتماع با استفاده از یادگیری تقویتی به طور خودکار انتخاب و عامل‌های آن به صورت موازی اجرا می‌شوند. همچنین، در طراحی برخی از عامل‌ها، برای حفظ تنوع، از مفهوم نظریه آشوب استفاده می‌شود. برای نشان‌ دادن قابلیت اجرای الگوریتم پیشنهادی یازده سامانه نرم‌افزاری دنیای واقعی با اندازه کوچک و متوسط و ده پوشه از موزیلا فایرفاکس با دامنه‌ها و قابلیت‌های متفاوت انتخاب شده‌اند. نتایج آزمایش‌ها نشان می‌دهند که ابراکتشافی پیشنهادی در بیشتر موارد پیمانه‌بندی‌هایی با کیفیت بالاتر را در زمان کمتری نسبت به الگوریتم‌های مقایسه شده تولید می‌کند. میانگین بهبود عددی الگوریتم پیشنهادی از نظر کیفیت پیمانه‌بندی و زمان اجرا روی ده پوشه از موزیلا فایرفاکس به ترتیب 77.607 و 59.448 درصد می‌باشد.
کلیدواژه پیمانه‌بندی نرم‌افزار، بازیابی معماری، ابراکتشافی، سامانه‌های چندعاملی، یادگیری تقویتی
آدرس دانشگاه تبریز, دانشکده ریاضی، آمار و علوم کامپیوتر, گروه علوم کامپیوتر, ایران, دانشگاه تبریز, دانشکده ریاضی، آمار و علوم کامپیوتر, گروه علوم کامپیوتر, ایران, دانشگاه تبریز, دانشکده ریاضی، آمار و علوم کامپیوتر, گروه علوم کامپیوتر, ایران
پست الکترونیکی shahriar_lotfi@tabrizu.ac.ir
 
   an agent-based hyper-heuristic for software systems modularization  
   
Authors tajgardan mahjoubeh ,izadkhah habib ,lotfi shahriar
Abstract    modularization algorithms are used to recover the software architecture. these algorithms divide the source code of the software system into smaller and more understandable modules. since software modularization is an np-hard problem، search-based methods are usually used to solve it. in recent years، the use of hyper-heuristics with intelligent search approaches has increased to achieve a higher level of generality. in this paper، a general agent-based hyper-heuristic، using the concept of multi-agent systems، is presented for software modularization. in the proposed algorithm، agents with diversification and intensification search perspectives are used، and agents with the same perspective are placed in a coalition. in each step of the search، the most appropriate coalition is automatically selected using reinforcement learning، and its agents are executed in parallel. also، in the design of some agents، to maintain diversity، the concept of chaos theory is used. to demonstrate the applicability of the proposed algorithm، eleven real-world software systems with small and medium sizes، along with ten folders of mozilla firefox with different functionalities and sizes are selected. the results of the experiments show that the proposed hyper-heuristic، in most cases، produces higher-quality modularizations in less time than the compared algorithms. the average numerical improvement of the proposed algorithm in terms of modularization quality and execution time on ten folders of mozilla firefox is 77.607 and 59.448%، respectively.
 
 

Copyright 2023
Islamic World Science Citation Center
All Rights Reserved