Loading AI tools
هي نموذج برمجي حيث يتمحور بناء البرنامج على مفهوم عملاء البرمجيات من ويكيبيديا، الموسوعة الحرة
البرمجة الموجهة للعميل (بالإنجليزية: Agent-oriented programming) (AOP) هي نموذج برمجي حيث يتمحور بناء البرنامج على مفهوم عملاء البرمجيات. على النقيض من البرمجة الموجهة للكائنات التي تحتوي على كائنات (توفير طرق بمعلمات متغيرة) في جوهرها، فإن البرمجة الموجهة للعميل لديها عوامل محددة خارجيًا (مع واجهات وقدرات رسائل) في جوهرها. يمكن اعتبارها تجريد للكائنات. يتم تفسير الرسائل المتبادلة عن طريق استقبال «الوكلاء» بطريقة محددة لصنف وكلائها.
تاريخياً، قدم يوآف شوهام مفهوم البرمجة الموجهة للوكيل وفكرة تركيز البرمجيات حول مفهوم الوكيل في دراسات الذكاء الاصطناعي عام 1990.[1][2] وكلائه محددون بنموذجه الخاص لأن لديهم طريقة واحدة فقط، مع معلمة واحدة. على حد تعبير يوآف شوهام من ورقته في عام 1990 عن فرق أساسي بين البرمجة الموجهة للعميل والبرمجة الموجهة للكائنات. البرمجة الموجهة للوكيل (AOP)، والتي يمكن اعتبارها تخصصًا للبرمجة الموجهة للكائنات.
OOP | AOP | |
---|---|---|
الوحدة الأساسية | الكائن | وكيل |
المعلمات التي تحدد حالة الوحدة الأساسية | غير مقيد | المعتقدات والالتزامات والقدرات والاختيارات. . . |
عملية الحساب | طرق تمرير الرسالة والاستجابة | طرق تمرير الرسالة والاستجابة |
أنواع الرسائل | غير مقيد | إعلام، طلب، عرض، وعد، رفض. . . |
القيود على الطرق | لا شيء | الصدق والاتساق. . . |
هناك العديد من «أطر عمل AOP»، وتسمى أيضًا منصات الوكيل، والتي تطبق نموذج برمجة شوهام Shoham. توضح الأمثلة التالية كيف تتم برمجة العامل الأساسي كبرنامج «مرحبا يا عالم!» (hello-world).
بالنسبة لمنصة جافا، أحد الإطارات هو JAD E.[3][4] فيما يلي مثال أساسي للغاية لعامل يقوم بتشغيل التعليمات البرمجية
package helloworld;
import jade.core.Agent;
public class Hello extends Agent {
protected void setup() {
System.out.println("Hello World. ");
System.out.println("My name is "+ getLocalName());
}
public Hello() {
System.out.println("Constructor called");
}
}
في صميم نموذج AOP الخاص بـ JADE هو أن API الخاص به يدعم لغة اتصال وكيل FIPA القياسية
للحصول على ترجمة حرفية للمفاهيم الموجهة إلى الوكيل إلى مخطط غير مبهم كما هو JADE، وراء جافا والتوجيه الكائن، يوفر Agent Speak [5](Jason) لغة «طبيعية» للوكلاء.
started.
+started <- .print("Hello World. ").
غول GOAL هي لغة برمجة وكيل لبرمجة العوامل المعرفية. يستمد وكلاء غول اختيارهم للعمل من معتقداتهم وأهدافهم. توفر اللغة اللبنات الأساسية لتصميم وتنفيذ العوامل المعرفية من خلال تراكيب البرمجة التي تسمح وتيسر التلاعب بمعتقدات الوكيل وأهدافه وهيكلية صنع القرار. توفر اللغة إطار برمجة بديهي يعتمد على الحس السليم أو المنطق العملي.
يوفر سارل [6] (موقع SARL) الملخصات الأساسية لترميز الأنظمة متعددة الوكالات. يستخدم بناء جملة يشبه البرنامج النصي (مستوحى من سكالا وروبي).
package helloworld
import io.sarl.core.Initialize
agent HelloWorldAgent {
on Initialize {
println("Hello World.")
}
}
تتمثل إحدى طرق تنفيذ دعم AOP المعياري أو القابل للتوسيع في تحديد واجهات برمجة تطبيقات AOP القياسية لوظائف البرامج الوسيطة التي يتم تنفيذها هي نفسها كوكلاء برامج. على سبيل المثال، يمكن تنفيذ خدمة الدليل كمنسق دليل FIPA أو وكيل برنامج DF؛ يمكن تنفيذ إدارة دورة الحياة لبدء وكلاء ووقفهم وتعليقهم واستئنافهم كخدمة إدارة وكيل FIPA أو وكيل AMS.[7] تتمثل فائدة منهج AOP في أنه يدعم أدوارًا أكثر ديناميكية بين مختلف المستخدمين وموفري التطبيقات والخدمات والشبكات. على سبيل المثال، عادةً ما تتم إدارة الشبكات والخدمات عادةً بواسطة الشبكة ومزود الخدمة بالنيابة عن العميل ويتم تقديمها كخدمة شبكة افتراضية واحدة ولكن العملاء أنفسهم أصبحوا أكثر تفويضًا لدمج وإدارة خدماتهم الخاصة. يمكن تحقيق ذلك عبر AOP و APIs لوكلاء البرامج الوسيطة الذين يمكنهم إدارة الاتصالات بمرونة وديناميكية.[8]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.