برمج أول عميل لك باستخدام Jade و Eclipse, مدخل إلى برمجة الأنظمة متعددة العملاء

Jade Logo

Jade Logo

مقدمة:

Jade عبارة عن framework مكتوب كلية بالجافا مصمم خصيصا لبرمجة الأنظمة متعددة العملاء  multi agent systems

سنحاول في هذه الدرس إلقاء الضوء على طريقة تنصيب الـ framework و كيفية كتابة أول Agent يقوم بطباعة جملة صغيرة

متابعة ممتعة

I/التنصيب و تشغيل الـمنصة:

1/ قم بتحميل الملف JADE-all-3.6.zip   من العنوان http://jade.tilab.com/download.php

2/ قم بفك ضغط الملف

سنفرض في باقي الدرس أن المجلد الناتج بعد عملية فك الضغط هو

JADE-all-3.6 est le c:\ JADE-all-3.6

ثم فك ضغط الملفات الأربعة الناتجة ذات الأسماء

JADE-bin-3.6.zip ,

JADE-doc-3.6.zip,

JADE-examples-3.6.zip,

JADE-src-3.6.zip

3 / الآن يجب التعديل على متغير النظام CLASSPATH

إذا لم يكن هذا المتغير موجودا يجب إنشاؤه (في غالب الأحيان لن نجد هذا المتغير موجودا لهذا يجب إنشاؤه)

نقوم بإنشاء هذا المتغير كالتالي:

–  قم بعمل click يمين على My Computer   و اختر   proprieties

– اختر لسان التبويب   advanced

– اختر environment variables

systemePropEN

systemePropEN

– في قسم system variables ابحث عن المتغير CLASSPATH إذا لم تجده قم بإنشائه و قم بإعطائه القيمة التالية

C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\http.jar;C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\iiop.jar;C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\jade.jar;C:\JADE-all-3.6\JADE-bin-3.6\jade\lib\jadeTools.jar

و التي هي عبارة عن مسارات الملفات

http.jar

iiop.jar

jade.jar

jadeTools.jar

الموجودة في

c:\JADE-all-3.6\JADE-bin-3.6\jade\lib

مفصولة فيما بينها بـ ;

NewSystemVariable

NewSystemVariable

احفظ التغييرات

للتأكد من أن كل الخطوات السابقة تمت جيدا اكتب في نافذة run (start->run) أو في نافذة dos الأمر التالي:

Java jade.Boot -gui

ستظهر نافذة dos تقوم بتشغيل منصة الـ JADE

JADEPlatform

JADEPlatform

II/إنشاء أول عميل باستخدام jade:

الآن سنقوم بإنشاء أول Agent باستعمال jade

سنستعمل المثال المرفق مع المنصة و التي تجدونه في

C:\JADE-all-3.6\JADE-examples-3.6\jade\src\examples\hello

نفتح eclipse ننشئ مشروعا جديدا و ليكن اسمه MyFirstAgent

نضيف package جديد و ليكن اسمه firstAgent

و من ثم ننشئ class جديدة اسمها HelloWorldAgent

ننسخ الكود التالي في الـ class

package firstAgent;

import jade.core.Agent;

/**   This example shows a minimal agent that just prints “Hallo World!”   and then terminates.   @author Giovanni Caire – TILAB  */

public class HelloWorldAgent extends Agent {

protected void setup() {

System.out.println(“Hello World! My name is “+getLocalName());

// Make this agent terminate

doDelete();

}

}

ملاحظة: لن نهتم بشرح كل سطر و عمله لكن نهتم بكيفية الترجمة و تشغيل الـ  Agent

نلاحظ وجود بعد الأخطاء في الكود مرد ذلك إلى أن eclipse لم يعرف مكان تواجد بعض الـ class التي يستعملها البريمج الصغير

نحل المشكل كالتالي:

clickيمين على اسم المشروع و اختر proprieties

و من ثم اختر

java build path >> Libraries>> add external JARs

قم بإضافة ملفات jar الأربعة التالية

الموجودة في

