Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

‫معماری سرویس گرا ‪Service Orientation‬‬

‫تعریف ‪ :1‬معماری سرویس گرا یا ‪ service orientation‬به این معین است که برنامهها یا سیستمها به صورت قابل‬
‫تقسیم و باز استفادهپذیر طراحی شوند‪ .‬در این روش‪ ،‬اجزا یا سرویسهای مختلف سیستم به صورت مستقل‬
‫طراحی و پیادهسازی یمشوند و سپس توسط ارتباطات استاندارد یا رابطهای برنامهنوییس به یکدیگر متصل‬
‫یمشوند‪.‬‬
‫تعریف ‪ :2‬معماری سرویس گرا یا "‪ "service orientation‬به شکل ساده به این معناست که وقیت کارهای زیادی را‬
‫برای انجام یک کار بزرگ انجام یمدهیم‪ ،‬بهتر است این کارها را به بخشهای کوچکتر و مستقل تقسیم کنیم و هر‬
‫قسمت را به صورت یک سرویس جداگانه در نظر بگیریم‪.‬‬
‫برای توضیح بهتر‪ ،‬فرض کنید یک مدل قطار باشید‪ .‬هر بخش از قطار‪ ،‬مانند چرخ‪ ،‬موتور یا واگن‪ ،‬مستقل از‬
‫بخشهای دیگر است اما همیگ با یکدیگر ارتباط دارند و با همکاری با هم‪ ،‬قطار به مقصد یمرسد‪.‬‬
‫برای مثال‪ ،‬فرض کنید یک خونه را یمخواهید بسازید‪ .‬معماری ساده به شما یمگوید که بهتر است ابتدا از‬
‫بخشهای مختلف مثل بناکاری‪ ،‬برق کیش‪ ،‬چیدمان داخیل و‪ ...‬به عنوان سرویسهای جداگانه استفاده کنید تا‬
‫بتوانید هر بخش را به صورت مستقل مدیریت کنید و در صورت نیاز به راحیت آن را تغییر دهید‪.‬‬

‫اکنون ‪ 5‬مثال واقعی‪:‬‬

‫‪ .1‬برای یک اپلیکیشن بانکداری‪ ،‬قسمت مدیریت حساب‪ ،‬انتقال وجه‪ ،‬پرداخت قبض و گزارشدهی به صورت‬
‫سرویسهای جداگانه طراحی یمشود و این سرویسها با یکدیگر ارتباط دارند‪.‬‬
‫‪ .2‬یک سیستم مدیریت انبار‪ ،‬بهطور مستقل برای مدیریت موجودی‪ ،‬پیگیری سفارشها و مدیریت حمل و نقل‬
‫طراحی یمشود و بعدا این اجزا به یکدیگر متصل یمشوند‪.‬‬
‫‪ .3‬یک فروشگاه آنلین با سرویسهای مختلفی برای مدیریت محصوالت‪ ،‬سفارشات‪ ،‬پرداخت و ارسال اطلعات‬
‫به سیستمهای پرداخت طراحی یمشود‪.‬‬
‫‪ .4‬یک سیستم رزرواسیون هواپیما با سرویسهای جداگانه برای مدیریت پروازها‪ ،‬صندلها‪ ،‬پرداخت و ارسال‬
‫اطلعات به سیستمهای فرودگاهی پیادهسازی یمشود‪.‬‬
‫‪ .5‬یک سیستم مدیریت مشتریان با اجزا مختلف برای مدیریت اطلعات مشتری‪ ،‬پشتیباین مشتری و تحلیل‬
‫دادهها به صورت سرویسهای مجزا طراحی یمشود‪.‬‬
‫‪ .6‬سفارش غذا از رستوران – دریافت و پرداخت وجه از بانک – جستجو در اینترنت توسط موتور های جستجو –‬
‫دریافت مجوز های ساختماین از شهرداری – تعمیر اتومبیل در تعمیرگاه – دریافت گذرنامه‬

‫معماری فرایند گرا و ‪BPMS‬‬


‫معماری فرایند گرا به شکل سازمانها و کسب و کارها برای بهبود و بهینهسازی فرایندهایشان گفته یمشود‪ .‬این‬
‫روش به این کمک یمکند که یک سازمان بتواند بهترین شیوهها را برای انجام و مدیریت فعالیتهایش پیدا کرده‬
‫و از روند کاری بهتری برخوردار شود‪ .‬از طریق استفاده از معماری فرایند گرا‪ ،‬بنیانهایی مانند پایایی و‬
‫انعطافپذیری دارد که به سازمانها کمک یمکند تا تغییرات راحتتری را تجربه کنند‪.‬‬

