بخشی از مقاله


تحلیل و طراحی سیستم هاي مبتنی بر عامل با ترکیب متدلوژی هاي Gaia و Tropos

 

چکیده


متدولوژي Gaia صرفا مراحل تحلیل و طراحی سیستمهاي مبتنی برعامل را پشتیبانی می کند و هیچ اصولی را براي جمعآوري نیازمندیهاي سیستم ارائه نمیدهد. از طرفی دیگر متدولوژي Tropos که یکی دیگر از متدولوژیهاي سیستمهاي مبتنی بر عامل میباشد مرحله مهندسی نیازمندیها را بخوبی پشتیبانی مینماید. در این مقاله با استفاده از مزایاي دو متدولوژي مذکور، یک متدولوژي ارائه شده که در آن سیستم بعنوان یک سازمان محاسباتی در نظر گرفته شده و براي طراحی چنین سازمانی از مرحله نیازمندیهاي متدولوژي Tropos و
مراحل تحلیل و طراحی متدولوژي Gaia استفاده میشود. براي حفظ یکپارچگی و کارایی متدولوژي پیشنهادي، روابط بین مراحل مختلف تعریف شده و مدلهاي دیگري مانند مدل دانش و مدل سیستم به مدلهاي موجود در متدولوژیهاي اصلی اضافه شده است. متدلوژي پیشنهادي براي تحلیل و طراحی سیستم معاملات اینترنتی سهام بکار گرفته شده و برخی از مدلهاي آن ارائه شده است.

واژههاي کلیدي: سیستمهاي مبتنی بر عامل - متدلوژي - Gaia متدلوژي - Tropos معاملات سهام

.1 مقدمه


سیستمهاي مبتنی بر عامل توسعههاي زیادي پیدا کردهاند، بطوریکه این سیستمها بعنوان نگرشی جدید جهت تحلیل، طراحی و پیادهسازي سیستمهاي پیچیده نرمافزاري بکار رفتهاند. عاملهاي هوشمند3، موجودیتهاي نرمافزاري خودمختار میباشند که بعضی از وظایف کاربر را


١

بدون نظارت مستقیم و در راستاي اهداف وي انجام میدهند. مهمترین خواص عاملهاي هوشمند، عبارتند از: خودمختاري1، توانایی اجتماعی، واکنش نشان دادن و رفتار هدفمند[1] .2

رویکرد عاملگرا براي وضعیتهایی مناسب است که داراي ارتباطات پیچیده/پراکنده، مذاکره، همکاري و رقابت بین موجودیتهاي مختلف باشد یا مواقعی که تعیین رفتار سیستم بصورت مورد به مورد ممکن نباشد و سیستم بطور خودمختار عمل نماید یا انتظار براي تغییر در اهداف سیستم وجود داشته باشد. [2]

در سیستمهاي چندعاملی3 اغلب مسئله به گونهاي است که یک عامل به تنهایی قادر به حل مسئله نمیباشد و عاملهاي مختلف براي انجام وظایف عمدتا پویا و غیرقابل پیشبینی با یکدیگر در تعامل میباشند. از مهمترین چالشهاي سیستمهاي چندعاملی، مسائل مربوط به تقسیم و تخصیص وظایف به عاملهاي منفرد، ارتباطات عاملها و مهندسی این سیستمها بصورت عملی میباشد.[3] بنابراین متدلوژیهایی تحلیل و طراحی سیستمهاي عامل و چندعاملی داراي اهمیت خاصی میباشند. از اینرو در این مقاله با ترکیب دو متدلوژي Tropos و Gaia، یک متدلوژي یکپارچه براي پشتیبانی از مراحل نیازمندیها، تحلیل و طراحی چنین سیستمها ارائه شده است.

در ادامه، ابتدا درباره متدلوژیهاي تحلیل و طراحی سیستمهاي مبتنی بر عامل بحث میشود. سپس سیستم معاملات اینترنتی سهام (با توجه به شرایط بورس تهران) معرفی می شود. در بخش بعدي ویژگیهاي متدلوژي پیشنهادي ارائه شده و در ادامه فازهاي این متدلوژي تشریح میشوند. نحوه بکارگیري متدولوژي پیشنهادي براي سیستم معاملات سهام همراه با تشریح فازهاي آن ارائه میگردند. در انتها خلاصه و نتیجهگیري ارائه میگردد.


.2 متدلوژیهاي تحلیل و طراحی سیستمهاي عاملگرا

