الگوها برای سیستم های خودتطبیق: بررسی و تحلیل
امروزه سیستمهای نرمافزاری با تغییرات زیادی مواجه شدهاند. از یکسو محیطی که این سیستمها در آن مشغول به کار هستند بسیار پویا و متغیر است و از سوی دیگر نیازمندیهای کاربران سیستم به طور مداوم در حال تحول است. باوجود تغییرات مداوم، از سیستمهای نرمافزاری انتظار میرود که توانایی مقابله با این تحولات را داشته باشند و در محیطهای متغیر نیز بتوانند وظایف خود را به طور صحیح انجام دهند. به منظور دستیابی به چنین سیستمهایی مفهومی تحت عنوان تطبیقپذیری در مهندسی نرمافزار مطرح و نسل جدیدی از سیستمهای نرمافزاری با نام سیستمهای تطبیقپذیر معرفی گردیدهاند. این مقاله با هدف بررسی این سیستمها و بیان برخی ویژگیهای این نوع سیستمها ارائه گردیده است. یکی از چالشهای اساسی در تولید سیستمهای نرمافزاری، بهروزرسانی نیازمندیها در مرحله تولید و اجرا است که میتواند ناشی از عدم اطمینان از فهم و خواسته کاربران باشد. عدم اطمینان در نیازمندی های آینده، لزوم تولید یک معماری انعطافپذیر و قابل تطبیق در محیط، جهت مدیریت کردن ریسک سیستم در مرحله اجرا را ایجاد میکند. مدل سازی عدم اطمینان در فرآیند تولید نرمافزار و تطبیق معماری نرمافزار با تغییر نیازمندیها در زمان اجرا به صورت خودکار از جمله راه حلهایی هستند که در این زمینه مطرح میشوند. لذا جهت پیادهسازی و اجرایی نمودن، نیازمند کمی و محاسباتی کردن نیازمندی ها هستیم. سیستمهای خود تطبیق در صورت تلفیق با الگوهای طراحی میتوانند مزیتهای بسیاری را در حوزه مهندسی نرمافزار ایجاد کرده و از پیچیدگی کار بکاهند؛ بنابراین، بررسی رویکردهای مهندسی نرمافزار سیستماتیک، به منظور توسعه سیستمهای خودتطبیقی که به طور ایدهآل ممکن است در چندین حوزه به کار گرفته شوند، میتواند مفید باشد.
در این تحقیق ضمن بررسی فصل مشترک رویکردهای موجود برای مدلسازی سیستم های خود تطبیق که باختصار MAPE نامیده می شود، به ساختار کلی سیستم های خود تطبیق پرداخته شده است. همچنین یک مدل سیستم خود تطبیق با پنج چرخه عملکردی مورد بررسی قرار گرفته است و سه مدل نمونه از پیاده سازی الگوهای طراحی در سیستم های خود تطبیق مطرح شده است.