‫نمونههای واقعی‪:‬‬

‫‪ .1‬یک بانک قصد دارد فرایندهای خود را بهبود دهد تا زماین که یک حساب بانیک جدید باز یمشود‪ ،‬کاهش یابد‪.‬‬
‫برای این منظور‪ ،‬از معماری فرایند گرا استفاده یمکند تا فرایندهای موجود را ارزیایب کرده و بهبود بخشید‪.‬‬

‫‪ .2‬یک شرکت حمل و نقل مسافران قصد دارد با بهینهسازی فرایندهایش‪ ،‬زمان حضور و رفت و آمد مسافران را‬
‫کاهش دهد‪ .‬از معماری فرایند گرا استفاده یمکند تا به این هدف دست یابد‪.‬‬
‫‪ .3‬یک شرکت تولیدی به دنبال بهبود بهره وری و کاهش هزینههاست‪ .‬با اعمال معماری فرایند گرا‪ ،‬فرایندهای‬
‫تولید و عرضه محصوالت خود را بهبود یمبخشد‪.‬‬

‫‪ .4‬یک موسسه آموزیش فرایندهای ثبت نام و پذیرش دانشجویان خود را مورد برریس قرار داده و با استفاده از‬
‫معماری فرایند گرا‪ ،‬زمان و هزینههای مرتبط با این فعالیتها را کاهش یمدهد‪.‬‬

‫‪ .5‬یک شرکت خدمایت قصد دارد پشتیباین مشتریان خود را بهبود دهد‪ .‬با استفاده از معماری فرایند گرا‪،‬‬
‫فرایندهای پشتیباین مشتریان را تحلیل کرده و اصلحات الزم را اعمال یمکند‪.‬‬

‫همچنین‪ ،‬سامانههای مدیریت فرایندهای کسب و کار (‪ )BPMS‬به شرکتها کمک یمکنند تا فرایندهای کاری خود‬
‫را مدیریت و بهینهسازی کنند‪ .‬این سامانهها از اتوماسیون و برنامهریزی هوشمند برای اجرا و نظارت بر‬
‫فعالیتها استفاده یمکنند و به سازمانها کمک یمکنند تا بهبودهای پیوسته در فرایندهای خود داشته باشند‪.‬‬

‫نمونههای واقعی‪:‬‬

‫‪ .1‬یک شرکت بزرگ حمل و نقل بینالملیل از سامانههای ‪ BPMS‬برای برنامهریزی مسیرهای حمل و نقل‪ ،‬مدیریت‬
‫موجودی و پیگیری حملونقل استفاده یمکند تا زماین که کاالها به مقصد نهایی خود یمرسند‪ ،‬همه چیز بهخویب‬
‫پیش برود‪.‬‬
‫‪ .2‬یک شرکت فناوری اطلعات از سامانههای ‪ BPMS‬برای پیگیری و مدیریت فرایندهای توسعه نرمافزار و ارتقاء‬
‫سیستمها استفاده یمنماید‪.‬‬
‫‪ .3‬یک سازمان موسسه مال از سیستمهای ‪ BPMS‬برای مدیریت فرآیندهای اعطای و پرداخت وامها به مشتریان‬
‫خود استفاده یمکند‪.‬‬
‫‪ .4‬یک کارخانه تولیدی از ‪ BPMS‬برای اتوماسیون فرایندهای تولید‪ ،‬کنترل کیفیت و مدیریت منابع برای بهبود‬
‫بهرهوری استفاده یمکند‪.‬‬

‫‪ .5‬یک پزشیک خدمات بهداشیت از سامانههای ‪ BPMS‬برای مدیریت نوبتدهی بیماران‪ ،‬پیگیری نسخهها و‬
‫مدیریت انبار داروها استفاده یمنماید‪.‬‬

‫تعریف ‪2‬‬