رویکردهاي مختلفی براي توسعه متدلوژیهاي تحلیل و طراحی سیستمهاي عاملگرا بکار رفتهاند. این متدلوژیها عمدتا با دو رویکرد شیءگرا و مهندسی دانش توسعه یافتهاند. [4] متدلوژیهاي با رویکرد شیگرا با توجه به شباهت و افتراق دو مفهوم شی و عامل و عمومیتی که متدلوژیهاي شیگرا در مهندسی نرمافزار دارند، توسعه داده شدهاند. مانند متدلوژیهاي [5] Gaia، [6] MaSE و .[7] BDI متدلوژیهاي با رویکرد مهندسی دانش بیشتر با هدف مدلبندي دانش عاملها توسعه یافتهاند مانند متدلوژیهاي [8] MAS-CommonKADS و tropos .[9]

تیویت روشهاي مهندسی سیستمهاي عاملگرا را به دو دسته متدلوژیهاي سطح بالا و روشهاي طراحی تقسیم نموده است.[10] از نظر وي متدلوژیهاي سطح بالا، متدلوژیهایی هستند که یک رویکرد بالا به پایین و تعاملی نسبت به مدلبندي و توسعه سیستمهاي عامل دارند مانند متدلوژي Gaia، MaSE و . [11] AOR منظور از روشهاي طراحی متدلوژیهایی است که اساسا از متدلوژیها و استانداردهاي شیءگرا در حوزه مهندسی نرمافزار مانند UML بهره گرفتهاند. متدلوژي [12] AUML از این نوع میباشد. بنابراین متدلوژیهاي با رویکرد شیگرا بیشتر مورد توجه بودهاند که در ادامه چند نمونه از مطالعات مرتبط بررسی میشوند.

