متدولوژي توسعه GAIA
Download
Report
Transcript متدولوژي توسعه GAIA
بسمهتعالي
فصل پانزدهم
توسعه برپاية عامل ()Agent
اهداف جلسه
پيچيدگي نرمافزار و مفهوم عامل
خصوصيات عامل
آشنايی با سيستمهاي چندعامله
آشنايي با انواع متدولوژيهاي عاملگرا ()Agent-oriented
2
پيچيدگي نرمافزار
پيچيدددگي بددهعنواي يزددي از خصوصديات
ذاتي نرمافزار مطرح است
متددددولوژيهاي بسدددياري سددد ي بددده دددل
پيچيدگي نمودهاند
روشهاي ل پيچيدگي
تجزيه ()Decomposition
تجريد ()Abstraction
سازماندهي ()Organisation
3
پيچيدگي نرمافزار
(ادامه)
در م يطهدداي مدددريچ پيچيدددگي بدده شددزلهاي ديوددر هددور نمددوده
است
هوشمندي ()Intelligent
ت املپذيري ()Interoperability
سازگاري ()Adaptive
ناهموني سزوها ()Heterogeneous
م يط توزيعشده ()Distributed
4
نرمافزارهاي مدرن
م يطهاي مدري نياز به نرمافزارهايي دارند که
نياز به کاربر نداشته باشند و مستقل از او واکنش دهند
بتوانند به سود ما تصميمگيري نمايند
با ديور سيستمها برا تي ت امل برقرار کند
در م يطهاي شبزهاي مختلف قابليت اجرا داشته باشند
با شرايط جديد م يط سازگار شوند
هر يک از ايي ويژگيها سبب توس ه علوم و دانش قبلي
کامپيوتر شدهاندچ اما برآورده نمودي همهچ سبب ايجاد زمينه
جديدي بهنام «سيستمهاي چند عامله» شده است
5
عامل ()Agent
موجددوديتي نرمافددزاري (يددا سيسددتم کددامپيوتري) اسددت دده مناس دب
م يط خاصي طرا دي شدده و قدادر بده انجدام اعمدال ان طافپدذير و
مستقل براي رسيدي به اهداف درن ر گرفته شده بدراي آي سيسدتم
ميباشد
Agent
Sensor
Input
Action
output
Environment
6
عامل
(ادامه)
عاملهاچ موجوديتهايي قابل تشخيص براي ل مسئله بدا م ددوده
و رابط خوشت ريف هستند
براي م يطهاي خاصي مناسب هستند
بسددته بدده التشدداي وروديهددايي را از طريددس سنسددورها دريافددت
ميکنند و را از طريس مجرياي ( )effectorsميگذارند
براي برآورده نمودي اهداف خاصي طرا ي شدهاند
7
خصوصيات عامل
خودگرداني ()Autonomous
اعمال اصلي بدوي دخالت انساي يا عامل ديوري انجام ميشود
ارتباط مياي عاملها با ديور اجزا به صورت سلسله مراتبي نيست
پيشف ال بودي ()Pro-activeness
يك عامل نبايد تما ً منت ر فراخدواني باشدد بل ده بايدد ت دت شدرايط خداص
م يط ف ال شود
واکنشدهي ()Reactivity
عامل بايد در برخي سيستمها م يط خود را س رده و بده تيييراتدي ده
در آي رخ ميدهد پاسخ دهد
8
خصوصيات عامل
(ادامه)
ارتباط با ديوراي ()Communicative
مم ي است يك عامل نرمافدزاري عامدل ديودري را فراخدواني نددچ دربداره
آي استنتاج انجام دهد و يا با آي به مذا ره بپردازد
يادگيري ()Learning
براساس تيييراتي ه در م يط رخ ميدهد رفتار خود را تييير ميدهد
ان طافپذيري ()Flexibility
رفتارهايي که عامل انجام ميدهدچ از پيش ت يييشده نيستند
9
خصوصيات عامل
(ادامه)
هدفگرا ()Goal-oriented
تنها به م يط خود پاسدخ نميگويدد بلزده بددنبال دسدتيابي بده اهدداف خدود
است
مت رک ()Mobile
توانايي جابهجا کردي خود از سيستمي به سيستم ديور را دارد
شخصيت ()Character
داراي الت بوده و شخصيتي مستقل است
10
شباهت عامل با ش ي
هر دو موجوديتهايي را ت ريف ميکنند
عاملها را اشيا ف ال مينامند
هر دو ساختار داخليشاي را بستهبندي مي نند
به وسيله ارسال پيام با ي ديور ارتباط برقرار مي نند
11
تفاوت عامل با ش ي
عاملها پيشف ال هستند
اشيا قبل از آن ه ف ال شوند بايد درخواست دريافت نند
عاملها از ن ر ساختار دروني ان طافپذيرند
اشيا در واقع متدها و خواص را بستهبندی مي نند
اگر يک تابع به صورت خصوصي در شدي ت ريدف شدده باشدد اشديا ديودر
امزاي دسترسي به آي را ندارند
هر عامل يك نترل مخصوص به خود دارد
کنترل در سيستمهاي شيگرا به صورت مر زي انجام ميشود
12
تفاوت عامل با ش ي
(ادامه)
هر عامل ميتواندد در هدر زمداي ده تشدخيص بدهدد و بدا توجده بده
شرايط با عامل ديور ارتباط برقرار ند
در روش شدديگرا ارتباطهددا بدده صددورت مقط ددي و از پدديش ت يدديي شددده در
سيسددتم وجددود دارنددد دده بدده وسدديله د سهدداي سلسددله مراتبددي ت ريددف
ميشوند
13
)(ادامه
مقايسه عامل با ش ي
Traditional Software Architecture
Society of Agents (Multiagent Architecture)
Object
High-level Dynamic
Interactions between
Agents
Agent
Agent
Agent
Agent
Agent
Interactions
with the
Environment
Object
(Component)
(Component)
Functional
Dependencies
Between Object/
Components
Object
Object
(Component)
(Component)
Object
Object
(Component)
(Component)
Object
Environment
14
(Component)
طبقهبندي عاملها
عاملها از نقطه ن رات متفاوتچ طبقهبندي ميشوند
... م يطچ نوع عاملچ هوشمنديچ نوع کار و
Autonomous Agents
Biological Agents
Robotic Agents
Computational Agents
Software Agents
15
Task-specific Agents
Entertainment Agents
Artificial Life Agents
Viruses
سيستمهاي چندعامله
سيستمي نرمافدزاري کده از مجموعدهاي از عاملهدا کده بدا يزدديور
ت امل دارندچ رقابت ميکنند و همزاري دارندچ تشزيل شده است
عاملها ميتوانند داراي اهداف متفاوتي باشند
عاملها همانند انسايها با ديور عاملها ت امل دارند
16
مهندس ي نرمافزار عاملگرا
بددراي اسددتفاده از عاملهددا نميتددواي از روشهدداي متددداول ت ليددل و
طرا ي استفاده نمود
روشهاي متداول نميتوانند به سواالت ذيل پاسخ گويند:
چوونوي تجزيه مسئله
چوونوي انتساب و ايف به عاملها
چوونوي هماهنويچ کنترل و ارتباط عاملها
چوونوي ل ت ارض بيي اهداف عاملها
چوونوي تصميمگيري عامل در مورد ساير عاملها و التشاي
17
مهندس ي نرمافزار عاملگرا
متدولوژي عاملگرا
(ادامه)
متدولوژي ه براي توسد ه يدك سيسدتم برپايده عامدل مدورد اسدتفاده قدرار
ميگيرد
متدولوژي عاملگرا ع وه بر پاسخ به سدواالت قبلديچ بايدد روشدي
شددددفاف و مددددن م بددددراي ت ليددددلچ طرا ددددي و توسدددد ه سيسددددتمهاي
چندعامله ارائه دهند
18
انواع متدولوژيهاي عاملگرا
متدولوژيهاي عاملگرا ()agent-oriented
متدولوژيهايي که از روشهاي شيگرا ناشي شدهاند
AUMLچ GAIAچ ADEPTچ Prometheusو ...
متدولوژيهايي که از مهندسي دانش ناشي شدهاند
DESIREچ MAS-CommonKADSچ Troposو ...
19
متدولوژيهاي عاملگرا
مزايايي متدولوژيهايي که از روشهاي شيگرا ناشي شدهاند
برخي عامل را شي ف ال مينامند و ادعا ميکنند که روشهاي شديگرايي
بهتنهايي براي توس ه عاملها کافي هستند
روشهاي شيگرا متداول و شناخته شده هستند
يادگيري ايي متدلوژيها توسط مهندساي ندرمافدزار سدري تر انجدام شدده و
هزينه کلي توليد سيستم کاهش مييابد
امزدداي اسددتفاده از برخددي مدددلهدداي موجددود در روشهدداي شدديگددرا ماننددد
موارد کاربري در عاملها وجود دارد
20
متدولوژيهاي عاملگرا
(ادامه)
م ايب متدولوژيهايي که از روشهاي شيگرا ناشي شدهاند
عاملهددا تجري دد بدداالتري نسددبت بدده شددي دارندددچ بنددابرايي ن ددوه شزسددتي
مسئله در روشهاي مبتني بر عامل نسبت به شيگرا متفاوت ميباشد
در روشهددداي شدددديگددددرا تزنيزددددي بددددراي مدددددل کددددردي التهددددايي ماننددددد
هدفگرايي و پيشف ال بودي وجود ندارد
مدل کردي ن وة ارتباط مياي عاملها با استفاده از متددلوژيهداي شديگدرا
امزايپذير نيست
21
متدولوژيهاي عاملگرا
(ادامه)
متدولوژيهايي که از مهندسي دانش ناشي شدهاند
فرآيندددددد اسدددددتخراج ()Elicitingچ سددددداختاربندي ()Structuringچ شدددددزلدهي
( )Formalizingو عملياتي نمودي ( )Operationalizingدانش
مزايا
امزاي استفاده از ابزارها و کتابخاندههداي هسدتايشناسدي و روشهداي بدا
قابليت استفاده مجدد در ل مسائل
م ايب
ويژگيهاي توزي ي عامل در ايي روشها ديده نميشود
22
متدولوژي توسعه GAIA
م روفتريي متدولوژي توس ه عامل
اوليي بار توسط Jenningsو Wooldridgeدر سال 1999
نسخه نهايي توسط Zambonelliچ Jenningsو
ارائه شد
Wooldridge
در سدال 2003
اهداف
شروع از نيازمنديها (ب د از تشخيص نيازمنديها)
هدايت توس هدهنده براي طرا ي يک سيستم چندعامله خوش-ت ريف
توانايي مدلسازي و ل پيچيدگي سيستمهاي چندعامله را دارد
23
متدولوژي توسعه - GAIAمتامدل
24
متدولوژي توسعه - GAIAمراحل
فاز ت ليل
سازماندهي ()Sub-organisation
ت ييي سازماندهيهاي چندگانه در سيستم (در صورت وجود)
آيا ميتواي سيستم را به چند مجموعه از مسائل با اتصال سست تقسيم نمود؟
مدل م يط ()Environmental Model
ت ليل م يط عملياتي
چوونه ميتواي م يط را با استفاده از عاملها مدل نمود
مناب ي که مورد استفاده قرار ميگيرند و چوونوي استفاده از آنها
25
متدولوژي توسعه - GAIAمراحل
فاز ت ليل (ادامه)
مدل نقشهاي اوليه ()Preliminary Role Model
يافتي نقشهايي که در سازمايها ( )organisationsوجود دارند
هر نقشچ مجموعدهاي از و دايف و رفتارهداي مدورد انت دار را در سدازماي ت ريدف
مينمايد
مدل ت امل اوليه ()Preliminary Interaction Model
چوونوي ت امل نقشها با يزديور براي رسيدي به هدف
ت ريف پروتزلي براي هر ت امل بيي نقشها
26
متدولوژي توسعه - GAIAمراحل
فاز ت ليل (ادامه)
قواعد سازماني ()Organisational Rules
ت ليددل و يددافتي قواعدددي کدده در کددل سيسددتم وجددود دارنددد و بددر رفتددار و ت امددل ب ديي
در انتهاي فاز ت ليل شناخت کاملي از سدازماندهي مسدئلهچ
نقشها تاثير ميگذارند (ايي قواعد به قواعد اجتماعي يا قانوي ( )lawم روفند)
ساختار سازمايها و ارتباطات اصل ميشود
27
متدولوژي توسعه - GAIAمراحل
فاز طرا ي م ماري
هدف از ايي فاز ت ييي م ماري نهايي سيستم است
انتخاب ساختار سازماندهي
نزاتي چوي سادگيچ واق ي بوديچ پيچيدگي مسئله و ...در ايي انتخاب نقش دارند
تزميل مدل نقشها
تزميل مدل ت امل
انتقددال نقشهددا و پروتزلهدداي ت امددل بدده مولفددههايي کدده قابددل پيادهسددازي
باشند
28
متدولوژي توسعه - GAIAمراحل
فاز طرا ي م ماري (ادامه)
تبديل نقشها به عاملها
در برخي مواردچ چند نقش در يک عامل قرار ميگيرند
ابتدا «ک س عامل» طرا ي ميشود
هدددر عامدددل نيددداز بددده داندددش داخلددديچ زميندددهچ ف اليتهددداي داخلدددي و فدددراهم نمدددودي
سرويسهايي براي ديوراي دارد
پروتزلهاي ت امل تبديل به دنبالهاي از پيامها ميشوند
پيامها بيي دو عامل خاص رد و بدل ميشوند
29
متدولوژي توسعه – GAIAضعفها
مسائل و مشز ت پيادهسازي در ن ر گرفته نميشوند
ت ييي نيازمنديها و مدلسازي آنها مسزوت مانده است
توس ه با ايي روشچ ترتيبي است
30
متدولوژي توسعه Troops
ايي متدولوژي اساسا ً عاملگرا طرا ي شده است
نمادگددذاري ( )notionsعاملهدداچ اهددداف و مسددائلي از ايددي قبيددل در
فرآيند توس ه ديده شده است
بدا ت دداد کمددي از عناصدر شدروع ميکنددد و تددريجا ً آنهدا را افددزايش
ميدهد
جزئيات تدريجا ً افزوده ميشوند
ت امل و وابستويها بررسي و بروز ميشوند
هر گام ميتواند منجر به م رفي /ذف عناصر يا ارتباطات شود
31
متدولوژي توسعه - Troopsمراحل
ت ليل نيازمنديهاي اوليه ()Early Requirements Analysis
تمرکز روي من ور ذينف اي
بدددددا اسدددددتفاده از ت ليدددددل هددددددفگرا ()Goal-orientedچ اهدددددداف اوليددددده بددددده
مجموعهاي از نيازهاي و يفهمندي و غيرو يفهمندي تبديل ميشوند
ذينف اي بهعنواي مجموعهاي از عاملها ( )Actorsنشاي داده ميشوند کده
بدراي دسددتيابي بدده اهدداف بددا يزددديور وابسدته شدددهاند .ايددي امدر منجددر بده
توليد Actor diagramو Rationale diagramميشود
32
متدولوژي توسعه - Troopsمراحل
ت ليل نيازمنديهاي اوليه (ادامه)
Actor Diagram
يک گراف از عاملهاست که وابستوي استراتژيک عاملها را نشاي ميدهد
وابستويچ توافس بيي دو عامل است
Rationale diagram
نشددايدهنده و توصدديفکننده داليلددي اسددت کدده يددک عامددل را بدده عامددل ديوددر مددرتبط
ميسازد
در ايي نمودار داليل ت امل عامل بياي ميشود
33
متدولوژي توسعه - Troopsمراحل
ت ليل نيازمنديهاي نهايي ()Late Requirements Analysis
مدل مفهومي «ت ليل نيازمنديهاي اوليه» توس ه داده ميشود
سيستم به عنواي عامل ( )Actorجديد توس ه داده ميشود و ارتباطدات آي بدا م ديط
در ن ر گرفته ميشود
34
متدولوژي توسعه - Troopsمراحل
ت ليل نيازمنديهاي نهايي
عاملهاي دروي سيستم نشاي داده ميشوند
35
متدولوژي توسعه - Troopsمراحل
طرا ي م ماري ()Architectural Design
عاملهاي مورد نياز براي دستيابي به اهداف افزوده ميشوند
افزودي عامل ( )Actorميتواند براساس سبک يا الودوي م مداري خاصدي
ميباشد (سبک يا الووي عاملگرا)
36
متدولوژي توسعه - Troopsمراحل
طرا ي تفصيلي ()Detailed Design
جزئيات بيشتري به عاملها ن ير اهدافي که برآورده ميکنندچ ن وة انجام
آيچ اجبارهاي زماني و ...افزده ميشوند
در ايي مر له عاملها ( )Actorبه عامل ( )Agentتبديل ميشوند!
استفاده از الووهاي طرا ي کمک شاياني به طرا ي تفصيلي ميکند
37
مراحل- Troops متدولوژي توسعه
Requirement driven approach
38
متدولوژي توسعه – Troopsضعفها
براي طرا ي نرمافزارهاي عامل پيچيده که ارتباطدات بديي ذينف داي
پيچيده استچ مناسب نيست
تضميي کيفيت تنها با استفاده از الووهاي طرا ي!
راهنماييهددايي بسدديار کمددي در مددورد گامهددا و چوددونوي انجددام آي
ميتواي يافت نمود
ت ويلدادنيهاي آي خوش-ت ريف نيستند
39
پرسش و پاسخ
40