Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 مهندسی نرم افزار مبتنی بر عامل

2 آزمایشگاه سیستمهای هوشمند
رئوس مطالب مهندسي نرم‌افزار مبتني بر عامل فرايند‌هاي توسعه مبتني بر عامل روش‌هاي توسعه سيستم‌هاي مبتني بر عامل روش‌هاي مهندسي نياز‌ها چارچوب i* زبان GRL (زبان مدل سازي نياز‌ها) چارچوب NFR‌ روش‌هاي تحليل و طراحي سيستم‌هاي مبتني بر عامل راه‌حل‌هاي مبتنی بر روشهای شیء گرا آزمایشگاه سیستمهای هوشمند

3 آزمایشگاه سیستمهای هوشمند
رئوس مطالب (ادامه) متدولوژي MaSe مرحله تحليل در MaSE مرحله تعيين اهداف اعمال موارد كاربرد بازبيني نقش‌ها مرحله طراحي ايجاد كلاس هاي عامل ساخت گفتگوها تركيب كلاس هاي عامل طراحي سيستم روش‌هاي پياده سازي روش‌هاي تست آزمایشگاه سیستمهای هوشمند

4 مهندسي نرم‌افزار مبتني بر عامل
نرم‌افزار‌هاي مبتني بر عامل داراي ويژگي‌هاي مشتركي نظير پيچيدگي، باز بودن و توزيع داده و كنترل هستند. نرم‌افزار‌هاي مبتني بر عامل معمولاً در دسته نرم‌افزار‌هاي Real-Time و حساس قرار مي‌گيرند. از عامل‌ها تشكيل شده بنابراين مهمترين Abstraction در اينگونه سيستم‌ها مفهومي به نام عامل است. بنابراين اين سيستم‌ها نيازمند روش‌هاي مهندسي نرم‌افزاري بوده كه به طور خاص براي اينگونه سيستم‌ها طراحي شده باشد. آزمایشگاه سیستمهای هوشمند

5 مهندسي نرم‌افزار مبتني بر عامل (ادامه)
مهندسي نرم‌افزار مبتني بر عامل مهندسي نرم‌افزار سيستم‌هاي مبتني بر عامل است. مهندسي نرم‌افزار مبتني بر عامل، علاوه بر كاربرد در توسعه سيستم‌هاي مبتني بر عامل، براي توسعه سيستم‌هايي كه داراي ويژگي‌هايي نظير سيستم‌هاي مبتني بر عامل هستند، قابل كاربرد است. مهندسي نرم‌افزار مبتني بر عامل، يك تكنولوژي لايه‌اي محسوب مي‌شود. آزمایشگاه سیستمهای هوشمند

6 آزمایشگاه سیستمهای هوشمند

7 فرايند‌هاي توسعه مبتني بر عامل
اين فرايند‌ها مشخص كننده مراحل لازم براي ساخت به موقع و با كيفيت يك سيستم مبتني بر عامل مي‌باشند. نمونه‌ها : MASSIVE ( مدل فرايند تكراري ) Tropos (مدل فرايند خطي) فرايند‌هاي همراه با چارچوب‌هاي توليد عامل (Zeus) گسترش مدل‌هاي فرايند موجود (XP for AO Systems) آزمایشگاه سیستمهای هوشمند

8 روش‌هاي توسعه سيستم‌هاي مبتني بر عامل
در كنار فرايند، روش‌هايي براي به كارگيري در مدل‌فرايند نيز ضروري مي‌باشد. روش‌ها عبارتند از : روش‌هاي مهندسي نياز‌ها روش‌هاي تحليل و طراحي روش‌هاي پياده سازي روش‌هاي تست آزمایشگاه سیستمهای هوشمند

9 روش‌هاي مهندسي نياز‌ها
اين روش‌ها، براي به دست آوردن و آناليز نياز‌هاي مشتري به كار مي‌روند. نمونه‌هايي از اين روش‌ها: چارچوب i* زبان GRL (زبان مدل سازي نياز‌ها) چارچوب NFR‌ آزمایشگاه سیستمهای هوشمند

10 چارچوب i* براي مهندسي نياز‌ها
چارچوبي براي مهندسي نياز‌ها بر اساس روش‌هاي مبتني بر عامل اين چارچوب براي مدل‌سازي نياز‌ها در يك سيستم كه داراي چندين عامل شركت كننده (نرم‌افزاري يا غير نرم‌افزاري) با خواست‌هاي متفاوت باشند، قابل استفاده است. در يافتن اهداف سيستم، اولويت بازيگران سيستم و ارتباط آنها با يكديگر، نحوه و امكان سنجي دستيابي به اهداف سيستم سودمند است. آزمایشگاه سیستمهای هوشمند