‫معماری فرایند گرا یک روش سازماندهی است که برای بهبود فرایندهای کاری و سازماین استفاده یمشود‪ .‬این‬
‫روش معموال ً شامل تعریف‪ ،‬طراحی‪ ،‬اجرا‪ ،‬و نظارت بر فرایندهای کاری است تا موجب بهبود بهرهوری و افزایش‬
‫کیفیت خدمات شود‪.‬‬

‫نکات مهم در معماری فرایند گرا‪:‬‬

‫‪ .1‬تعریف فرایندهای کاری‪ :‬شناسایی و توصیف دقیق فرایندهای انجام شده در یک سازمان‪.‬‬

‫‪ .2‬طراحی فرایندها‪ :‬بهینهسازی فرایندهای کاری برای بهبود بهرهوری و افزایش کیفیت‪.‬‬

‫‪ .3‬اجرا و انجام فرایندها‪ :‬اجرای فرایندهای کاری طراحی شده و نظارت بر آنها‪.‬‬

‫‪ .4‬نظارت و بهبود مداوم‪ :‬مانیتور کردن فرایندها و انجام تغییرات برای بهبود مستمر‪.‬‬

‫مثالهای زندیگ واقعی‪:‬‬

‫بانک‪ :‬فرایندهای باز شدن حساب بانیک از شناسایی مشتری تا صدور کارت بانیک‪.‬‬ ‫‪.1‬‬
‫فروشگاه‪ :‬فرایند خرید از انتخاب محصول تا تسویه حساب‪.‬‬ ‫‪.2‬‬

‫اداره‪ :‬فرایند ثبت و رسیدیگ به درخواستها از مشتریان‪.‬‬ ‫‪.3‬‬

‫هواپیما‪ :‬فرایند چک کردن مسافران و صدور بلیت‪.‬‬ ‫‪.4‬‬

‫وبسایت‪ :‬فرایند ثبت نام کاربران و ارسال تاییدیهها‪.‬‬ ‫‪.5‬‬

‫‪ BPMS‬به معنای سیستم مدیریت فرایندهای کاری است که از نرمافزارها و تکنولوژیهای مختلف برای بهبود و‬
‫اجرای بهینهتر فرایندهای کاری استفاده یمکند‪.‬‬

‫نکات مهم در ‪:BPMS‬‬

‫‪ .1‬اتوماسیون فرایندها‪ :‬استفاده از نرمافزار برای اجرای خودکار فرایندهای کاری‪.‬‬

‫‪ .2‬شفافیت و نظارت‪ :‬امکان مانیتورینگ و کنترل دقیق بر فرایندهای کاری‪.‬‬

‫‪ .3‬انعطافپذیری‪ :‬قابلیت تغییر و بهبود سریع فرایندها با استفاده از سیستم‪.‬‬

‫‪ .4‬ایجاد گزارشات و آمارها‪ :‬تهیه گزارشهای دقیق از اجرای فرایندها برای ارزیایب و بهبود‪.‬‬

‫‪ .5‬اتصال به سیستمهای دیگر‪ :‬امکان ارتباط سیستم ‪ BPMS‬با سایر سیستمهای سازماین برای انجام فرایندهای‬
‫کاری‪.‬‬

‫مثالهای زندیگ واقعی‪:‬‬

‫مدیریت ایمیل‪ :‬استفاده از نرمافزارهای مدیریت ایمیل برای اتوماسیون و دستهبندی ایمیلها‪.‬‬ ‫‪.1‬‬

‫مدیریت زنجیره تأمین‪ :‬استفاده از سیستم ‪ BPMS‬برای ردیایب و مدیریت حرکت کاالها در زنجیره تأمین‪.‬‬ ‫‪.2‬‬

‫مدیریت پروژه‪ :‬استفاده از سیستم مدیریت پروژه برای تخصیص و نظارت بر وظایف و فعالیتهای یک‬ ‫‪.3‬‬
‫پروژه‪.‬‬

‫مراکز تماس‪ :‬استفاده از سیستم ‪ BPMS‬برای مدیریت و نظارت بر فرایندهای تماس مشتریان‪.‬‬ ‫‪.4‬‬

‫سیستم مدیریت بیمارستان‪ :‬استفاده از سیستم ‪ BPMS‬برای مدیریت و پیگیری بخشهای مختلف یک‬ ‫‪.5‬‬
‫بیمارستان‪.‬‬

