20
Agent Oriented Software Engineering Mohammad Reza Mousavinasr Nargess Alibarari

Agent oriented software engineering

Embed Size (px)

Citation preview

Page 1: Agent oriented software engineering

Agent Oriented Software Engineering

Mohammad Reza MousavinasrNargess Alibarari

Page 2: Agent oriented software engineering

یادآوری از شیء گراییمقدمه ای در مورد عامل گراییهوش مصنوعی و تعریف عاملمهندسی نرم افزار عامل گرامقایسه شیء گرا و عامل گرا

تفاوت ها شباهت ها

5مکانیزم ارتباطی میان عامل ها در سیستم های چند عامله متدولوژی های سطح باال

متدولوژیGaia متدولوژی سیستم های چند عاملهMaSE

UML و OCL متدولوژی 3معرفی کوتاه ZEUS و JADE وNZDIS 3معرفی زبانAPLنتیجه گیری

فهرست

Page 3: Agent oriented software engineering

لی اینQت.ویژگی اصQه دنیاسQرش بQوعی نگQرایی نQشی گ

نگQرش آن اسQت کQه کQل جهQان مQورد نظQر را بQه صQورت

این از یQک هQر کQنیم. می نگQاه اشQیاء از ای مجموعQه

خQود را دارنQد ، این شQی رفتQار خQاص و ویQژگی هQااشQیاء

هسQتند و از اشQیاء دیگQر تQاثیر می تعامQلهQا بQا یکQدیگر در

گیرند و یا اثر می گذارند

یادآوری از شیء گرایی

Page 4: Agent oriented software engineering

زارQرم افQد نQد تولیQده در فرآینQک کننQای کمQزار هQیکی از اب

هQوش مصQنوعی اسQت زیQرا بQا توجQه بQه اینکQه در مهندسQی

نQرم افQزار بQه کمQک رایانQه ، می خQواهیم توسQط یQک نQرم

افQزار ، کQار مهنQدس نQرم افQزار را تقلیQد کQنیم عمال ایجQاد

افQزار هQا در حQوزه هQوش مصQنوعی قQرار می نQرم این

گیرد.

هQعه یافتQرا توسQل گQزار عامQرم افQی نQدر حقیقت مهندس

و بست مهندسی نرم افزار شی گرا است.

مقدمه ای در مورد عامل گرایی

Page 5: Agent oriented software engineering

: هوش مصنوعی

کQه سQعی اسQت رایانQه مهندسQی و علQوم از ای شQاخه

ای عملکQرد گونQه بQه کQه کنQد تولیQد هQایی دارد سیسQتم

انسانی را شبیه سازی یا تقلید کنند.

: عامل

عامQل چQیزی اسQت کQه می توانQد بQرای یQا بQه جQای کسQی

کار کند.

هوش مصنوعی و تعریف عامل

Page 6: Agent oriented software engineering

ر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راحی

ارائه می دهد .

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

Page 7: Agent oriented software engineering

کQل یQر عامQنی بQهای مبتQا روشQه آیQان دادن اینکQبرای نشدر کQه جQاری حالتهQای بQه نسQبت را حقیقی پیشQرفت صQنعت شQاهد آن هسQتیم نشQان می دهنQد یQا خQیر : الزم اسQت کQه روش هQای مبتQنی بQر عامQل بQا سQایر روش هQای مهم و مقQدماتی مهندسQی نQرم افQزار ماننQد شQی گQرا یQا

قطعه گرا مقایسه شود.

تفاوت بین عامل ها و اشیاشباهت بین عامل ها و اشیا

مقایسه شیء گرا و عامل گرا

Page 8: Agent oriented software engineering

KIF : یک فرم و صورت اضافی از منطق مرتبه اول جهت

کدگذاری مفهوم یک سیستم مبتنی بر دانش می باشد.

KQML : زبان و پروتکل ارتباطی سطح باال و پیام گرا برای تبادل

الیه تقسیم می شود.3 به KQMLاطالعات بین عامل هاست. زبان

.Iپیام واقعی را حمل می کند که عامل ارسال کننده می خواهد الیه محتوا :

به عامل دریافت کننده بدهد.

.IIمجموعه ای از پارامترهایی را رمزگذاری می کند که برخی الیه ارتباطی :

از پارامترهای ارتباطی سطح پایین تررا توصیف می کنند

.IIIعمل گفتار پیام را مشخص می کند .الیه پیام :

مکانیزم های ارتباطی میان عامل ها در سیستم های چند عامله

Page 9: Agent oriented software engineering

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د

مکانیزم های ارتباطی میان عامل ها در سیستم های چند عامله

Page 10: Agent oriented software engineering

در این متدولوژی ها سعی شده که ویژگی های مربوط

به عامل ها و روش های مرتبط با آن در متدولوژی های

موجود اضافه گردد.

به دو دسته تقسیم میشوند

متدولوژی هایی که توسعه روش های مهندسی دانش هستند

مثل:

CommonKADS ، MASCommonKADS ، CoMoMAS

:متدولوژی هایی که توسعه روش های شیء گرا هستند مثل

Gaia ، MESSAGE ، ROADMap ، Ex-MaSE, MaSE

متدولوژی های سطح باال

Page 11: Agent oriented software engineering

متدلوژیGaia یک متدلوژی عامل گرا برای آنالیز و طراحی

است

اولین قدم در پروسه آنالیز گایا پیدا کردن نقش ها در سیستم

است

قدم دوم مدل کردن واکنش متقابل بین نقش های پیدا شده

است

صفت دارد : مسئولیت پذیری ، مجوز ها ، فعالیت 4هر نقش

ها و پروتکل ها.

Gaiaمتدولوژی

Page 12: Agent oriented software engineering

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ب

شده.

متدولوژی سیستم های چند عامله

Page 13: Agent oriented software engineering
Page 14: Agent oriented software engineering

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

Page 15: Agent oriented software engineering

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

Page 16: Agent oriented software engineering

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

Page 17: Agent oriented software engineering

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

Page 18: Agent oriented software engineering

ناخت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معرفی زبان

Page 19: Agent oriented software engineering

ونQاهيمي چQتفاده ازمفQا اسQاي بQراحي هQوي طQه سQزار بQرم افQي نQمهندس

واحQدQهاي مسQتQقل و خQودمختQارQداراي ارتبQاطQ بQا يكQديگر پQيش رQفتQه اسQت.

سيQسQتمهاي چنQد عQاملQهQ نQيز دQر اين ميQان يQك QنقشQ اساسQي بQه منظQور

رفQتQارنQمودن بQه عنQوانQ يQك جQانشQين QبQراي سيسQتQمهايQ شQي گQرا بQازي مي

كننQدQو رفQتارهQاي Qمحلي راQ بQاQ خودQمختQاري و تQصQميم گيريQهQاي توزيQع شQده

تQركيب مي QنماينQد. QبQا در نظQر گQرفتن مQحاسQن وقQدرتQ عQامQلگرايي و

مQدل ذكQر QشQده Q، اين اQمQر QقابQل پيش QبيQنيQ اسQت QكQه مهندسQي نQرم افQزار

دQر آينQده QبQه سQوي عQاملQگراييQ پيش رودQ همچنQانكQه امQروزQه بQر مبنQاي شQي

صQورت مQي گيرد.

نتیجه گیری

Page 20: Agent oriented software engineering

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ه“

و حرفه ای سما رودهن

منابع