11 مدل Strategic Dependency در چارچوب i*
چرا لازم است جلسات به موقع برنامه ريزي شوند؟ چرا لازم است برنامه ريز جلسات از شركت كنندگان زمان‌هاي مورد علاقه و زمان‌هايي را كه نمي‌توانند شركت كنند دريافت كند‌؟ .... آزمایشگاه سیستمهای هوشمند

12 مدل Strategic Rationale در چارچوب i*
آزمایشگاه سیستمهای هوشمند

13 آزمایشگاه سیستمهای هوشمند
ويژگي‌هاي ديگر i* امكان ارزيابي هريك از عمليات و اهداف معرفي شده از چهارديدگاه ability، workability، viability و believability تاكيد بر مديريت نياز‌ها در مراحل اوليه توسعه (Early Phase Requirement Engineering) امكان به كارگيري در مديريت نياز‌هاي سيستم‌هاي گوناگون مخصوصاً سيستم‌هاي توزيع شده، سيستم‌هاي امن و ... آزمایشگاه سیستمهای هوشمند

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

15 راه‌حل‌هاي مبتنی بر روشهای شیء گرا
مزایا : شباهت میان شی و عامل وجود دارد. روش های شی گرا بسیار متداول است. یادگیری و هزینه کمتری نسبت به سایر روش ها دارد. مواردی که باید مد نظر قرار گیرد : تجرد بالاتر عامل نسبت به شیء عدم توانایی روش های شیء گرا در مدل سازی ویژگی های خاص عامل تفاوت در نوع ارتباط بین اشیاء و عامل ها آزمایشگاه سیستمهای هوشمند

16 آزمایشگاه سیستمهای هوشمند
متدولوژي MaSe متدولوژي تحليل و طراحي سيستم‌هاي مبتني بر عامل توسط ابزار agentTool پشتيباني مي‌شود. ويژگي‌هاي عامل نظير ”خود مختاري“، ”خلاقيت“، ”پيش فعال بودن“ در آن مورد توجه نمي‌باشد. عامل ها به صورت موجوديت‌هاي نرم‌افزاري فرض مي‌شوند كه براي رسيدن به يك هدف خاص با هم همكاري مي‌كنند. آزمایشگاه سیستمهای هوشمند

17 آزمایشگاه سیستمهای هوشمند

18 آزمایشگاه سیستمهای هوشمند
مرحله تحليل در MaSE مرحله تعيين اهداف اعمال موارد كاربرد بازبيني نقش‌ها تحليل نقش‌هاي موجود در سيستم نياز‌ها آزمایشگاه سیستمهای هوشمند

19 آزمایشگاه سیستمهای هوشمند
تعيين اهداف تشخيص اهداف تشخيص اهداف كلي سيستم با توجه به نياز‌مندي‌هاي مشتري طبقه بندي اهداف اهداف كلي به اهداف كوچك تر شكسته مي‌شود. ساختار سلسله مراتبي اهداف، به كمك نمودار درختي نمايش داده مي‌شود. اهداف بايد به اندازه‌اي جزئي شوند كه امكان انجام آنها توسط عامل‌هايي كه در مرحله طراحي مشخص مي‌شود، وجود داشته باشد. آزمایشگاه سیستمهای هوشمند

20 آزمایشگاه سیستمهای هوشمند

21 به كارگيري موارد كاربرد
ايجاد موارد كاربرد با توجه به نياز‌مندي‌ها و اهداف سيستم، مدل مورد كاربرد سيستم مشخص مي‌گردد. توليد نمودار ترتيب (Sequence Diagram) براي هريك از موارد كاربرد، نقش‌هاي لازم و همچنين ارتباط بين نقش‌ها براي انجام مورد كاربرد مربوطه، مشخص مي‌شود. آزمایشگاه سیستمهای هوشمند

22 آزمایشگاه سیستمهای هوشمند
بهبود نقش‌ها هدف اين مرحله، تكميل نقش‌هاي سيستم و مشخص‌نمودن وظايف هر نقش‌مي‌باشد. در اين مرحله بايد اطمينان حاصل نمود كه به هر Goal يك نقش اختصاص داده شده است. مي‌توان با تركيب نقش‌ها، وظيفه انجام چندين Goal را به يك نقش اختصاص داد. آزمایشگاه سیستمهای هوشمند

23 آزمایشگاه سیستمهای هوشمند

24 آزمایشگاه سیستمهای هوشمند
مشخص كردن وظايف براي تبديل نقش‌ها به كلاس‌هاي عامل در مرحله طراحي، بايد وظايف هر نقش مشخص گردد. براي اين منظور مي‌توان از نمودار‌ نقش‌هاي سيستم را با جزئيات كامل استفاده نمود. همچنين وظايف را مي‌توان با استفاده از نمودار‌هاي حالت مدل‌سازي نمود. آزمایشگاه سیستمهای هوشمند

25 آزمایشگاه سیستمهای هوشمند