C:\JADE-all-3.6\JADE-bin-3.6\jade\lib

و من ثم اضغط على OK

buildpath

buildpath

الآن سنقوم بترجمة و تشغيل البرنامج

اذهب إلى

run>>Run configuration

و من ثم double click على java application

في لسان التبويب main و في خانة main class اكتب

jade.Boot

و قم باختيار

« Include librairies when searching for a main class »

configuration1

configuration1

و في لسان تبويب arguments قم بكتابة التالي:

-gui jade.Boot <AgentName>:<PackageName>.<ClassName>

أي في مثالنا هذا سنكتب

-gui jade.boot smith:firstAgent.HelloWorldAgent

configuration2

configuration2

اضغط على apply لحفظ التغيرات لكيلا نعيد العملية في كل مرة في المشروع الواحد

ومن ثم اضغط على run

ستظهر لك النتيجة و هي طباعة الـعبارة التالية في الـ console

Hello World! My name is smith

resultat

resultat

يمكنك قراءة هذا الموضوع باللغة الفرنسية هنا:

Créez votre premier agent avec JADE et ECLIPSE

67 thoughts on “برمج أول عميل لك باستخدام Jade و Eclipse, مدخل إلى برمجة الأنظمة متعددة العملاء

  1. لو سمحت اريد ان اعرف كيف اعمل اكتر من عميل فى نفس الوقت.
    و كيف يمكن لهؤلاء العملاء ان يرسلوا بعضهم ؟

  2. يمكن إطلاق أكثر من عميل باستعمال سطر الأوامر و ذلك كالتالي

    java jade.Boot nameAgent1:ClassAgent1 nameAgent2:ClassAgent2 nameAgentN:ClassAgentN

    أما عن التواصل فيما بينهم اقرأ الدرس الآخر المسمى

    الـ Communication بين عملاء الـ Jade
    من هنا:
    https://djug.wordpress.com/2009/08/10/%D8%A7%D9%84%D9%80-communication-%D8%A8%D9%8A%D9%86-%D8%B9%D9%85%D9%84%D8%A7%D8%A1-%D8%A7%D9%84%D9%80-jade/

  3. السلام عليكم ورحمه الله
    مشكور اخي علي الشرح
    اولا
    “ستظهر نافذة dos تقوم بتشغيل منصة الـ JADE”
    لم تظهر المنصة كما يوجد عند فقط شاشة dos

    وبالنسبه للبرنامج لم يعمل ايضا علما باني استخدم NETBEANS

    ويعطي رسالة بانه لايوجد MAIN CLASS
    الرجاء مساعدتي في الحل

  4. السلام عليكم بارك اله فيك اخي واثابك على جهودك

    طبقت المثال الموجود بالأعلى لكن ان اردت تطبيقه مرة اخرى تضهر لي هذه الجمله INFO: JADE is closing down now.

    علما بأنني قمت باغلاق برنامج eclipse وفتحه مرة اخرى وتضهر لي نفس الرساله
    ثم قمت بحذفه واعاده انشاء ملف جديد وتضهر نفس المشكله..

  5. يجب إغلاق الـ JADE كاملا قبل إعادة إطلاق عميل مرة أخرى لأنه لا يمكن إطلاق منصتي JADE على نفس الجهاز

    كيف يتم الإغلاق:

    هناك طريقتان:

    في شاشة الـ JADE، انقر على File ثم Shut down agent platform و لا تقم بإغلاق النافذة فقط، لأن النافذة عبارة عن عميل يسمى GUI بعبارة أخرى إن أغلقت النافذة فإنك ستقتل العميل المسؤول عن الواجهة الرسومية فقط.

    أو من خلال Eclipse من خلال النقر على المربع الأحمر لإيقاف تشغيل البرنامج .

    هناك طريقة ثالثة و هي في حالة ما إذا لم تنجح أي من الطريقتين السابقتين و هي بإعادة تشغيل الـ Process الخاص بالـ java و أقصد بالتحديد كل الـ Process التي تحمل اسم javaw.exe

  6. اخي الكريم بارك أشكرك ..
    لكن المشكله مازالت الى الان موجودة ..بالنسبة للطريقة الاولى انني قمت بغلق نافذة الجاد لم اكن اعلم بهذه الطريقه وانا الان احاول لعمل الرن لتظرهلي النافذة مرة اخرى .

    وبالنسبه للطريقة الثانيه قمت بتجربة الطريقه وعدت الرن من جديد ونفس المشكلة ..

    وبالنسبة للطريقة الثالثه لم افهم طريقتك جيدا لكنني قمت بفتح ملف الجافا الموجود في program files
    ودخلت على lib وقمت بالضغط على جميع .exe
    09/03/2010 11:56:01 م jade.core.Runtime beginContainer
    INFO: ———————————-
    This is JADE 3.7 – revision 6154 of 2009/07/01 17:34:15
    downloaded in Open Source, under LGPL restrictions,
    at http://jade.tilab.com/
    —————————————-
    09/03/2010 11:56:03 م jade.core.AgentContainerImpl joinPlatform
    SEVERE: Some problem occurred while joining agent platform.
    jade.core.ProfileException: Can’t get a proxy to the Platform Manager [nested jade.core.IMTPException: Communication failure while starting JADE Runtime System. Check if the RMIRegistry CLASSPATH includes the RMI Stub classes of JADE. [nested java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
    java.net.BindException: Address already in use: JVM_Bind]]
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:574)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    Nested Exception:
    jade.core.IMTPException: Communication failure while starting JADE Runtime System. Check if the RMIRegistry CLASSPATH includes the RMI Stub classes of JADE. [nested java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
    java.net.BindException: Address already in use: JVM_Bind]
    at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:273)
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    Nested Exception:
    java.rmi.server.ExportException: Port already in use: 1099; nested exception is:
    java.net.BindException: Address already in use: JVM_Bind
    at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:310)
    at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:218)
    at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:393)
    at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:129)
    at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:190)
    at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
    at sun.rmi.registry.RegistryImpl.(RegistryImpl.java:78)
    at java.rmi.registry.LocateRegistry.createRegistry(LocateRegistry.java:186)
    at jade.imtp.rmi.RMIIMTPManager.getRmiRegistry(RMIIMTPManager.java:209)
    at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:223)
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:342)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:478)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    Caused by: java.net.BindException: Address already in use: JVM_Bind
    at java.net.PlainSocketImpl.socketBind(Native Method)
    at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
    at java.net.ServerSocket.bind(ServerSocket.java:319)
    at java.net.ServerSocket.(ServerSocket.java:185)
    at java.net.ServerSocket.(ServerSocket.java:97)
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
    at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:649)
    at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:299)
    … 17 more
    09/03/2010 11:56:03 م jade.core.Runtime$1 run
    INFO: JADE is closing down now.

    وعذرا على الاطاله
    فإن كانت هناك حلول اخرى أكون شاكرة لك وممتنة..

  7. هناك حل إذا لم تنقع أي من الحلول السابقة

    لما يظهر المشكل

    افتحي نافذة الدوس
    start > run
    و من ثم اكتبي
    cmd

    اكتبي بعدها الأمر

    taskkill /f /im javaw.exe
    من المفروض أن يتم حل المشكل

    أخبريني بنتيجة ذلك

    و السلام عليكم

  8. لقد كتبت ذلك وظهرت لي هذه الجمله ف الدوس

    ‘taskkill’ is not recognized as an internal or external command,
    operable program or batch file.

    هل يجب علي ان أذهب تحت dirctory محدد ليتنفذ الأمر أم أكتب الامر بمجرد ماتفتح معي شاشة الدوس..

    شاكرة لك تعاونك

  9. تستعملين أي نظام تشغيل ؟
    و ما هي إصدارته؟ Home، professionel ؟

    رسالة الخطأ هذه تخص النظام

    استعملي الـTask manager
    (ctrl+alt+del)

    و ابحثي في قائمة الـ Process عن javaw.exe و قومي بإيقافه (أو بإيقافها إن وجدت أكثر من واحد)

  10. أنا استخدم windowsXP home

    قمت بفتح Task manger وبحثت في قائمة البروسيس ولم أجد javaw.exe

    هل تقترح علي أن أقوم بحدف eclips وارجع أثبته من جديد؟؟؟

  11. يجب البحث عن الـ Java.exe بعد ظهور رسالة الخطأ و ليس قبل ذلك

    لا أظن أن المشكل يكمن في الـ Eclipse لكن أظن أنه من الأفضل إعادة تنصيبه لقطع الشك باليقين🙂

  12. أشكرك أشكرك
    جزاك الله كل خير وأعطاك كل ماتتمنى ..

    بحمد الله ضبط معي بعد أن ظهرت رساله الخطأ ذهبت لtask manager
    وأوقفت البروسيس
    واشتغل معاي الرن ..

    بارك الله في جهووودك

  13. انا لدي مشكلة ..

    الفايلات
    http.jar

    iiop.jar

    jade.jar

    jadeTools.jar

    عندما حملت ال
    jade 4

    لا يوجد الا jade.jar

    والباقي غير موجود مما جعل ال
    eclipse

    لا يعمل فما هو الحل

  14. لم أستعمل الإصدار الرابع من قبل

    هل جربت أن تكتفي بمناداة الـ Jar الوحيد الموجود في الإصدار الرابع بدل ملفات Jar الموجودة في الإصدارات السابقة ؟

  15. اخي الكريم ذهبت للموقع وحملت الاصدار
    3.6

    المستخدم هنا في المثال وطبقت الخطوات تماما

    ومع ذلك المشلكلة تظهر في ال
    eclipse

    انه غير قادر على ايجاد ال
    jade.boot

  16. فهمت الآن
    المشكل يكمن في طريقة لكتابة Boot حيث يجب كتابتها بحرف B كبير و ليس b صغير

    جرب من جديد و أخبرنا بالنتيجة

  17. شكرا لك ,, لم يعطي اي error

    لكنه لم يعط نتيجة البرنامج ,, فقط اعطى warnings

    على كل حال شكرا لسعة صدرك وقد ارسلت لك رسالة على بريدكم الالكتروني اتمنى ان تطلع عليها

  18. السلام عليكم

    بفضل الله وبفضل شرح الأخ الكريم تذللت المشاكل

    الآن اسأل هل من مكان يمكننا من خلاله ان نحمل امثلة لحركة ال
    agent

    مكتوبة بال
    jade

    وشكرا لكم

  19. أسأل عن main
    الذي يبدا التطبيق منه ,, حيث اني لم اجده في الامثلة المرفقة

    مع البرنامج ,, حيث اني شرعت بكتابة كود مفصل عنه

    لكن المشكلة عندي في معرفة هل هناك

    Main in Jade

    وشكرا لكم

  20. شكرا على ردك

    لكن من اين يتم التطبيق في ال
    jade

    يعني عندي
    4 classes

    من سيتم تنفيذه بالاول ؟؟

    على اي اساس يعتمد في ذلك

    وسؤال آخر

    jade.Boot

    اين يكون موجود , من اين يعمل بوت لل
    jade

  21. تود أن تقول أنه لديك 4 agents؟

    هناك أكثر من طريقة لإطلاق العميل،إما من خلال Eclipse مباشرة مثلما هو موضح في هذا الدرس أو من خلال نافذ الـ Jade مباشرة

  22. انا اقصد من خلال ال
    gui

    المخصص لل
    jade

    وكذلك بالنسبة ل

    domove()

    سأكون بحاجة ل
    address

    معين هل هناك مثال معين لذلك مع الشكر الجزيل

  23. السلام عليكم ورحمة الله وبركاته

    اني اعمل على النسخة 3.6 وحاولت تطبيق مثال booktrading كالتالي
    with eclipse

    new java -> new package -> new class

    ووضعت
    3 classes

    كما هم بالامثلة المرفقة ثم عرفت ال
    external jar

    كما هو مبين في المدونة الكريمة

    في main وضعت

    jade.Boot

    واشارة الصح على اول حيار تحت ذلك

    وفي ال

    argument

    -gui -container -host local host a:examples.bookTrading.BookBuyerAgent
    b:examples.bookTrading.BookSellerAgent
    c:examples.bookTrading.BookSellerGui

    الان المشكلة انه عند التطبيق

    تظهر شاشة ال
    jade

    وتظهر ال
    gui
    للـ
    seller
    فقط والتي تطلب ادخال اسم الكتاب وسعره ويستمر الادخال ولا يتوقف

    المشكلة ان ال
    jade

    لا يظهر الا الاجينت المخصص لل
    seller

    ولا يظهر ال
    gui
    الخاصة بال

    buyer

    مع العلم ان شرح المثال يقول انه هناك مثلا كتابين واحد بعشر دولارات والثاني بعشرين

    والمشتري يشتري السعر الارخص

    ارجو المساعدة في المشكلة التي عندي ودمتم بخير

  24. أخي علي أصدقك القول، طيلة عملي مع Jade لم أفلح و لم لمرة واحدة تجربة مثال booktrading

    أراه مثالا “معقدا” نوعا ما، أنصحك أن تبدأ مع غيره

  25. السلام عليكم بارك الله فيكم على هذه المدونة

    لدي سؤال عن الدالة

    createNewAgent(java.lang.String nickname, java.lang.String className, java.lang.Object[] args)

    ماذا يمثل ال

    nickname

    ماذا يمثل ال
    className

    أليس اسم ال
    agent

    واسم ال
    class

    يدلان على نفس الشيء فما هو الداعي لتعريف اسم لل

    agent

    وآخر لل

    class

  26. ٍClass اسم الملف الخاص بالـ Agent
    NickName هو اسم الـ Agent

    يمكن مثلا إطلاق أكثر من نسخة من نفس العميل و كل عميل يحمل اسما مختلفا

  27. السلام عليكم ورحمة الله تعالى وبركاته
    قمت بجميع الخطوات وأضفت class path
    وبعد كتابة الأمر Java jade.Boot -gui
    في dos لم تظهر منصة jade
    على الرغم من انه لدي ‘jdk’
    eclipse+machine virtuelle
    ولم أدري ما هو المشكل بالضبط

    أخـــــــــــــــوكم في الله كمال

  28. السلام عليكم
    يعني الرسم أشكال agent رأيتها في أمثلة
    بشكل آخر كيف استخدم interface -واجهة الجاد
    شكرا للرد السريع

  29. تقصدين برمجة عميل له واجهة رسومية (GUUI Agent)؟

    إن كان الأمر كذلك فالأمر متعلق ببرمجة الواجهات الرسومية في الـ Java بشكل عام و لا يخص الـ Jade لوحده (يعني يجب أن تدرسي كيفية كتابة واجهات رسومية بالـ Java و تطبيق نفس الأمر على الـ Jade)

  30. السلام عليكم
    أخي الفاضل وددت أقترح عليك أمر وان شاء الله تستطيع عمله وهو
    عمل فيديو فيه كيفية انشاء عميل في eclipse وكيفية تمثيله في الجاد

  31. أختي الفاضلة تتبعي الدرس و ستصلين إلى ما تطلبينه
    قام بتبع الدرس العشرات و كلهم نجحوا في إنشاء أول عميل لهم

    بالمناسبة عمل فيديو يتطلب جهدا أكبر من كتابة درس (سبق و أن عملت دروس فيديو و يستغرق ذلك حوالي أربع أضعاف الوقت اللازم لكتابة الدرس)

  32. أعلم ذلك ليس بالأمر السهل
    وصراحة كلامك صحيح وانا من هؤلاء الحمد لله كله تمام لأن الشرح بأسلوب رائع ومستساغ جدا ولكن ما قصدته ما بعد كتابة الكود البرمجي
    اي كيف نمثل هذا العميل في واجهة الجاد ؟؟
    أو بمعنى آخر شرح مبسط لواجهة الجاد للمبتدئين …

  33. وأيضا في تنصيب الجاد يوجد ملف لم تذكره على حسب علمي هم 5 وليس 4 ملفات
    والخامس هو commons-codec لأنه حدثت معي مشاكل في التنصيب وهذا الملف كان هو الحل

  34. ؟؟؟؟؟؟؟؟
    السلام عليكم أردت أن أسأل في eclipse و jade
    أردت انشاء base de données -BDD- هل أنشئها بكود ؟؟وهل يستطيع الجاد توفير قاعدة معطيات للــ AGENT ؟؟

  35. في هذه الحالة يجب التعامل مع العميل كتطبيق كلاسيكي ، يعني يتم إنشاء و استعمال قاعدة البيانات مثلما يتم إنشاؤها و استعمالها مع تطبيق Java كلاسيكي

    ملاحظة: ينصح باستعمال نظام إدارة قواعد البيانات HSQL مع الـ Jade

  36. ماذا تقصد التعامل مع العميل كتطبيق كلاسيكـــــــي ؟؟
    وبالنسبة للعمل على HSQL كيف يتم ربطه مع الــ JADE ؟؟

  37. يعني كما سبق و أن قلت أن تنشئي قاعدة البيانات و التعامل معها مثلما تتعاملين مع قواعد البيانات في تطبيقات Java “العادية” أو “التقليدية”

    بخصوص HSQL لم سيث لي التعامل معه لكن قرأت فقط أنه ينصح باستعماله مع الـ Jade

  38. آآآه حسنا شكرا لك
    ويالمناسبة انا أعمل على انشاء systeme de recherche de Doc
    باستخدام Agent Mobile وأحتاج BDD لفهرسة الملفات

  39. السلام عليكم
    بالنسبة لتصمـــيم La conception du système -SMA-
    هل يوجد وسيلة نستطيع نصمم بها في Auml مثل ماهو موجود في UML مثلا StartUML ؟؟؟

  40. السلام عليكم
    أخي العزيز إنا من المهتمين بـ jade ولدي بحث أقوم بانجازه ,ولكنني أواجه صعوبة في تنفيذ هجرة للـ mobile Agent من platform إلى platform أخر , مع إنني تمكنت من إضافة remote platform بشكل صحيح ,إنا استخدم jade version 4.0.1 كما إنني اعمل في نفس الوقت على jade version 3.6.1 ولا أواجه أي مشاكل في إرسال واستلام الرسائل بين Agents .أتمنى ان يكون من الإخوة الأعزاء من قام بتنفيذ
    Agent Migration ِto remote platform
    ان يساعدني في حل هذه المشكلة ويجيب عن أسئلتي في المدونة أو يراسلني على ايميلي Dalal_am@yahoo.com مع الشكر الجزيل .

  41. السلام عليكم
    اتسأل هل ان هذه المدونة قد توقفت عن تقديم خدماتها لانني منذ فترة لا اجد فيها اي مشاركات جديدة او ما هو سبب عدم وجود اي مشاركات جديدة او اجابات من قبل الاخ الكريم صاحب المدونة.
    وجزاكم الله خيرا .

  42. اكتب و اجيب حسب الاستطاعة و التفرغ
    عذرا فلا املك اجابات لكل ما يطرح من أسئلة

    بالتوفيق
    و السلام عليكم

  43. السلام عليكم ورحمة الله وبركاته

    اخي الفاضل اشكر لك هذا الشرح الاكثر من رائع

    الحمد لله اشتغل معاي الجيد ولكن لا ارى اي و اجهه

    فكيف اشغل الواجهه و ابدا التعامل مع الجيد

    الرساله التي تظهر لي هي : ولكن اين الانترفيس ؟؟

    Microsoft Windows [Version 6.1.7600]
    Copyright (c) 2009 Microsoft Corporation. All rights reserved.

    C:\Users\toshiba>java jade.Boot
    02/06/2011 02:16:20 ع jade.core.Runtime beginContainer
    INFO: ———————————-
    This is JADE 3.6 – revision 6032 of 2008/05/05 14:07:10
    downloaded in Open Source, under LGPL restrictions,
    at http://jade.tilab.com/
    —————————————-
    02/06/2011 02:16:22 ع jade.core.BaseService init
    INFO: Service jade.core.management.AgentManagement initialized
    02/06/2011 02:16:22 ع jade.core.BaseService init
    INFO: Service jade.core.messaging.Messaging initialized
    02/06/2011 02:16:22 ع jade.core.BaseService init
    INFO: Service jade.core.mobility.AgentMobility initialized
    02/06/2011 02:16:22 ع jade.core.BaseService init
    INFO: Service jade.core.event.Notification initialized
    02/06/2011 02:16:22 ع jade.core.messaging.MessagingService clearCachedSlice
    INFO: Clearing cache
    02/06/2011 02:16:23 ع jade.mtp.http.HTTPServer
    INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParse
    rImpl$JAXPSAXParser
    02/06/2011 02:16:23 ع jade.core.messaging.MessagingService boot
    INFO: MTP addresses:
    http://toshiba-PC:7778/acc
    02/06/2011 02:16:23 ع jade.core.AgentContainerImpl joinPlatform
    INFO: ————————————–
    Agent container Main-Container@toshiba-PC is ready.
    ——————————————–

  44. شكرا لك أخي الكريم وشكرا لكل الشباب المشاركين بالنقاش في مدونتك اتمنى ان أواصل التداخل معكم دائما ومثلما قال احد الاخوان ان JADE وموضوع Multiagent عموما لا تتوفر له مصادر كافية ولا حتى باللغة الانجليزية. الى الأمام اخوتي.

    شكرا لكم

  45. شكرا لك على هذه المعلومات القيمة لكني والحمد لله قد نصبت الjadeوهو يعمل لكني في حاجة الى معلومات اكثر تفصيلا عن معماريتهjade architectureوشكرا لك

  46. أنا طبقت كل شيء، لكن هذا ما ينتج بعد Run, أرجوك ساعدني

    jade.core.ProfileException: Can’t get a proxy to the Platform Manager [nested jade.core.IMTPException: The Service Manager was already bound in the RMI Registry [nested java.rmi.AlreadyBoundException: ServiceManager]]
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:574)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    Nested Exception:
    jade.core.IMTPException: The Service Manager was already bound in the RMI Registry [nested java.rmi.AlreadyBoundException: ServiceManager]
    at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:275)
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)
    Nested Exception:
    java.rmi.AlreadyBoundException: ServiceManager
    at sun.rmi.registry.RegistryImpl.bind(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
    at java.rmi.Naming.bind(Unknown Source)
    at jade.imtp.rmi.RMIIMTPManager.exportPlatformManager(RMIIMTPManager.java:224)
    at jade.core.ProfileImpl.createPlatformManager(ProfileImpl.java:563)
    at jade.core.ProfileImpl.getPlatformManager(ProfileImpl.java:487)
    at jade.core.ProfileImpl.getServiceManager(ProfileImpl.java:501)
    at jade.core.AgentContainerImpl.init(AgentContainerImpl.java:336)
    at jade.core.AgentContainerImpl.joinPlatform(AgentContainerImpl.java:472)
    at jade.core.Runtime.createMainContainer(Runtime.java:148)
    at jade.Boot.(Boot.java:130)
    at jade.Boot.main(Boot.java:70)

  47. السلام عليكم
    بارك الله فيك على هذه المعلومات
    لم افهم جيدا الهدف من البرمجة متعددة العملاء
    و الامثلة التي اجدها ، كلها عن HelloWorldAgent
    إذا ممكن مثال اعقد قليلا ، احتاجه بشدة لو سمحت
    بارك الله فيك

  48. لقد اتبعت جميع الخطوات ولكن يظهر لي دائما هذا ال error ارجو المساعده
    SEVERE: Cannot create agent jade.Boot;sanaa: Class VacuumCleanerProject.HelloWorldAgent for agent ( agent-identifier :name jade.Boot;sanaa@me-PC:1099/JADE ) not found [nested VacuumCleanerProject.HelloWorldAgent]

التعليقات مغلقة.