‫‪Open Source‬‬
‫اوپنسورس یا ‪ open source‬یک کلمه تخصیص است که به معنای این است که نرمافزار یا پروژهای که بهصورت‬
‫اوپنسورس منتشر شده باشد‪ ،‬کدهای منبع آن عموماً برای عموم قابل دستریس و مشاهده است‪ .‬بنابراین هر‬
‫کیس یمتواند کدهای منبع آن را ببیند‪ ،‬تغییر دهد و با همکاری دیگران به بهترین شکل ممکن آن را بهبود بخشد‪.‬‬
‫این نوع نرمافزارها معموال ً بهصورت رایگان منتشر یمشوند‪.‬‬

‫‪ 5‬مثال واقعی از اپن سورس و کاربردهای آن عبارتند از‪:‬‬

‫‪ .1‬سیستم عامل لینوکس‪ :‬لینوکس یک سیستم عامل اوپنسورس است که توسط جامعه برنامهنویسان در‬
‫سراسر جهان توسعه یافته و بهبود یافته است‪.‬‬
‫‪ .2‬مرورگر فایرفاکس‪ :‬فایرفاکس یک مرورگر اینترنت معروف اوپنسورس است که توسط موزیل توسعه یافته‬
‫است و به کاربران این امکان را یمدهد تا کد منبع آن را برریس و بهبود بخشند‪.‬‬

‫‪ .3‬وردپرس‪ :‬سیستم مدیریت محتوا وردپرس یک سیستم معروف اوپنسورس برای ساخت و مدیریت‬
‫وبسایتهاست که توسط یک جامعه بزرگ از توسعه دهندگان حمایت یمشود‪.‬‬

‫‪ .4‬اندروید‪ :‬سیستم عامل موبایل اندروید نیز به عنوان یک مثال از نرمافزار اوپنسورس مطرح است که به طور‬
‫گسترده ای توسط توسعه دهندگان در سراسر جهان توسعه یافته است‪.‬‬
‫‪ .5‬محتوای یوتیوب‪-‬دیل‪-‬پلز‪ :‬این یک پروژه اوپنسورس است که به ویدیوها و ترجمههای آنها از طریق جامعهای‬
‫از داوطلبان در سراسر جهان یمپردازد‪.‬‬

‫معماری وظیفه ای یا ‪Functional‬‬


‫معماری وظیفهای یا ‪ functional‬در برنامهنوییس یک روش برنامهنوییس است که بر اساس تابعها و عملیات به‬
‫جای وضعیت و وضعیتهای منتقل شونده متمرکز یمشود‪ .‬به عبارت دیگر‪ ،‬در این روش برنامهنوییس‪ ،‬تمرکز به‬
‫جای اطلعات‪ ،‬بر روی توابع و عملیات قرار دارد‪ .‬هر تابع یک ورودی یمگیرد‪ ،‬آنرا به یک فرمول یمدهد و‬
‫خروجی را باز یمگرداند‪.‬‬

‫یعین در برنامه و پایگاه های دادهمان‪ ،‬فانکشن های مختلفی را تعریف و برنامه نوییس کنیم و بعد همه آن ها را‬
‫درون برنامه قرار بدیم‪ .‬هر فانکشن یک کار خایص انجام یمدهد ‪ .‬نرم افزار نهایی‪ ،‬مجموعه ای از فانکشن های‬
‫مختلف است‪.‬‬
‫نرم افزار هایی که منو داشته باشند و فانکشن های آن در منو قرار گرفته شده باشند‪ ،‬اکثرا معماری وظیفه محور‬
‫هستند‪.‬‬

‫مثالهایی که یمتوان برای درک بهتر معماری وظیفهای در برنامهنوییس ذکر کرد عبارتند از‪:‬‬

‫‪ .1‬مثال سادهای از معماری وظیفهای یمتواند تابع محاسبه مجموع دو عدد صحیح باشد‪ .‬به این صورت که یک‬
‫تابع با ورودی دو عدد صحیح را یمخواهد و خروجی مجموع این دو عدد را باز یمگرداند‪.‬‬
‫‪ .2‬یک مثال واقعی از معماری وظیفهای‪ ،‬سیستیم است که پردازش تصاویر را انجام یمدهد‪ .‬مثل ً یک تابع برای‬
‫تغییر اندازه تصویر‪ ،‬یک تابع برای اعمال فیلتر روی تصویر و یا یک تابع برای تشخیص چهره‪.‬‬
‫‪ .3‬یک سیستم بانیک نیز یمتواند از معماری وظیفهای استفاده کند‪ .‬برای مثال‪ ،‬یک تابع برای انتقال وجه‪ ،‬یک تابع‬
‫برای محاسبه موجودی حساب و یک تابع برای ایجاد گزارش تراکنشها‪.‬‬
‫‪ .4‬یک برنامه آماری یمتواند از معماری وظیفهای استفاده کند‪ .‬به عنوان مثال‪ ،‬یک تابع برای محاسبه میانگین یک‬
‫سری اعداد‪ ،‬یک تابع برای محاسبه واریانس و یک تابع برای رسم نمودار‪.‬‬

