Presentation is loading. Please wait.

Presentation is loading. Please wait.

مهندسی نرم افزار عامل گرا

Similar presentations


Presentation on theme: "مهندسی نرم افزار عامل گرا"— Presentation transcript:

1 مهندسی نرم افزار عامل گرا
AOSE(Agent Oriented Software Engineering) مهندسی نرم افزار عامل گرا

2 امروزه استفاده از عاملها, به صورت قابل ملاحظه‌اي در ساخت سيستمهاي كامپيوتري افزايش يافته است.
باز بودن, پيچيدگي بالاي نرم‌افزار, منابع داده‌اي و انعطاف‌پذيري بالا, ويژگيهاي سيستمهايي هستند كه تكنولوژي عامل امكان توليد آنها را فراهم مي‌كند. بر‌اساس ويژگيهايی که در اسلاید های بعدی ذکر خواهد شد، سيستمهاي مبتنی بر عامل به عنوان نسل بعدي سيستمهاي نرم‌افزاري مطرح مي‌باشند. مقدمه

3 فلسفه ی وجودی عامل تصمیم گیری در مورد نیازمندی هایش
در محیطی پویا،که امکان مواجه با شکست وجود دارد عمل کند برای رسین به اهدافی که برایش طراحی شده قادر به تعامل با دیگر عامل ها باشد فلسفه ی وجودی عامل

4 ایده ی عامل اولین بار در دهه ی 1940
این ایده ، سال 1980 به طور رسمی شروع به کار و رشد کرد و موضوع عامل های نرم افزاری و سیستم های چند عامله (Multi Agent System) مطرح شد. ایده ی عامل

5 عامل یک سیستم کامپیوتری مبتنی بر نرم افزار است ، که در یک محیط قرار گرفته (situated) و قادر به فعالیت های خود مختار (autonomy) در آن محیط برای رسیدن به اهدافش است. خصوصیات دیگر عامل: فعال و موثر بودن(proactive) واکنش پذیری(reactive) یادگیری(learning) توانایی اجتماعی(Social ability) تعریف عامل با این تعاریف می توان گفت یک عامل یک ربات نرم افزاری است که در دنیای کامپیوتر زندگی و فعالیت می کند.

6 مثال هایی از عامل نرم افزاری:
ویروس های کامپیوتری ( عامل های مخرب ) بازیکن های مصنوعی در بازی های کامپیوتری

7 مقایسه ی عامل و شی AGENT OBJECT
خودمختار است و خود کنترل خودش را به عهده دارد رفتارها بوسیله موجودیت های خارجی کنترل می شوند اجازه ی «نه» گفتن دارد قدرت «نه» گفتن ندارد غیر قابل پیش بینی است _ در سناریوهای مختلف رفتارهای مختلفی دارد رفتارهای قابل پیش بینی _کارکرد هایش ایستا است مقایسه ی عامل و شی

8 مهندسی نرم افزار عامل گرا
هدف اصلی مهندسی نرم افزار عامل گرا ساختن متدلوژی ها و ابزار هایی است تا توسعه و نگهداری نرم افزار های عامل به صورت ارزان ممکن شود. نرم افزار حاصل انعطاف پذیر بوده و کار کردن با آن ساده و آسان باشد و در ضمن از کیفیت و کارایی بالایی هم برخوردار با شد . مهندسی نرم افزار عامل گرا

9 روشهای تحلیل و طراحی سیستم های مبتنی برعامل
هدف متدولوژی ها این است که طراح را از مراحل اولیه تعریف سیستم تا پیاده سازی سیستم عامل گرا هدایت کند. روشهای تحلیل و طراحی سیستم های مبتنی برعامل در این متدولوژی ها سعی شده که ویژگی های مربوط به عامل ها و روش های مرتبط با آن در متدولوژی های موجود اضافه گردد. به دو دسته تقسیم میشوند : متدولوژی هایی که توسعه روش های شیء گرا هستند. متدولوژی هایی که توسعه روش های مهندسی دانش هستند.

10 MaSE مزایا : شباهت میان شی و عامل وجود دارد.
روش های شی گرا بسیار متداول است. یادگیری و هزینه کمتری نسبت به سایر روش ها دارد. مواردی که باید مد نظر قرار گیرد : تجرد بالاتر عامل نسبت به شیء عدم توانایی روش های شیء گرا در مدل سازی ویژگی های خاص عامل نمونه‌ها : Gaia، ، MESSAGE، ROADMap، Ex-MaSE MaSE

