Upload
mohammad-reza-mousavinasr
View
309
Download
4
Embed Size (px)
Citation preview
Agent Oriented Software Engineering
Mohammad Reza MousavinasrNargess Alibarari
یادآوری از شیء گراییمقدمه ای در مورد عامل گراییهوش مصنوعی و تعریف عاملمهندسی نرم افزار عامل گرامقایسه شیء گرا و عامل گرا
تفاوت ها شباهت ها
5مکانیزم ارتباطی میان عامل ها در سیستم های چند عامله متدولوژی های سطح باال
متدولوژیGaia متدولوژی سیستم های چند عاملهMaSE
UML و OCL متدولوژی 3معرفی کوتاه ZEUS و JADE وNZDIS 3معرفی زبانAPLنتیجه گیری
فهرست
لی اینQت.ویژگی اصQه دنیاسQرش بQوعی نگQرایی نQشی گ
نگQرش آن اسQت کQه کQل جهQان مQورد نظQر را بQه صQورت
این از یQک هQر کQنیم. می نگQاه اشQیاء از ای مجموعQه
خQود را دارنQد ، این شQی رفتQار خQاص و ویQژگی هQااشQیاء
هسQتند و از اشQیاء دیگQر تQاثیر می تعامQلهQا بQا یکQدیگر در
گیرند و یا اثر می گذارند
یادآوری از شیء گرایی
زارQرم افQد نQد تولیQده در فرآینQک کننQای کمQزار هQیکی از اب
هQوش مصQنوعی اسQت زیQرا بQا توجQه بQه اینکQه در مهندسQی
نQرم افQزار بQه کمQک رایانQه ، می خQواهیم توسQط یQک نQرم
افQزار ، کQار مهنQدس نQرم افQزار را تقلیQد کQنیم عمال ایجQاد
افQزار هQا در حQوزه هQوش مصQنوعی قQرار می نQرم این
گیرد.
هQعه یافتQرا توسQل گQزار عامQرم افQی نQدر حقیقت مهندس
و بست مهندسی نرم افزار شی گرا است.
مقدمه ای در مورد عامل گرایی
: هوش مصنوعی
کQه سQعی اسQت رایانQه مهندسQی و علQوم از ای شQاخه
ای عملکQرد گونQه بQه کQه کنQد تولیQد هQایی دارد سیسQتم
انسانی را شبیه سازی یا تقلید کنند.
: عامل
عامQل چQیزی اسQت کQه می توانQد بQرای یQا بQه جQای کسQی
کار کند.
هوش مصنوعی و تعریف عامل
رQه هQت کQکلی اسQار مشQک f مهندسQی نQرم افQزار اساسQاروز سQخت تQر هم می شQود بQه چنQد دلیQل از جملQه زمQان توسQعه کمQتر ، نیQاز هQای غQیر عاقالنQه بیشQتر و نQا مطمئن هQای سیسQتم و اینQترنت ماننQد بیشQتر فضQای در کQه گونQاگون مقیQاس پQذیر و توزیQع شQده در شQبکه کQه در آنهQا . اسQت یافتQه افQزایش سیسQتم بQودن بQاز و پویQایی را امکانQاتی گQرا افQزار عامQل نQرم متQدولوژی مهندسQی پیچیQده تQوزیعی هQای و سQاخت سیسQتم بQرای طQراحی
ارائه می دهد .
مهندسی نرم افزار عامل گرا
کQل یQر عامQنی بQهای مبتQا روشQه آیQان دادن اینکQبرای نشدر کQه جQاری حالتهQای بQه نسQبت را حقیقی پیشQرفت صQنعت شQاهد آن هسQتیم نشQان می دهنQد یQا خQیر : الزم اسQت کQه روش هQای مبتQنی بQر عامQل بQا سQایر روش هQای مهم و مقQدماتی مهندسQی نQرم افQزار ماننQد شQی گQرا یQا
قطعه گرا مقایسه شود.
تفاوت بین عامل ها و اشیاشباهت بین عامل ها و اشیا
مقایسه شیء گرا و عامل گرا
KIF : یک فرم و صورت اضافی از منطق مرتبه اول جهت
کدگذاری مفهوم یک سیستم مبتنی بر دانش می باشد.
KQML : زبان و پروتکل ارتباطی سطح باال و پیام گرا برای تبادل
الیه تقسیم می شود.3 به KQMLاطالعات بین عامل هاست. زبان
.Iپیام واقعی را حمل می کند که عامل ارسال کننده می خواهد الیه محتوا :
به عامل دریافت کننده بدهد.
.IIمجموعه ای از پارامترهایی را رمزگذاری می کند که برخی الیه ارتباطی :
از پارامترهای ارتباطی سطح پایین تررا توصیف می کنند
.IIIعمل گفتار پیام را مشخص می کند .الیه پیام :
مکانیزم های ارتباطی میان عامل ها در سیستم های چند عامله
FIPA : ودنQل نمQه منظورعمQیفاتی را بQه توصQویت کQنی برعضQازمان مبتQک سQی
میاQن عامل هایQ نرم افزاQری نQاهمگن،Q ساخته و پشتیبانی می کند.
زنQQمخFIPA امQQپی انتقQQال هQQا، عامQQل ارتبQQاط مQQورد در اسQQتاندارد هQQزاران شQQامل
ها،مQدیریت،QمعمQاری و .Q . . Qاست .
SOAP : رQنی بQیف مبتQک توصQیXML امپیوترQک کQام از یQردن پیغQدل کQاز رد و ب
به QکامپQیوتردیگQر است.
ام از طریقQال پیQاری و انتقQد راه دور اختیQوانی متQفراخHTTP.می کندQ QفQیQهم توص QاQر
WSDL : ندQک سQیXML کQوان یQه می تQد چگونQیین کنQدتا تعQیف می کنQرا توص
سرQویس مبQتنی برQ وب راQ دریافQت نموQد
مکانیزم های ارتباطی میان عامل ها در سیستم های چند عامله
در این متدولوژی ها سعی شده که ویژگی های مربوط
به عامل ها و روش های مرتبط با آن در متدولوژی های
موجود اضافه گردد.
به دو دسته تقسیم میشوند
متدولوژی هایی که توسعه روش های مهندسی دانش هستند
مثل:
CommonKADS ، MASCommonKADS ، CoMoMAS
:متدولوژی هایی که توسعه روش های شیء گرا هستند مثل
Gaia ، MESSAGE ، ROADMap ، Ex-MaSE, MaSE
متدولوژی های سطح باال
متدلوژیGaia یک متدلوژی عامل گرا برای آنالیز و طراحی
است
اولین قدم در پروسه آنالیز گایا پیدا کردن نقش ها در سیستم
است
قدم دوم مدل کردن واکنش متقابل بین نقش های پیدا شده
است
صفت دارد : مسئولیت پذیری ، مجوز ها ، فعالیت 4هر نقش
ها و پروتکل ها.
Gaiaمتدولوژی
Wood و deloach تمQدولوژی سیسQه متQد کQانی بودنQاولین کس
های چند عاملی را پیشنهاد کردند.
شبیهgaia تیبانیQه پشQتری بQه بیشQدولوژی توجQا این متQت امQاس
Q هایی QبزارQه اQک به وسیلQاتیQکد اتوم Qای تولیدQبرMaSEداردQ
هدفMaSE فQتعری اولیQه مراحQل از را کQه طQراح اسQت این
سیستم تا پیاده سازی سیستم، عامل گرا هدایت کند.
دولوژیQمتMaSE یمQه منطقی تقسQط لولQک خQاز در یQه هفت فQب
شده.
متدولوژی سیستم های چند عامله
UML اQده تQعه داده شQاد و توسQیمی ایجQایش ترسQورت نمQه صQب :
اQشQیاQءQ رQا QبQه صQورت QاسQتQانQداردQ طQرQاحی کنQد. Qاین QزQبQان بQعQدها بQدQلیل
پشQتیبانQی از QمراحQل طQراحی مؤلفQه هQا Qو غQیره بسQیارQ گسQترده شد.
تانداردQاس گسQترش متQدولوژی UMLبراسQاس OCL هQبوجودآمدک
تبدیل مسائل Qرا اQز عاملQ گرا به شی گرQا اQنجامQ میQ دهد.
راحیQای طQوی هQه الگQا بQل هQات بین عامQدیل ، ارتباطQه تبQدر مرحل
تQیQدیل میQ شQوند.ایQن الگوهQا بعQداQ بQه QعنQواQن ارQتباطQات بین کالس
.های اشیاء به کارگرفته می شوند
UML و OCL
ZEUS عهQتوس بQرای اساسQی ازابزارهQای زیQادی تعQداد شQامل :Collaborative Agent
System ورتQه صQه بQکQ دهQی شQازQس QادهQپیQ اواQجQ ایQکالس ه Qه ای ازQت مجموعQورQاست.بص QاQه
دسته تقQسیم Qکرد:3کلی میQ توان آن Qرا به
.IAgent Component Library ،دانش ذخQیره بQرای ابزارهQایی کتابخانQه شQامل این هQای :کالس
برنامQه ریQزی پرQوتکQل هQای هQداQیت عامQل و یQک سیسQتم زمانبQدی و ارتبQاط عاQمQل، نQمQایش،
است.
.IIAgent building software یلهQرافیکی بوسQورت گQه صQا را بQزار هQری ابQک سQی:GUI اQار مQدر اختی
QیلهQبوس رQا عQامQل سQیسQتم QمبتQنی QبQر یQک QارQتQاخQس QزشQرداQپ دQارنQد قQصQد دهد.کQه مQی QرارQق
سادQه سازی Qکنند.ZEUSمتدولوژیQ توسQعه عامQل
.IIIAgent Society Visualization Tools ردنQانیتور کQرای مQد بQه می تواننQت کQه ای از ابزارهاسQدنبال:
Qن رفتار یکQکردQ و هدایتAgent SocietyQ.رندQر زمان اجرا مورد استفاده قرار گیQد
و ZEUS متدولوژی 3معرفی کوتاه JADE وNZDIS
JADE : یQک سQازی پیQاده بQه کQه اسQت توسQعه حQال در AgentپQروژه
Platform دهایQتاندارQله اسQیQبوس QهQاوا کQنی برجQمبت FIPA دQده انQخص شQمش
کمک می کند.
کQل ، یQدیریت عامQتم مQک سیسQه یQت کQایی اسQری کالس هQک سQشامل ی
Directory Facilitator.سازی می کنند Qا پیادهQعامل ر QتباطیQیک کانال ار،
دولوژیQمزیت متJADE هQبت بQنس ZEUS عهQاه توسQه هیچگQت کQاین اس
پیQاده و گQرایQی عامQل مکQاQنیزم QهQای درگQیر واQقعی QورتQه صQب دهنQدگان
هQایی Q APIبQراQی رQاQحQتی کQار JADEQسQازی QهQای QسQطح پQاQیین QنQمی شQوQند QزیQرا
رQا بوجودQ آورQده تا ازQ آنها استفQاده کنند.
و ZEUS متدولوژی 3معرفی کوتاه JADE وNZDIS
NZDIS: اتیQای اطالعQتم هQاره سیسQاتی دربQروژه تحقیقاتی-عملیQک پQی
نیوزیلند است.Otagoتوزیع شده از دانشگاه
تیبانیQرای پشQه بQده کQع شQای توزیQتم هQای سیسQرم افزارهQعه نQبرای توس
کQرQدن از انQواع گونQاگQونی از QمنQابع اطالعQاتی توزیQعQ شQده اسQتQ بوQجQود
آمده است.
راحیQه ای طQت و بگونQل اسQر عامQنی بQزار مبتQر افQه این نQاس و پایQاس
مطابقت دارد.FIPAشده که با ویژگی های
اریQارز معمQژگی بQویNZDIS راییQی گQتانداردهای شQه از اسQت کQاین اس
به عنوان پایه های تکنیکی خود استفاده می کند.
و ZEUS متدولوژی 3معرفی کوتاه JADE وNZDIS
ناختQا شQب عامQل چنQد تسQت همزمQان و بQرای طQراحی گQرا عامQل زبQان یک
(Cognitive agents یQط مشQبا استفاده از خ )BDIQ.است
لQ3هر عامAPL زیQه ریQداف وبرنامQا،اهQابلیت هQل،قQد عامQاریف عقائQتع دارای
(Planning.است )
ا درQل هQ3عامAPL اQتقیم یQورت مسQه صQا بQل دارد. یQران تعامQا دیگQق بQه دوطریQب
از طریق محیط خارجی
3درAPL اتQاز لغ and or not تفاده میQای منطقی اسQده هQال دهنQرای اتصQب
شود.
Belief Base تفاده ازQبااس :Syntax انQزب Prolog املQود وشQازی می شQاده سQپی
عقائد عامل است .
3APLمعرفی زبان
ونQاهيمي چQتفاده ازمفQا اسQاي بQراحي هQوي طQه سQزار بQرم افQي نQمهندس
واحQدQهاي مسQتQقل و خQودمختQارQداراي ارتبQاطQ بQا يكQديگر پQيش رQفتQه اسQت.
سيQسQتمهاي چنQد عQاملQهQ نQيز دQر اين ميQان يQك QنقشQ اساسQي بQه منظQور
رفQتQارنQمودن بQه عنQوانQ يQك جQانشQين QبQراي سيسQتQمهايQ شQي گQرا بQازي مي
كننQدQو رفQتارهQاي Qمحلي راQ بQاQ خودQمختQاري و تQصQميم گيريQهQاي توزيQع شQده
تQركيب مي QنماينQد. QبQا در نظQر گQرفتن مQحاسQن وقQدرتQ عQامQلگرايي و
مQدل ذكQر QشQده Q، اين اQمQر QقابQل پيش QبيQنيQ اسQت QكQه مهندسQي نQرم افQزار
دQر آينQده QبQه سQوي عQاملQگراييQ پيش رودQ همچنQانكQه امQروزQه بQر مبنQاي شQي
صQورت مQي گيرد.
نتیجه گیری
Nicholas R. Jennings and Michael Wooldridge “Agent-Oriented Software
Engineering” Department of ElectronicEngineering Queen Mary & Westfield
College University of London London E1 4NS, United Kingdom.
Kaveh Rezaei, “Agent based programing with 3APL”,Sharif University of
Technology
Mariusz Nowostawski,Geoff Bush,Martin Purvis,Stephen Cranefield “Platforms for
Agent-Oriented Software Engineering ” , Department of Information Science,
University of Otago
دMتمهاي چنMراي سيسMب افMزار نMرم درتوسMعه گMرايي بMر عامMل ”مMروري
، QشQکوفهQ شQفیعیQ،اولین کنفQرانسQ مهندسQی نQرQم اQفQزار QایQران،Q آموزشQکده فQنی عاMملMه“
و حرفه ای سما رودهن
منابع