عامل هوشمند جک

از ویکی‌پدیا، دانشنامهٔ آزاد
عامل هوشمند JACK
وبگاه

عامل هوشمند جک ((به انگلیسی: JACK Intelligent Agents)، یک چارچوب در زبان برنامه‌نویسی جاوا برای توسعه سیستم چند عاملی است. این عامل توسط نرم‌افزار عمل گرای PTY.Ltd (AOS) ساخته شده‌است و یک پلتفرم نسل سوم محسوب می‌شود که بر اساس تجربیات سیستم استدلال رویه ای (PRS) و سیستم استدلال چند عاملی توزیع شده (dMARS) ساخته شده‌است. JACK یکی از معدود سیستم‌های چند عاملی است که از مدل نرم‌افزار BDI استفاده می‌کند و زبان برنامه‌ریزی مبتنی بر جاوا و ابزارهای برنامه‌ریزی گرافیکی خود را ارائه می‌دهد.

تاریخچه[ویرایش]

عامل هوشمند JACK در سال ۱۹۹۷ توسط اعضای سابق مؤسسه هوش مصنوعی استرالیا (AAII یا A 2 I 2) معرفی شد. این مؤسسه در طراحی، اجرا و کاربرد PRS در SRI International و/یا dMARS در AAII شرکت داشت. پلتفرم JACK برای استفادهٔ تجاری در الگوهای چند عاملی (محصول COTS) نوشته شد تا در حل مسائل پیچیده کاربرد داشته باشد و مبنایی برای راه اندازی شرکت نرم‌افزار عامل گرا (AOS) بود که در آن یک محصول شاخص باقی ماند.

ویژگی‌ها[ویرایش]

عامل هوشمند JACK یک پلتفرم چند عاملی تجاری کامل است که بیش از ۱۰ سال تحت تحقیق، توسعه و استفاده در دامنه‌های خاص بوده‌است. فهرستی از ویژگی‌های اصلی و متمایز این پلتفرم شامل موارد زیر می‌باشد:

  • زمان اجرای عامل: هستهٔ این پلتفرم قابل توسعه به زمان اجرا چند عاملی می‌باشد. هنگامی که عوامل خاص دامنه، برنامه‌ها، رویدادها، قابلیت‌ها و غیره مشخص می‌شوند، هستهٔ JACK اجرای برنامه‌هایی شامل ارسال پیام، استدلال، و فرا استدلال را مدیریت می‌کند.
  • زبان برنامه JACK: (JPL) JACK یک زبان مخصوص عامل برای نوشتن برنامه‌های مخصوص همین پلتفرم را اراِئه داده‌است. (استدلال مجزایی توسط عامل‌ها اجرا شده‌است). زبان این برنامه یک افزونه برای زبان جاوا است و دستورهایی مانند @send و @post برای پیام‌رسانی و ارتباط بین عامل‌ها و همچنین مدیریت اتفاقات، وظایف فرعی و حفظ شرایط وجود دارد. برنامه‌ها در کلاس‌های جاوا برای اجرا در زمان اجرا JACK کامپایل می‌شوند و سرعت و صحت اجرا را ارائه می‌دهند.
  • مدل باور-میل-نیت: افزون بر مدل عامل‌های کلاسیک (غیر BDI)، این پلتفرم مدل نرم‌افزار BDI را درک می‌کند، که در آن باورها توسط مجموعه‌های اعتقادی محصور شده در عامل‌ها مدیریت می‌شوند، امیال اهدافی هستند که یک عامل اشتیاق دستیابی به آن را دارد و نیت‌ها، همان فرا استدلال و استدلال مبتنی بر برنامه هستند که عوامل JACK برای رسیدن به هدف فعلی از آن‌ها استفاده می‌کنند.
  • قابلیت‌ها: این پلتفرم قابلیت‌هایی را ارائه می‌دهد که انتزاعی از رفتارهای رایج و معمول هستند که این رفتارها به صورت مجموعه ای از برنامه‌ها و رویدادها ظاهر می‌شوند. قابلیت‌ها راهی برای ترکیب مفهومی رفتارها و اعمال مشترک و استفاده مجدد از آنها بین عامل‌ها را فراهم می‌کند.
  • محیط توسعه JACK (JDE): سیستم‌های چند عاملی را می‌توان با کد جاوا و زبان برنامه JACK در یک IDE استاندارد نوشت، اگرچه این پلتفرم یک IDE عامل محور به نام محیط توسعه JACK یا JDE را ارائه می‌دهد. JDE ابزارهای گرافیکی برای نوشتن پلن‌ها، اتصال پلن‌ها به عامل‌ها، مدیریت ارتباطات بین عاملی و همچنین کامپایل و اجرا فراهم می‌کند. JDE همچنین ابزارهای گرافیکی را برای اشکال زدایی و ردیابی اجرای طرح‌ها و ارسال پیام بین عاملی فراهم می‌کند. [2]
  • برنامه‌های گرافیکی: یکی از ویژگی‌های کلیدی JDE امکان نوشتن و مدیریت برنامه‌های گرافیکی است. اینها استدلال گسسته‌ای هستند که توسط یک عامل به صورت گرافیکی به عنوان نمودار جریان (فلوچارت) نمایش داده می‌شود.
  • JACK Object Modeller (JACOB): فناوری سریالی سازی اشیا که توسط JACK برای مقداردهی اولیه اشیا و ارتباطات بین فرایندی استفاده می‌شود. اشیاء در جاوا به متن ASCII قابل خواندن توسط انسان تبدیل می‌شوند، که خیلی بی شباهت به YAML و XML نیستند.
  • ا پلتفرم JACK به زبان جاوا نوشته شده‌است، این پلتفرم به سیستم‌های چند عامله JACK در پلتفرم‌هایی که از ماشین مجازی جاوا پشتیبانی می‌کنند، امکان استقرار می‌دهد. در حال حاضر JACK بر روی سیستم عامل‌های مایکروسافت ویندوز با استفاده از ماشین مجازی جاوا (۳۲ بیتی و۶۴ بیتی) قابل نصب می‌باشد. در جدیدترین نسخه‌های سیستم عامل Mac OS X (از Mac OS X Lion شروع می‌شود) JACK فقط با استفاده از نصب کننده کنسول قابل نصب می‌باشد.

افزونه‌ها[ویرایش]

پلت فرم JACK از زمان آغاز به کار چندین بار توسعه یافته‌است. بیشتر افزونه‌ها مانند JACK Teams و CoJACK توسط AOS یا با همکاری آن توسعه داده شده‌اند.

  • تیم‌های JACK: افزونه ای برای مدل نرم‌افزاری BDI که عوامل همکاری در تیم‌ها را برای دستیابی به یک هدف تسهیل می‌کند.[۱] مانند JACK, JACK Teams از زبان برنامه خود در چیزی که AOS از آن به عنوان برنامه‌نویسی تیم گرا یاد می‌کند پشتیبانی می‌کند. JACK Teams به عنوان بخشی از پلتفرم JACK Intelligent Agents یکپارچه شده و در دسترس است.[۲]
  • CoJACK: افزونه ای برای پلتفرم JACK که یک معماری شناختی به عامل‌ها برای برانگیختن رفتارهای واقعی‌تر (شبیه انسان) در محیط‌های مجازی اضافه می‌کند.
  • FIPA JACK: افزونه ای برای پلتفرم JACK که از زبان ارتباطات عامل فیپا پشتیبانی می‌کند.
  • Prometheus: یک روش مهندسی نرم‌افزار عامل محور برای مدیریت SDLC یک سیستم مبتنی بر چند عامل می‌باشد. JACK به عنوان مبنایی برای بررسی، مقایسه و آزمایش روش مورد استفاده قرار می‌گرفت. Prometheus شامل توسعه ابزار طراحی Prometheus (PDT) بود که یک ابزار مبتنی بر رابط کاربری گرافیکی برای مدیریت طراحی در فرایند بود.
  • افزونه JACK Eclipse: افزونه ای که توسعه سیستم‌های مبتنی بر JACK را در Eclipse IDE آسانتر می‌کند. مخصوصاً، این افزونه قابلیت‌هایی را به Eclipse اضافه می‌کند تا از انواع فایل‌های JACK (مانند .plan, .agent و غیره) و همچنین از زبان برنامه JACK پشتیبانی کند.
  • JACK وب ربات: افزونه ای که هسته JACK را در وب سرور آپاچی تامکت جاگذاری می‌کند و به عامل‌های هوشمند اجازه می‌دهد تا با درخواست‌های HTTP (از طریق Java Servlet API) تعامل داشته باشند و پاسخ‌ها را فرموله سازی کنند.[۳]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

پیوند به بیرون[ویرایش]

  1. Jarvis, Bevan; Jarvis, Dennis; Jain, Lakhmi (2007). "Teams in Multi-Agent Systems". Intelligent Information Processing III. IFIP International Federation for Information Processing. Springer. 228: 1–10. doi:10.1007/978-0-387-44641-7_1. ISBN 978-0-387-44639-4.
  2. "Teams Manual: JACK Intelligent Agents® Teams Manual". www.aosgrp.com. Archived from the original on 7 July 2011. Retrieved 6 June 2022.
  3. "WebBot Manual: JACK Intelligent Agents® WebBot Manual". www.aosgrp.com. Archived from the original on 18 January 2013. Retrieved 6 June 2022.