11 هدف MaSE (Multiagent Systems Engineering) این بود که طراح را از مراحل اولیه تعریف سیستم تا پیاده سازی سیستم عامل گرا هدایت کند. ويژگي‌هاي عامل نظير ”خود مختاري“، ”خلاقيت“، ”پيش فعال بودن“ در آن مورد توجه نمي‌باشد. عامل ها به صورت موجوديت‌هاي نرم‌افزاري فرض مي‌شوند كه براي رسيدن به يك هدف خاص با هم همكاري مي‌كنند. MaSEمتدلوژی مرحله ی اول ) مرحله تعيين اهداف مرحله ی دوم ) تعیین موارد کاربرد فاز سوم ) پالایش نقش ها فاز چهارم ) ایجاد کلاس های عامل فاز پنجم ) ایجاد یک گفتگو فاز ششم ) اسمبل کردن کلاسهای عامل فاز هفتم ) طراحی سیستم

12 تحليل نياز‌ها نقش‌هاي موجود در سيستم

13 1) تعیین اهداف 2) تعیین موارد کاربرد 3) بهبود نقش ها برای این منظور باید مشخصات لازم برای ایجاد سیستم اولیه تعیین شده و در طی یک ساختار سلسله مراتبی به سیستم نهایی تبدیل شود. اهداف بايد به اندازه‌اي جزئي شوند كه امكان انجام آنها توسط عامل‌هايی كه در مرحله طراحی مشخص می شود، وجود داشته باشد.

14 صفت های هر نقش 2) تعیین موارد کاربرد
1) تعیین اهداف 3) بهبود نقش ها .مورد کاربرد ها نشان دهنده واکنش متقابل منطقی نقش های مختلف خود سیستم با یکدیگر است. برای حداقل سازی تعداد پیام هایی که باید بین سیستم ها رد و بدل شود ، دیاگرام ترتیب به کار برده می شود . مسئولیت پذیری مجوزها صفت های هر نقش فعالیت ها

15 3) بهبود نقش ها 1) تعیین اهداف 2) تعیین موارد کاربرد این مرحله نقشهایی را به وجود می آورد که پاسخگوی اهداف تعیین شده در فاز اول خواهند بود. در اين مرحله بايد اطمينان حاصل نمود كه به هر هدف يک نقش اختصاص داده شده است.

16 4) ایجاد کلاس های عامل 5)ایجاد یک گفتگو 6)ترکیب کلاس ها عامل 7)طراحی سیستم در اين مرحله، براي هريك از نقش هاي موجود در سيستم يك كلاس عامل اختصاص داده مي شود. مي توان بين نقش ها و كلاس هاي عامل، نگاشت يك به يك ايجاد نمود يا مجموعه اي از نقش ها را داخل يك كلاس عامل قرار داد. در نمودار كلاس عامل، كلاس ها ( به صورت مربع ) و ارتباط بين كلاس ها با خطوط مشخص مي شود.

17 5)ایجاد یک گفتگو 4)ایجاد کلاس های عامل 6)ترکیب کلاس ها عامل 7)طراحی سیستم State Diagram تعریف یک پروتکل هماهنگ به فرم نمودارهای حالت برای بیان وضعیت هر گفتگو در تأثیر متقابل عامل ها

18 در اين مرحله معماري داخلي عامل مشخص مي شود.
6) ترکیب کلاس ها عامل 5)ایجاد یک گفتگو 4)ایجاد کلاس عامل 7) طراحی سیستم در اين مرحله معماري داخلي عامل مشخص مي شود. یعنی توابع و وظایف داخل کلاسهای عامل در این مرحله ایجاد می شوند .

19 7) طراحی سیستم در اين مرحله ساختار كلي عامل ها در سيستم مشخص مي شود.
5)ایجاد یک گفتگو 4)ایجاد کلاس عامل 6)ترکیب کلاس ها عامل در اين مرحله ساختار كلي عامل ها در سيستم مشخص مي شود. برای نمايش نحوه استقرار عامل ها از نمودارهای استقرار (Deployment Diagram) در UML استفاده می‌شود.

20 MaSEمشكلات و كمبودهايی از
عدم مدل‌سازی دانش برای نقشها عدم توجه به شناسایی و طراحی دانش مورد نياز يک عامل برای رسيدن به اهداف كمبودهای مستندسازی مستندسازی شرح هر نقش, نيازهای اطلاعاتی, نحوه ارائه هوشمندی و خودمختاری و وظايفی كه نقش برعهده دارد تبديل كليه نقشهای موجود در سيستم به عامل مدل نمودن همه موجوديتهای سيستم به صورت عامل ممكن است كه از نظر مفهومی مناسب باشد اما منجر به پياده‌سازی سيستمهای كارا نمی‌گردد. MaSEمشكلات و كمبودهايی از

21 يك سيستم پيچيده و باز با روشهای بر مبنای عامل با سهولت بيشتری پياده‌ سازی گردد.
سيستمهای مبتنی برعامل نياز به متدولوژيهای مهندسی نرم‌افزار بر اساس ويژگيهای منحصر به فرد عاملها دارند . نتیجه گیری

22 پایان


Download ppt "مهندسی نرم افزار عامل گرا"

Similar presentations


Ads by Google