وولدریج و همکارانش براي تحلیل و طراحی سیستمهاي عاملگرا یک متدلوژي ارائه دادند که توسعه عاملها را در سطح خرد (ساختار عامل)
و کلان (ساختار ارتباطی بین عاملها) پشتیبانی مینماید.[13] در این متدلوژي سیستم عامل بعنوان یک سازمان محاسباتی در نظر گرفته شده که در آن عاملها، نقشهاي مختلف سازمانی را براي رسیدن به اهداف سازمان ایفا میکنند. آنها در مقاله بعدي خود [5] این متدلوژي را Gaia نامگذاري کردند. این متدلوژي با رویکرد شیگرا توسعه یافته و از فازهاي تحلیل و طراحی سیستمهاي بسته پشتیبانی میکند. با توجه به رویکرد جدید متدلوژي Gaia (در نظر گرفتن سیستم بعنوان یک سازمان محاسباتی متشکل از نقشهاي درحال ارتباط) و پایه تئوریک قوي آن، در ادبیات به این متدلوژي توجه خاصی شده و علیرغم نقاط ضعف آن، کارهایی در ارتباط با ارزیابی متدلوژي 14] Gaia، 15 و [16 و توسعه آن 17]، 18، 19 و [20 انجام شده است.
متدلوژي Gaia فرض میکند نیازمندیهاي سیستم جمعآوري شده، سپس فازهاي تحلیل و طراحی انجام میشود، لذا به فرآیند جمعآوري نیازمندیها توجهی ندارد. همچنین در این متدلوژي مدل مشخصی از دانش محدوده و محیط سیستم وجود ندارد. یوآن و همکارانش [17]

٢

براي برطرف نمودن ضعفهاي متدلوژي Gaia، متدلوژي جدیدي بنام ROADMAP ارائه دادند که در آن به جمعآوري و مستندسازي نیازمندیها با استفاده از مدلهاي مورد کاربرد1 پرداخته شده است ولی این بخش از متدلوژي براي مستندسازي نیازمندیها کافی نمیباشد.[21]
در این متدلوژي مدلهاي رسمی از محیط و دانش سیستم بهمراه سلسلهمراتب نقشها در نظر گرفته شده است.

زامبانلی و همکارانش [19] معتقدند که در طراحی یک سازمان محاسباتی علاوه بر نقشها و روابط بین آنها که در متدلوژي Gaia ارائه شده، قواعد سازمانی و ساختارهاي سازمانی نیز نیاز میباشد. آنها متدلوژي Gaia را با توجه به این مفاهیم سازمانی، براي تحلیل و طراحی سیستمهاي نرمافزاري باز و پیچیده توسعه دادند. [19] علیرغم بکارگیري مفاهیم تکمیلی جهت طراحی سازمان محاسباتی، این متدلوژي مستقیما با تکنیکهاي مدلبندي و مسائل پیادهسازي سروکار نداشته و به جمعآوري نیازمندیها نمیپردازد.

متدلوژي [22] Tropos با رویکرد مهندسی دانش و مشخصا براي توسعه سیستمهاي عاملگرا طراحی شده که تاکید زیادي بر مهندسی نیازمندیها و فرآیند جمعآوري نیازمندیهاي سیستم دارد. در این متدلوژي ذینفعان و وابستگیهاي بین آنها شناسایی شده، سپس اهداف، منابع مورد نیاز و وظایف ذینفعان در محدوده سیستم تحلیل میشوند. علیرغم مزیت این متدلوژي براي مهندسی نیازمندیها، بکارگیري و استفاده از آن راحت نمیباشد.[16]


.3 سیستم معاملات اینترنتی سهام

این سیستم باتوجه به بورس تهران تعریف شده که از مشاهده روند انجام فعالیتها در بورس و از 23]، 24 و [25 بدست آمده است. ویژگیهاي الکترونیکی سیستم باتوجه به بستر اینترنتی آن تعریف شده است.

در این سیستم سرمایهگذاران با مراجعه به سایت بازار سهام، معاملات روزانه و اطلاعات شرکتهاي بورسی را بررسی و براساس آن نسبت به خرید یا فروش سهام تصمیم میگیرند. سفارش خرید/فروش در سایت کارگزاران بورس، واردمیشود. هنگام درخواست خرید، داشتن موجودي کافی نزد کارگزار و هنگام درخواست فروش، ارائه برگه سهام به کارگزار الزامی است. کارگزاران از طریق بانک با سرمایهگذاران پول مبادله میکنند.

هر درخواست خرید/فروش شامل کد سهام، حجم سرمایهگذاري براي خرید یا تعداد سهام قابل فروش و نوع درخواست میباشد. نوع درخواست شرایط معامله از نظر قیمت و نحوه خرید/فروش سهام میباشد که سرمایهگذار تعیین مینماید، مانند خرید/فروش به قیمت بازار و تعیین حداکثر قیمت خرید یا حداقل قیمت فروش. در مورد زمان خرید یا فروش نیز سرمایه گذاران میتوانند محدودیت در درخواست تعریف نمایند. در درخواست از نوع همه یا هیچ، کارگزار موظف است کل درخواست مشتري را یکجا انجام دهد. در نوع سفارش فوري، کارگزار باید فورا درخواست مشتري را اجرا نموده یا درخواست باطل میشود که براي سهام با نوسان قیمت زیاد مناسب میباشد.

کارگزار پس از بررسی درخواستهاي سرمایهگذاران، آنها را در قالب سفارش در سیستم 2ATES بورس وارد میکند و این سیستم با توجه به اولویتها، معاملات سهام را انجام میدهد. اولویت اجراي سفارشات به ترتیب سفارشات باز (به قیمت بازار)، سفارشات با قیمت معین، سفارشات همه یا هیچ و سفارشات فوري میباشد. در یک نوع سفارش، اولویت با سفارشی است که زودتر ارائه شده باشد. در سیستم بورس زمانی معامله انجام میشود که قیمت پیشنهادي خرید و فروش یک سهم دقیقا باهم برابر باشند. پس از انجام معامله سیستم بورس مدارك معامله را صادر میکند. این مدارك شامل اعلامیه کارگزار، اعلامیه خرید، اعلامیه فروش و گواهینامه موقت سهام میباشد. پس از تهیه مدارك، اعلامیههاي مربوطه به کارگزاران طرفین هر معامله تحویل میگردد و کارگزاران نیز آنها را به مشتریان تحویل میدهند. معامله باید بین دو کارگزار مختلف انجام شود.

هنگام پایاپاي کردن معاملات کارمزد هر معامله معادل %2 حجم آن %0,75) آن بعهده خریدار و %1,25 آن بعهده فروشنده) محاسبه و بطور مساوي بعنوان کارمزد کارگزار خریدار، کارمزد کارگزار فروشنده، مالیات و کارمزد بورس تقسیم میشود. البته قوانین دیگري مانند کنترل تغییرات قیمت در معاملات در سیستم ATES تعبیه شده است.

.4 ویژگیهاي متدلوژي پیشنهادي

٣


با متدولوژي پیشنهادي، سیستم بعنوان یک سازمان محاسباتی درنظر گرفته شده و در فازهاي مختلف آن، فرآیند طراحی سازمان مذکور انجام میشود. شکل 1 نمایی فازهاي مختلف و مدلهاي آنها بهمراه ارتباط بین مدلها از این متدلوژي را نشان میدهد.

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

