310 likes | 651 Views
AOSE(Agent Oriented Software Engineering). مهندسی نرم افزار عامل گرا. امروزه استفاده از عاملها, به صورت قابل ملاحظهاي در ساخت سيستمهاي كامپيوتري افزايش يافته است.
E N D
AOSE(Agent Oriented Software Engineering) مهندسی نرم افزار عامل گرا
امروزه استفاده از عاملها, به صورت قابل ملاحظهاي در ساخت سيستمهاي كامپيوتري افزايش يافته است. • باز بودن, پيچيدگي بالاي نرمافزار, منابع دادهاي و انعطافپذيري بالا, ويژگيهاي سيستمهايي هستند كه تكنولوژي عامل امكان توليد آنها را فراهم ميكند. • براساس ويژگيهايی که در اسلاید های بعدی ذکر خواهد شد، سيستمهاي مبتنی برعامل به عنوان نسل بعدي سيستمهاي نرمافزاري مطرح ميباشند. مقدمه
تصمیم گیری در مورد نیازمندی هایش • در محیطی پویا،که امکان مواجه با شکست وجود دارد عمل کند • برای رسین به اهدافی که برایش طراحی شده قادر به تعامل با دیگر عامل ها باشد فلسفه ی وجودی عامل
اولین بار در دهه ی 1940 • این ایده ، سال 1980 به طور رسمی شروع به کار و رشد کرد و موضوع • عامل های نرم افزاری و سیستم های چند عامله(Multi Agent System)مطرح شد. ایده ی عامل
عامل یک سیستم کامپیوتری مبتنی بر نرم افزار است ، که در یک محیط قرار گرفته (situated) و قادر به فعالیت های خود مختار (autonomy) در آن محیط برای رسیدن به اهدافش است. • خصوصیات دیگر عامل: • فعال و موثر بودن(proactive) • واکنش پذیری(reactive) • یادگیری(learning) • توانایی اجتماعی(Social ability) تعریف عامل با این تعاریف می توان گفت یک عامل یک ربات نرم افزاری است که در دنیای کامپیوتر زندگی و فعالیت می کند.
مثال هایی از عامل نرم افزاری: • ویروس های کامپیوتری ( عامل های مخرب ) • بازیکن های مصنوعی در بازی هایکامپیوتری
هدف اصلی مهندسی نرم افزار عامل گرا ساختن متدلوژی ها و ابزار هایی است • تا توسعه و نگهداری نرم افزار های عامل به صورت ارزان ممکن شود. • نرم افزار حاصل انعطاف پذیر بوده و کار کردن با آن ساده و آسان باشد و در ضمن از کیفیت و کارایی بالایی هم برخوردار با شد . مهندسی نرم افزار عامل گرا
هدف متدولوژی ها این است که طراح را از مراحل اولیه تعریف سیستم تا پیاده سازی سیستم عامل گرا هدایت کند. روشهای تحلیل و طراحی سیستم های مبتنی برعامل • در این متدولوژی ها سعی شده که ویژگی های مربوط به عامل ها و روش های مرتبط با آن در متدولوژی های موجود اضافه گردد. • به دو دسته تقسیم میشوند : • متدولوژی هایی که توسعه روش های شیء گرا هستند. • متدولوژی هایی که توسعه روش های مهندسی دانش هستند.
مزایا : • شباهت میان شی و عامل وجود دارد. • روش های شی گرا بسیار متداول است. • یادگیری و هزینه کمتری نسبت به سایر روش ها دارد. • مواردی که باید مد نظر قرار گیرد : • تجرد بالاتر عامل نسبت به شیء • عدم توانایی روش های شیء گرا در مدل سازی ویژگی های خاص عامل • نمونهها : Gaia،، MESSAGE، ROADMap، Ex-MaSE MaSE
هدف MaSE (Multiagent Systems Engineering) این بود که طراح را از مراحل اولیه تعریف سیستم تا پیاده سازی سیستم عامل گرا هدایت کند. • ويژگيهاي عامل نظير ”خود مختاري“، ”خلاقيت“، ”پيش فعال بودن“ در آن مورد توجه نميباشد. • عامل ها به صورت موجوديتهاي نرمافزاري فرض ميشوند كه براي رسيدن به يك هدف خاص با هم همكاري ميكنند. MaSEمتدلوژی • مرحله ی اول ) مرحله تعيين اهداف • مرحله ی دوم ) تعیین موارد کاربرد • فاز سوم )پالایش نقش ها • فاز چهارم )ایجاد کلاس های عامل • فاز پنجم ) ایجاد یک گفتگو • فاز ششم ) اسمبل کردن کلاسهای عامل • فاز هفتم )طراحی سیستم
تحليل نيازها نقشهاي موجود در سيستم
برای این منظور باید مشخصات لازم برای ایجاد سیستم اولیه تعیین شده و در طی یک ساختار سلسله مراتبی به سیستم نهایی تبدیل شود. اهداف بايد به اندازهاي جزئي شوند كه امكان انجام آنها توسط عاملهايی كه در مرحله طراحی مشخص می شود، وجود داشته باشد.
.مورد کاربرد ها نشان دهنده واکنش متقابل منطقی نقش های مختلف خود سیستم با یکدیگر است. برای حداقل سازی تعداد پیام هایی که باید بین سیستم ها رد و بدل شود ، دیاگرام ترتیب به کار برده می شود . مسئولیت پذیری مجوزها صفت های هر نقش فعالیت ها
این مرحله نقشهایی را به وجود می آورد که پاسخگوی اهداف تعیین شده در فاز اول خواهند بود. در اين مرحله بايد اطمينان حاصل نمود كه به هر هدف يک نقش اختصاص داده شده است.
در اين مرحله، براي هريك از نقش هاي موجود در سيستم يك كلاس عامل اختصاص داده مي شود. مي توان بين نقش ها و كلاس هاي عامل، نگاشت يك به يك ايجاد نمود يا مجموعه اي از نقش ها را داخل يك كلاس عامل قرار داد. در نمودار كلاس عامل، كلاس ها ( به صورت مربع ) و ارتباط بين كلاس ها با خطوط مشخص مي شود.
State Diagram تعریف یک پروتکل هماهنگ به فرم نمودارهای حالت برای بیان وضعیت هر گفتگو در تأثیر متقابل عامل ها
در اين مرحله معماري داخلي عامل مشخص مي شود. یعنی توابع و وظایف داخل کلاسهای عامل در این مرحله ایجاد می شوند .
در اين مرحله ساختار كلي عامل ها در سيستم مشخص مي شود. • برای نمايش نحوه استقرار عامل ها از نمودارهای استقرار (DeploymentDiagram) • در UML استفاده میشود.
عدم مدلسازیدانش برای نقشها • عدم توجه به شناساییو طراحیدانش مورد نياز يکعامل برایرسيدن به اهداف • كمبودهای مستندسازی • مستندسازیشرح هر نقش, نيازهای اطلاعاتی, نحوه ارائه هوشمندیو خودمختاریو وظايفیكه نقش برعهده دارد • تبديل كليه نقشهایموجود در سيستم به عامل • مدل نمودن همه موجوديتهایسيستم به صورت عامل ممكن است كه از نظر مفهومیمناسب باشد اما منجر به پيادهسازی سيستمهایكارا نمیگردد. MaSEمشكلات و كمبودهايی از
يك سيستم پيچيده و باز با روشهای بر مبنای عامل با سهولت بيشتری پياده سازی گردد. • سيستمهای مبتنی برعاملنياز به متدولوژيهای مهندسینرمافزار بر اساس ويژگيهایمنحصر به فرد عاملها دارند . نتیجه گیری