‫‪ .5‬نرمافزارهای گرافییک نیز معموال ً از معماری وظیفهای بهره یمبرند‪ .‬به عنوان مثال‪ ،‬یک تابع برای ایجاد اشکال‬
‫هندیس‪ ،‬یک تابع برای تغییر رنگ و یک تابع برای حرکت دادن اشیاء در صفحه‪.‬‬

‫تعریف ‪2‬‬

‫معماری وظیفهای یا ‪ functional‬یا موجب یمشود که برنامهنویسان برنامهها را به صورت تکلیف محور بنویسند‪.‬‬
‫این روش تاکید بیشتری بر توابع و وظایف دارد که داده را به عنوان ورودی دریافت کرده‪ ،‬یک پردازش را انجام‬
‫یمدهد و سپس خروجی مورد نظر را تولید یمکند‪.‬‬
‫برای توضیح بهتر‪ ،‬فرض کنید که یک برنامه نویس بخواهد یک برنامه بنویسد که اعداد فرد را در یک لیست به‬
‫توان ‪ ۲‬یمبرد‪ .‬به جای اینکه هر بار دوست داشتههای خود را بنویسد‪ ،‬یمتواند یک تابع مانند "‪"calculateSquare‬‬
‫برای انجام این کار بنویسد و هر بار که نیاز باشد از آن استفاده کند‪.‬‬

‫حاال ‪ ۵‬مثال واقعی‪:‬‬


‫‪ -‬هنگام فیلتر کردن عکسها در اینستاگرام‪ ،‬تابعی که کار فیلتر کردن را انجام یمدهد مثل یک وظیفه عمل یمکند‪.‬‬
‫‪ -‬درست کردن نقشهی مسیر برای یک اپ مسیریایب‪ ،‬توابعی برای محاسبه مسافت و زمان مسیرها از معماری‬
‫وظیفهای استفاده یمکنند‪.‬‬
‫‪ -‬وقیت یک برنامه برای پردازش تصاویر و فیلتر کردن آنها نوشته شود‪ ،‬هر فیلتر یمتواند به صورت تابع جداگانه‬
‫ای پیادهسازی شود‪.‬‬
‫‪ -‬در برنامه نوییس وب‪ ،‬توابعی که به عنوان ‪ middleware‬عمل یمکنند (مانند برریس اعتبار سنجی یا الگ کردن)‬
‫نمونههایی از معماری وظیفهای هستند‪.‬‬
‫‪ -‬در یک بازی ویدیویی‪ ،‬هر تابعی که وظیفهی مشخص و خایص از بازی را انجام یمدهد‪ ،‬یمتواند مثال از‬
‫استفاده از معماری وظیفهای باشد‪.‬‬

‫تعریف ‪3‬‬

‫معماری وظیفهای یا ‪ Functional‬در برنامهنوییس به این معناست که برنامهنویس متمرکز بر توابع (یا کارها) است و‬
‫به این ترتیب کد برنامه به صورت ترکییب از توابع است‪ .‬در این نوع از برنامهنوییس‪ ،‬هر تابع وظیفهی مشخص‬
‫خود را دارد و به طور مستقل از بقیه برنامه اجرا یمشود‪.‬‬

‫یک مثال ساده یمتواند ماشین حساب باشد‪ .‬به عنوان مثال‪ ،‬تابع جمع کردن دو عدد و تابع ضرب کردن دو عدد‪،‬‬
‫هر یک کارهای مشخص خود را انجام یمدهند و یمتوانند بدون ارتباط با یکدیگر اجرا شوند‪.‬‬

‫حاال بیایید چند مثال واقعی بزنیم‪:‬‬


