دانلود - FUMblog
Download
Report
Transcript دانلود - FUMblog
AOSE(Agent Oriented Software Engineering)
مهندس ی نرم افزار عامل گرا
امروزه استفاده از عاملها ,به صورت قابل مالحظهاي در ساخت سيستمهاي كامپيوتري
افزايش يافته است.
باز بودن ,پيچيدگي باالي نرمافزار ,منابع دادهاي و انعطافپذيري باال ,ويژگيهاي سيستمهايي
هستند كه تكنولوژي عامل امكان توليد آنها را فراهم ميكند.
براساس ويژگيهايی که در اساليد های بعدی ذکر خواهد شد ،سيستمهاي مبتنی بر عامل به
عنوان نسل بعدي سيستمهاي نرمافزاري مطرح ميباشند.
تصميم گيری در مورد نيازمندی هايش
در محيطی پويا،که امکان مواجه با شکست وجود دارد عمل کند
برای رسين به اهدافی که برايش طراحی شده قادر به تعامل با ديگر عامل ها باشد
اولين بار در دهه ی 1940
اين ايده ،سال 1980به طور رسمی شروع به کار و رشد کرد و موضوع
عامل های نرم افزاری و سيستم های چند عامله ( )Multi Agent Systemمطرح شد.
عامل يک سيستم کامپيوتری مبتنی بر نرم افزار است ،که در يک محيط قرار گرفته
( )situatedو قادر به فعاليت های خود مختار ( )autonomyدر آن محيط برای رسيدن
به اهدافش است.
با اين تعاريف می توان گفت يک عامل يک ربات نرم افزاری است که در دنيای
ديگر عامل:
خصوصيات
فعاليت می کند.
زندگی و
کامپيوتر
فعال و موثر بودن()proactive
واکنش پذيری()reactive
يادگيری()learning
توانايی اجتماعی()Social ability
مثال هایی از عامل نرم افزاری:
ويروس های کامپيوتری ( عامل های مخرب )
بازيکن های مصنوعی در بازی های کامپيوتری
OBJECT
AGENT
رفتارها بوسيله موجوديت های خارجی
کنترل می شوند
خودمختار است و خود کنترل خودش را
به عهده دارد
قدرت «نه» گفتن ندارد
اجازه ی «نه» گفتن دارد
رفتارهای قابل پيش بينی _کارکرد هايش غير قابل پيش بينی است _ در
سناريوهای مختلف رفتارهای مختلفی
ايستا است
دارد
هدف اصلی مهندسی نرم افزار عامل گرا ساختن متدلوژی ها و ابزار هايی است
تا توسعه و نگهداری نرم افزار های عامل به صورت ارزان ممکن شود.
نرم افزار حاصل انعطاف پذير بوده و کار کردن با آن ساده و آسان باشد و در ضمن از
کيفيت و کارايی بااليی هم برخوردار با شد .
هدف متدولوژی ها اين است که طراح را از مراحل اوليه تعريف سيستم تا پياده سازی
سيستم عامل گرا هدايت کند.
در اين متدولوژی ها سعی شده که ويژگی های مربوط به عامل ها و روش های مرتبط با آن
در متدولوژی های موجود اضافه گردد.
به دو دسته تقسيم ميشوند :
◦ متدولوژی هايی که توسعه روش های شیء گرا هستند.
◦ متدولوژی هايی که توسعه روش های مهندسی دانش هستند.
مزايا :
◦ شباهت ميان شی و عامل وجود دارد.
◦ روش های شی گرا بسيار متداول است.
◦ يادگيری و هزينه کمتری نسبت به ساير روش ها دارد.
مواردی که بايد مد نظر قرار گيرد :
◦ تجرد باالتر عامل نسبت به شیء
◦ عدم توانايی روش های شیء گرا در مدل سازی ويژگی های خاص عامل
نمونهها Ex-MaSE ،ROADMap ،MESSAGE ، MaSE ،Gaia :
هدف )Multiagent Systems Engineering( MaSEاين بود که طراح را از مراحل
اوليه تعريف سيستم تا پياده سازی سيستم عامل گرا هدايت کند.
اهداف
مرحله تعيين
عاملی اول
مرحله
خالقيت“” ،پيش فعال بودن“ در آن مورد توجه
مختاري“” ،
نظير )”خود
هاي
ويژگي
باشد.مرحله ی دوم ) تعيين موارد کاربرد
نمي
فاز سوم ) پااليش نقش ها
عامل ها به صورت موجوديتهاي نرمافزاري فرض ميشوند كه براي رسيدن به يك هدف
کالس های عامل
ايجاد
فاز چهارم
كنند.
همكاري) مي
خاصبا هم
فاز پنجم ) ايجاد يک گفتگو
فاز ششم ) اسمبل کردن کالسهای عامل
فاز هفتم ) طراحی سيستم
نقشهاي موجود در
سیستم
تحلیل
نیازها
)1تعیین اهداف
)2تعيين موارد کاربرد
)3بهبود نقش ها
برای اين منظور بايد مشخصات الزم برای ايجاد سيستم اوليه تعيين شده و در طی يک ساختار
سلسله مراتبی به سيستم نهايی تبديل شود .اهداف بايد به اندازهاي جزئي شوند كه امكان انجام
آنها توسط عاملهايی كه در مرحله طراحی مشخص می شود ،وجود داشته باشد.
)1تعيين اهداف
)2تعیین موارد کاربرد
)3بهبود نقش ها
.مورد کاربرد ها نشان دهنده واکنش متقابل منطقی نقش های مختلف خود سيستم با يکديگر
مسئوليت پذيری
است .برای حداقل سازی تعداد پيام هايی که بايد بين سيستم ها رد و بدل شود ،دياگرام ترتيب
به کار برده می شود .
صفت های هر نقش
مجوزها
فعاليت ها
)1تعيين اهداف
)2تعيين موارد کاربرد
)3بهبود نقش ها
اين مرحله نقشهايی را به وجود می آورد که پاسخگوی اهداف تعيين شده در فاز اول خواهند بود.
در اين مرحله بايد اطمينان حاصل نمود كه به هر هدف يک نقش اختصاص داده شده است.
)4ایجاد کالس های عامل
)5ايجاد يک گفتگو
)6ترکيب کالس
ها عامل
)7طراحی سيستم
در اين مرحله ،براي هريك از نقش هاي موجود در سيستم يك كالس عامل اختصاص داده
مي شود.
مي توان بين نقش ها و كالس هاي عامل ،نگاشت يك به يك ايجاد نمود يا مجموعه اي از نقش
ها را داخل يك كالس عامل قرار داد.
در نمودار كالس عامل ،كالس ها ( به صورت مربع ) و ارتباط بين كالس ها با خطوط
مشخص مي شود.
)4ايجاد کالس های
عامل
)5ایجاد یک گفتگو
)6ترکيب کالس ها
عامل
)7طراحی سيستم
State Diagram
تعريف يک پروتکل هماهنگ به فرم نمودارهای حالت برای بيان وضعيت هر گفتگو در تأثير
متقابل عامل ها
)4ايجاد کالس عامل
)5ايجاد يک گفتگو
)6ترکیب کالس ها عامل
در اين مرحله معماري داخلي عامل مشخص مي شود.
يعنی توابع و وظايف داخل کالسهای عامل در اين مرحله ايجاد می شوند .
)7طراحی سيستم
)4ايجاد کالس عامل
)5ايجاد يک گفتگو
)6ترکيب کالس ها
عامل
)7طراحی سیستم
در اين مرحله ساختار كلي عامل ها در سيستم مشخص مي شود.
برای نمايش نحوه استقرار عامل ها از نمودارهای استقرار ()Diagram Deployment
در UMLاستفاده میشود.
(1عدم مدلسازی دانش برای نقشها
عدم توجه به شناسايی و طراحی دانش مورد نياز يک عامل برای رسيدن به اهداف
(2كمبودهای مستندسازی
مستندسازی شرح هر نقش ,نيازهای اطالعاتی ,نحوه ارائه هوشمندی و خودمختاری و وظايفی كه نقش
برعهده دارد
(3تبديل كليه نقشهای موجود در سيستم به عامل
مدل نمودن همه موجوديتهای سيستم به صورت عامل ممكن است كه از نظر مفهومی مناسب باشد اما
منجر به پيادهسازی سيستمهای كارا نمیگردد.
يك سيستم پيچيده و باز با روشهای بر مبنای عامل با سهولت بيشتری پياده
سازی گردد.
سيستمهای مبتنی برعامل نياز به متدولوژيهای مهندسی نرمافزار بر اساس
ويژگيهای منحصر به فرد عاملها دارند .