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

 

خود پیکر بندی Self configure : خود پیکربندی قابلیت پیکر بندی مجدد سیستم بصورت خودکار و پویا در پاسخ به تغییرات انجام شده بوسیله نصب و به روز رسانی تجمیع و تجزیه مولفه های نرم افزار است.

خود حفاظتی Self protect : این ویژگی مربوط به یک ویژگی امنیتی در سیستم است یعنی سیستم خودمختار باید بتواند در مقابل رفتار بد خواهانه  و حملات از خود محافظت نماید.

خود التیامی Self healing : یک سیستم زمانی خود التیام است که بتواند بصورت خود مختار مشکلات و خطاهای رخ داده در سیستم را شناسایی نموده و اصلاح نماید.

خود سازماندهی Self organize : یعنی سیستم خودمختار بتواند خود را بصورت خودکار سازماندهی نماید.

 

 برای مطالعات بیشتر به سایت مقابل مراجعه شود                                       http://selfstar.sbu.ac.ir