‫‪ .1‬ارسال پیام متین‪ :‬وظیفه ای یک بیانکه در یک اپلیکیشن پیام رسان‪ ،‬وظیفه ارسال پیام را دارد که یمتواند به‬
‫صورت مستقل از سایر اجزای سیستم انجام شود‪.‬‬
‫‪ .2‬تهیه غذا‪ :‬در یک سیستم سفارش آنلین‪ ،‬وظیفه تهیه یک غذا یا نوشیدین یک وظیفه جداگانه است که یمتواند‬
‫به صورت مستقل انجام شود‪.‬‬

‫‪ .3‬جستجوی اطلعات‪ :‬در یک وبسایت جستجو‪ ،‬وظیفه جستجو در بانک اطلعایت یک وظیفه مستقل است که‬
‫یمتواند به تنهایی انجام شود‪.‬‬

‫‪ .4‬ساخت ویدیو‪ :‬در یک ویرایشگر ویدیو‪ ،‬وظیفه افزودن فیلم‪ ،‬صدا و افکتهای ویدیویی وظایف مجزا هستند که‬
‫یمتوانند به تنهایی انجام شوند‪.‬‬

‫‪ .5‬محاسبه مالیات‪ :‬در یک نرمافزار حسابداری‪ ،‬وظیفه محاسبه مالیات بر اساس فرمولهای مشخص یک وظیفه‬
‫مستقل است که یمتواند به تنهایی انجام شود‪.‬‬
‫معماری ‪Agent-Based‬‬
‫معماری مبتین بر عامل (‪ )Agent-Based‬یعین ساختاری که در آن سیستم به شکل اجزای مستقل و هوشمند به نام‬
‫عاملها تقسیم یمشود‪ .‬هر عامل یمتواند اطلعات را دریافت‪ ،‬پردازش کرده و رفتارهای مختلف را انجام دهد‪.‬‬
‫عاملها در ارتباط با یکدیگر هستند و یمتوانند بر اساس این ارتباطات به صورت هماهنگ عمل کنند‪.‬‬

‫مثال‪:‬‬
‫‪ .1‬در یک بازی کامپیوتری‪ ،‬هر شخصیت در بازی ممکن است یک عامل باشد که واکنشهای مختلفی نسبت به‬
‫بازیکن دیگران داشته باشد‪.‬‬

‫‪ .2‬در شبیهسازی ترافیک شهری‪ ،‬هر خودرو ممکن است یک عامل باشد که بر اساس وضعیت محیط اطرافش‬
‫تصمیمگیری یمکند‪.‬‬
‫‪ .3‬در یک بازار مال‪ ،‬هر معاملهگر یمتواند به عنوان یک عامل دیده شود که بر اساس اطلعات و رفتارهای‬
‫دیگران تصمیمگیری یمکند‪.‬‬

‫‪ .4‬در مدلهای شبیهسازی طبیعت‪ ،‬هر موجود زنده ممکن است به عنوان یک عامل در نظر گرفته شود که با‬
‫محیط و سایر موجودات تعامل دارد‪.‬‬
‫‪ .5‬در رباتیک‪ ،‬هر ربات یمتواند به عنوان یک عامل دیده شود که بر اساس حرکت و رفتار دیگر رباتها‬
‫تصمیمگیری یمکند‪.‬‬

‫تعریف ‪2‬‬

‫‪ Agent-Based Architecture‬یک الگوی طراحی است که در آن سیستم به شکل انعطاف پذیری سازماندهی یمشود‪،‬‬
‫به این صورت که هر عامل (یا ‪ )agent‬دارای ویژیگها‪ ،‬رفتار‪ ،‬و قابلیت تصمیمگیری مستقیل است‪ .‬این اعضا‬
‫یمتوانند با یکدیگر تعامل کنند و در نتیجه به صورت جمعی به رسیدن به اهداف کلن سیستم کمک کنند‪.‬‬

‫به این صورت یمتوان به یک نقشهی شهری نگاه کرد‪ ،‬هر فرد یک خودرو یا راننده است که به صورت مستقل‬
‫در خیابانها حرکت یمکند‪ ،‬اما همچنین یمتواند با دیگر رانندهها در تقاطعها یا جای دیگر تعامل داشته باشد تا‬
‫به نحو بهینه تری به مقصدشان برسند‪.‬‬