در متدلوژي پیشنهادي از مفاهیم متدلوژي Tropos در فاز تشریح سیستم و نیازمندیها استفاده شده و نیازمندیهاي فانکشنال و غیرفانکشنال تعریف میشوند. همچنین از مدلهاي متدلوژي Gaia در فازهاي تحلیل و طراحی بهره گرفته شده است. با توجه به تفاوت رویکرد دو متدلوژي Gaia و Tropos، ترکیب این متدولوژیها داراي اهمیت خاصی از نظر یکپارچگی میباشد که در متدولوژي پیشنهادي مورد نظر بوده است. میزان استفاده از متدلوژیهاي Gaia و Tropos در متدلوژي پیشنهادي در جدول 1 ارائه شده است. در ادامه فازهاي متدلوژي پیشنهادي و نحوه بکارگیري آنها در سیستم معاملات سهام تشریح میشوند.

در این فاز سیستم و محیط عملیاتی آن در قالب مجموعهاي از ذینفعان و وابستگیهاي بین آنها، بصورت فیزیکی و با مفاهیم مرتبط با سیستمهاي عامل مستندسازي میشود. از مفاهیم کنشگر1 و اهداف به ترتیب براي مدل کردن ذینفعان و مقاصد2 آنها استفاده میشود.

کنشگرها میتوانند یک عامل (انسانی یا نرمافزاري)، یک نقش (وظیفه) و یا یک شغل سازمانی (مجموعهاي از نقشها) باشند. وابستگیهاي بین کنشگرها در قالب انواع هدف، هدف نرم3 ، وظیفه و منبع میباشند. قدمهاي انجام این فاز عبارتند از:

١) شناسایی ذینفعان4 در محدوده سیستم و محیط آن. ذینفعان موجودیتهاي فیزیکی میباشند که هر یک با هدف خاصی ایفاي نقش میکنند و همان کنشگرها میباشند. ذینفعان سیستم معاملات سهام عبارتند از: سرمایهگذار، کارگزار، بورس، بازار و بانک.