26 آزمایشگاه سیستمهای هوشمند

27 آزمایشگاه سیستمهای هوشمند
مرحله طراحي در اين مرحله مي خواهيم مدلي توليد كنيم كه در مراحل بعدي قابل پياده سازي باشد. طراحي در MaSE شامل مراحل زير است : ايجاد كلاس هاي عامل ساخت گفتگوها تركيب كلاس هاي عامل طراحي سيستم آزمایشگاه سیستمهای هوشمند

28 آزمایشگاه سیستمهای هوشمند
ايجاد كلاسهاي عامل در اين مرحله، براي هريك از نقش هاي موجود در سيستم يك كلاس عامل اختصاص داده مي شود. مي توان بين نقش ها و كلاس هاي عامل، نگاشت يك به يك ايجاد نمود يا مجموعه اي از نقش ها را داخل يك كلاس عامل قرار داد. در نمودار كلاس عامل، كلاس ها ( به صورت مربع ) و ارتباط بين كلاس ها با خطوط مشخص مي شود. آزمایشگاه سیستمهای هوشمند

29 آزمایشگاه سیستمهای هوشمند

30 آزمایشگاه سیستمهای هوشمند
ساخت گفتگوها در اين مرحله، هدف مدل سازي وضعيت داخلي يك عامل در هنگام دريافت يك پيام است. براي اين منظور از نمودارهاي حالت UML استفاده شده و موارد زير بايد مدل شود : "پيامي" ‌كه با دريافت آن گذر از يك حالت به حالت ديگر صورت مي‌گيرد. "فعاليتي" كه در صورت دريافت پيام فعال مي‌شود. شرايطي كه براي گذر از يك حالت به حالت ديگر بايد برقرار باشد. پيامي‌ كه در حين گذر از يك حالت به حالت ديگر، ارسال مي‌گردد. آزمایشگاه سیستمهای هوشمند

31 آزمایشگاه سیستمهای هوشمند

32 آزمایشگاه سیستمهای هوشمند
طراحي داخلي عامل در اين مرحله معماري داخلي عامل مشخص مي شود. براي اين منظور مي توان از زبان هاي توصيف معماري استفاده نمود. آزمایشگاه سیستمهای هوشمند

33 آزمایشگاه سیستمهای هوشمند
استقرار سيستم در اين مرحله ساختار كلي عامل ها در سيستم مشخص مي شود. براي نمايش نحوه استقرار عامل ها از نمودارهاي استقرار (Deployment Diagram) در UML استفاده مي شود. آزمایشگاه سیستمهای هوشمند

34 آزمایشگاه سیستمهای هوشمند
روش‌هاي پياده سازي در اين بخش‌ زبان‌هايي براي توسعه عامل‌ها ارائه شده است. زبان‌هاي عامل، زبان‌هايي هستند كه در توسعه سيستم امكان استفاده از مفاهيم اصلي موجود در عامل‌ها (نظير باور‌ها، اهداف، و ديگر ويژگي‌هاي ذهني) را به طور مستقيم فراهم مي‌كنند. نمونه‌هايي از اين زبان‌ها عبارتند از : Agent 0 PLACA 3APL آزمایشگاه سیستمهای هوشمند

35 آزمایشگاه سیستمهای هوشمند
روش‌هاي تست تست ويژگي‌هاي عامل تست Unit‌ در سيستم‌هاي مبتني بر عامل، كوچكترين واحد قابل تست عامل است. در اين روش، عامل از لحاظ ويژگي‌هايي كه بايد از ديد ديگر عامل‌ها برآورده سازد، تست مي‌شود. محيط‌هايي براي تست خودكار عامل‌ها ( با زبان Java ) ارائه شده است. در اين محيط‌ها امكان ايجاد Test Case هايي مشتق شده از Junit و تست خودكار عامل بر اساس Test Case وجود دارد. آزمایشگاه سیستمهای هوشمند

36 آزمایشگاه سیستمهای هوشمند
روش‌هاي تست تست جامعه در اين روش كل سيستم چند عامله تست مي‌گردد. تست پروتكل ‌هاي ارتباطي تست كاركرد عامل‌ها در هنگام دريافت پيغام از ديگر عامل‌ها تست Validation در اين روش، برآورده شدن نياز‌هاي مورد انتظار كاربر توسط سيستم چند عامله تست مي‌گردد. آزمایشگاه سیستمهای هوشمند

37 آزمایشگاه سیستمهای هوشمند
معماری سیستم در معماری سیستم دو مورد باید مشخص گردد : معماری عامل معماری سیستم چند عامله در این زمینه در منابع مختلف، الگوهای معماری گوناگون (نظیر Blackboard، Agency، ... ) معرفی شده است. زبان های توصیف معماری مخصوص عامل ها آزمایشگاه سیستمهای هوشمند


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

Similar presentations


Ads by Google