‫‪ 5‬مثال واقعی‪:‬‬

‫‪ .1‬در سیستمهای حمل و نقل هوشمند از معماری ‪ Agent-Based‬استفاده یمشود‪ ،‬مثل ً هر خودرو مجهز به یک‬
‫سیستم هوش مصنوعی یمباشد که به صورت مستقل تصمیمگیری یمکند و اطلعات را با سایر خودروها به‬
‫اشتراک یمگذارد تا به افزایش راندمان و کاهش ترافیک کمک کند‪.‬‬

‫‪ .2‬در شبیهسازهای شهری‪ ،‬هر انسان یا واحد مسکوین یمتواند به صورت مستقل عمل کرده و با سایر اعضا‬
‫تعامل داشته و از این راه بهینهسازی منابع شهری شود‪.‬‬
‫‪ .3‬در بازیهای ویدئویی‪ ،‬شخصیتهای مختلف با قابلیتها و هدفهای مستقل ممکن است با یکدیگر تعامل کنند‬
‫تا بهبود تجربه بازی را برای بازیکنان فراهم کنند‪.‬‬

‫‪ .4‬در بازارهای مال‪ ،‬معاملهگران یمتوانند به صورت مستقل تصمیمگیری کرده و با یکدیگر معامله کنند و در‬
‫نتیجه به شکلگیری قیمتها کمک کنند‪.‬‬

‫‪ .5‬در محیطهای هوش مصنوعی و رباتیک‪ ،‬رباتها یمتوانند به صورت مستقل و هماهنگ با یکدیگر برای انجام‬
‫وظایف مختلف همکاری کنند‪ ،‬مانند تجمیع مواد در یک کارخانه یا برای انجام عملیات نجات‪.‬‬
‫تعریف ‪3‬‬

‫معماری مبتین بر عامل یا ‪ Agent-Based‬معماری است که در آن سیستم به عنوان یک مجموعه از عوامل یا همان‬
‫واحدهای فعال تعریف یمشود‪ .‬این عوامل یمتوانند خودمختار باشند و برخوردهایشان با محیط و سایر عوامل‬
‫طبق قوانین وضوح دارند‪ .‬این معماری به عنوان یک الگوی طراحی‪ ،‬برای مدلسازی و تحلیل سیستمهای پیچیده‬
‫و توزیعشده مورد استفاده قرار یمگیرد‪.‬‬

‫مثالهای زندیگ واقعی‪:‬‬


‫‪ .1‬وسایل نقلیه هوشمند‪ :‬در شهرهای پیشرفته‪ ،‬وسایل نقلیه هوشمند مانند ماشینهای خودران با استفاده از‬
‫معماری ‪ Agent-Based‬یمتوانند با یکدیگر ارتباط برقرار کرده و تصمیمگیریهای هوشمندانهتری انجام دهند‪.‬‬

‫‪ .2‬شبیهسازیهای استفاده در علوم‪ :‬در زمینههای مختلف علیم مانند زیستشنایس یا اقتصاد‪ ،‬از معماری ‪Agent-‬‬
‫‪ Based‬برای شبیهسازی رفتار عوامل زنده یا اقتصادی و تأثیر آنها بر یکدیگر استفاده یمشود‪.‬‬

‫‪ .3‬بازیهای رایانهای‪ :‬در بازیهای رایانهای معموال ً شخصیتها و ‪NPC‬ها به عنوان عوامل مستقل و با‬
‫تصمیمگیریهای خود به کار یمروند که در نهایت به شکل داستان بازی تأثیر یمگذارد‪.‬‬

‫‪ .4‬شبکههای اجتماعی‪ :‬شبکههای اجتماعی مانند فیسبوک یا توییتر نیز یمتوانند به عنوان یک مجموعه از عوامل‬
‫مستقل دیده شوند که با یکدیگر تعامل داشته و رفتارهای مختلفی از خود نشان یمدهند‪.‬‬

‫‪ .5‬بازارهای مال‪ :‬در بازارهای مال‪ ،‬معاملهگران‪ ،‬شرکتها و سایر عوامل موجود یمتوانند به عنوان عوامل‬
‫مستقل دیده شوند که با یکدیگر در بازار ارتباط دارند و تصمیمگیریهایشان قیمتها و معاملت را تحت تأثیر‬
‫قرار یمدهند‪.‬‬

You might also like