(2 شناسایی وابستگیهاي بین کنشگرها از طریق تعیین اهدافی که باید برآورده شوند، وظایفی که باید اجرا شوند و منابعی که باید تهیه شوند. نمودار کنشگر بصورت شبکهاي از وابستگیهاي بین کنشگرها تهیه میشود. در این نمودار وابستگیهاي بین کنشگرها با مفاهیم اهداف، اهداف نرم، وظایف و منابع نمایش داده میشوند. منظور از اهداف نرم نیازمندیهاي غیرفانکشنالی میباشند که نحوه برآوردن آنها دقیقا مشخص نمیباشد. هر وابستگی5 نوعی توافق بین دو کنشگر وابسته6 و dependee میباشد. [22]

شکل 2 نمودار کنشگر سیستم معاملات سهام را نشان میدهد. در این شکل، کنشگر سرمایهگذار براي هدف درخواستهاي خرید و فروش وابسته به کارگزار میباشد. در مقابل، کارگزار براي به حداکثر رساندن حجم معاملات به سرمایهگذار وابسته میباشد. کنشگر بازار براي بهنگام نمودن اطلاعات بازار نیاز به منابع اطلاعات بازار دارد که از طریق بورس تامین میشود. کارگزار جهت وظیفه امور بانکی به بانک نیاز دارد.

تهیه نمودار منطقی با توسعه نمودار کنشگر. براي این منظور با شکستن اهداف کنشگرها، برنامهها، منابع و هدفهاي نرم براي انجام اهداف تعیین می شوند. چگونگی تاثیر یک هدف بر اهداف دیگر و نوع تاثیر آنها (مثبت یا منفی) با علایم + و – روي اهداف مشخص میشود. در این مرحله اهداف در یک سلسلهمراتب ساختاردهی میشوند و از تجزیه AND و OR براي نمایش روابط بین آنها استفاده


٥

میشود. ممکن است براي دستیابی به یک هدف نیاز به برآوردن چند زیرهدف بطور همزمان باشد که در این صورت از تجزیه AND
استفاده شده و این نوع شکست با یک هلال متمایز از بقیه شکستها نشان داده میشود. هر هدف که شکسته میشود یک نمودار منطقی1
در یک بالن متصل به کنشگر مربوطه رسم شده است.

در شکل 3 نمودار منطقی براي هدف به حداکثر رساندن نرخ بازگشت سرمایه در ارتباط با کنشگر سرمایهگذار، در داخل بالن رسم شده است. براي شکست هدف ”مقایسه روندها و شاخصها“ از تجزیه AND استفاده شده یعنی باید هدفهاي ”دسترسی به شاخصهاي بازار“ و ”محاسبه روندهاي قیمت“ بطور همزمان انجام شوند تا هدف ”مقایسه روندها و شاخصها“ قابل انجام باشد. از طرف دیگر با انجام هر کدام از اهداف ”مقایسه روندها و شاخصها“، ”تحلیل ریسک و بازده“، ”دسترسی به اخبار بازار“، ”دسترسی به عرضه و تقاضا“ و یا همه آنها با هم،

”انتخاب سهام براي خرید“ انجام میشود(تجزیه .(OR براي اهداف ”افزایش حجم معاملات“ براي کارگزار و ”اجراي معاملات“ براي بورس، نمودارهاي منطقی تهیه شده است.
(4 تهیه نمودار منطقی سیستم. سیستم نهایی2 بعنوان یک یا چند کنشگر که با کنشگرهاي دیگر در محیط عملیاتی وابستگی دارند، مدل میشود. وابستگیهاي بین این کنشگرها همانند فرآیند مذکور تعیین میشوند. براي کنشگر(هاي) معرف سیستم نهایی، نمودار منطقی تهیه میشود که در آن اهداف، نیازمندیهاي فانکشنال و اهداف نرم، نیازمندیهاي غیرفانکشنال سیستم را نشان میدهد. شکل 4 نمودار منطقی سیستم معاملات سهام را نشان میدهد. در این نمودار، کنشگر سیستم معاملات سهام معرف سیستم نهایی میباشد.

(5 تهیه نمودار کنشگر سیستم. در این نمودار براساس اهداف کنشگر سیستم نهایی، براي برطرف کردن نیازمندیهاي فانکشنال سیستم (هر هدف) کنشگر یا زیرکنشگر مربوطه تعریف میگردد. بدین ترتیب کنشگر سیستم نهایی به چندین زیرکنشگر در سطوح مختلف تجزیه میشود که هر کدام از این کنشگرها مسئول انجام یک هدف میباشند. با انجام تجزیه تا پائینترین سطح، نمودار کنشگر سیستم بدست آید. براي سیستم معاملات سهام، نمودار کنشگر سیستم مطابق شکل 5 تهیه شده است. در این نمودار براي هدف ”ارائه خدمات پورتفوي“،

کنشگر مدیر پورتفوي و براي زیرهدفهاي آن، زیرکنشگرهاي ”ایجادکننده پورتفوي“، ”به روز رسان پورتفوي“ و ”مدیر ارزیابی“ تعریف شده است.

2-4 فاز تحلیل

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

(سازمان محاسباتی) و مدل دانش براي مدل کردن دانش مورد نیاز اجراي نقشها استفاده میشود. قدمهاي فاز تحلیل متدلوژي پیشنهادي عبارتند از:
(1 تعیین نقشهاي سیستم. با توجه به ساختار شکست کنشگر سیستم نهایی، نقشهاي سیستم بصورت مفهومی و سلسلهمراتبی تعریف میشوند. هر زیر کنشگر حداقل می تواند مسئول انجام یک یا چند نقش باشد. براي تشریح هر نقش از مشخصههاي مسئولیتها، مجوزها، فعالیتها و پروتکلها، نقش اصلی و زیرنقشها استفاده میشود. مسئولیتها که با توجه به هدف هر نقش تعیین میشوند، دو نوع هستند:

مسئولیتهاي زنده بودن1 (مهارتها و وظایفی که توسط هر نقش باید اجرا شود) و مسئولیتهاي ایمنی.2 (شرایطی است که هر نقش باید آنها را رعایت نماید). مجوزها اقداماتی است که نقش اجازه انجام آنها را داشته یا میزان دسترسی، ایجاد یا تغییر اطلاعات خاصی میباشد. فعالیتها، وظایفی که یک نقش بدون مداخله نقشهاي دیگر انجام میدهد و بصورت زیرخط نشان داده میشود. پروتکلها الگوهاي تعامل بین نقشها هستند. نقش اصلی و زیرنقشها با توجه به سلسلهمراتب نقشها تعیین میشوند. براي نوشتن مسئولیتهاي زنده بودن از عبارات Fusion استفاده میشود.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید