lunedì 26 luglio 2010

Aglets 2.5

It took very much time to get to the new  alpha release of the Aglets Mobile Agent Platform. The version is the 2.5, that creates an hole between the previous one, 2.0.2, but since there are so many improvements the I decided to make it clear that this is a version that has touched almost every part of the platform.
There are important changes, the much visible of which is the new GUI that is based on Swing and no more on AWT. The GUI has not been simply converted from AWT to Swing, but it has also been restructured in order to be simpler and more friendly to use, as well as of course include the new features.
Behind the hood, the platform now supports the sleeping of an agent in a manner similar to Thread.currentThread().sleep(), and a lot of classes have been adjusted to be type safe and better organized. This means that Aglets now requires a newer version of Java, in particular at least J2SE 6. The reason for that is the adoption of a fully integrated localization system that is based on J2SE 6 Resource Bundle, wrapped in an AgletTranslator object that allows the user, as well as agents, to get localized texts and icons.

Other improvements are related to the general management of the internal data structures, that has changed from slightly to deeply depending on the case.

You can download a zip archive containing the alpha release from here.

I will thank everyone that assisted me in this long process, and I will apologize for this late releasing. 

This release makes also the old web site to become unavailable, relying instead on the default Sourceforge web content (as shown below). The reason for this is that the old site was still linking the AgentGroup @ Unimore, that didn't help me within Aglets and, in fact, copied and paster part of my work within this project releasing it as their own! It is evident if you see the papers related to Aglets: the first in the list ((Leveraging strong agent mobility for Aglets with the Mobile JikesRVM framework. Scalable Computing: Practice and Experience) contains parts of the second article (Strong Agent Mobility for Aglets based on the IBM JikesRVM) that was written before with my contribution. So to get it short, I removed the web site with all references to Unimore. The following is how the site was appearing and how it appears now.

Here I post some screenshots from the new alpha release.

25 commenti:

nader74 ha detto...

Dear sir,
I'm student. I have use Aglets2.0.2. But, when I used Aglets 2.5-alpha, I can not install the ant and I use Java_Home = C:\Java\jdk1.6.0_21 ant I have this error :

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/
Caused by: java.lang.ClassNotFoundException:
at Method)
at java.lang.ClassLoader.loadClass(
at sun.misc.Launcher$AppClassLoader.loadClass(
at java.lang.ClassLoader.loadClass(
Could not find the main class: Program will exit.

Thank you for your help

Luca Ferrari ha detto...

Could you please use an ant version that is not the one within the bin directory of the Aglets distribution? I suspect there is a problem with such ant, so if you can use another installation of ant to compile it should work.

nader74 ha detto...

Dear Sir,
I have do what you have indicate but it does'n work.
I have the ant of aglets2, when I execute it from the aglets2\bin, it work and when I copy it in aglets2.5-alpha\bin it does'n work.
and when I execute the ant of aglets2.5-alpha from aglets2.5-alpha\bin it does'n work and when I copy it in aglets2\bin it work normally.
What I must do now?
Thank you for your help

Luca Ferrari ha detto...

Dear Nader74,
I'm running the system with the following ant (not using the ant within the distribution)

$ ant -version
Apache Ant version 1.7.1 compiled on July 1 2010

and the system builds correctly. Could you please try to update your ant installation and try again?

nader74 ha detto...

Dear Luca,
I have use the : Apache Ant version 1.8.1 compiled on April 30 2010. And it's work now, tahnk you for your help.
Best regards

nader74 ha detto...

Dear Luca,
I have another problem!!!
I have programmed some agent with aglets2.0.2 and jdk 1.4, that I can dispatch. The same programs cannot be executed with aglets2.5 and jdk 1.6.
When I dispatched my agents I got this type oh errors:
Source aglet : FileNotFound: null\public\Dispatcher1\[B.class

Erreur à l'appele de création de l'agent Mobil (run) : atp://Nader:2001/Domaine1, Integrity=DIGEST, Confidentiality=SHORTSECRETKEY, Timeout=0 mypackage.AgentMobil

Destination Aglet : atp://Nader:1001/Dispatcher1/[B.class
... invalid type code: 30
My env Var are :
AGLETS_HOME = C:\aglets25
AGLETS_PATH = C:\aglets25
ANT_HOME = C:\apache-ant-1.8.1
CLASSPATH = .;C:\Datawarehouse\Project\classes\mypackage;C:\aglets25\lib\aglets2.5-alpha.jar;C:\aglets25\public;C:\aglets25\lib\log4j-1.2.15.jar;C:\aglets25\bin
JAVA_HOME = C:\Java\jdk1.6.0_21
Path = C:\aglets25\bin;C:\Java\jdk1.6.0_21\bin;...

Can you help me to fix these errors or I must give you some others informations.

Best regards

nader74 ha detto...

I have do some research and I find that this errors is a bug off JDK6. can I use JDK5.5?

Luca Ferrari ha detto...

Have you tried to recompile your agents with the jdk .1.6? This version of aglets relies on a feature for internationalization that is available only on jdk1.6.

nader74 ha detto...

Dear sir,
I have installed jdk1.6 but I have the same errors. I installed the jdk and it work now.
The problem is th bug of the jdk1.6.
see this :

and this :

The problem is with the server application when I use class.forname...and classloader.
Have you any idea how to solve this problem and use the jdk 1.6.
Best regards

harini ha detto...

dear sir,
im using aglets 2.0.2 to create multiagents but i would like to know how to deploy these agents on a web browser? like i want to use the agents to track the user's time spent on my ive created a local webpage using php and how to deploy agents onto that sir?

hoping u would pls help
thank u

Luca Ferrari ha detto...

Dear Harini,
I don't really believe that mobile agents can be succesfully used to track the time spent from a user within a web page. Mobile agents are not meant to do such a "simple" thing, their aim is to perform complex computations locally to the user (client). I guess you can achieve your aim with simpler technologies, even a scheduled polling or page refresh could do that.

Mohamad Fathurahman ha detto...

Dear Sir,
I'm a newbe in Aglets. Now I'm doing a little research about retrieving information from client(client MAC Address) using Aglets2.5-alpha and the result will be loaded in database. Can you tell me How to connect Tahiti Server with database system like MySQL?

Mohamad Fathurahman ha detto...

Dear Sir.
I want to install aglets2.5-alpha in Ubuntu 9.04, but after I give this command
Total time: 3 seconds
fathurahman@fathurahman:~/Desktop/aglets2.5-alpha/bin$ agletsd -f ../cnf/aglets.props
bash: agletsd: command not found
Could you please explain why?

adly.m ha detto...

Dear Luca,

I am working on Aglet 2.0.2 using JDK5. I am trying to do Asymmetric encryption using RSA, but I keep getting errors, can u confirm wether I can use asymetric encryption "RSA" with aglets or not??
Also, can u reply to my email please?

Best regards

adly.m ha detto...

if anyone else knows the answer to my previous question, please contact me. thanks

cuongnv ha detto...

Dear Luca!
I can't setup it, so can you help me with it. I want to setup Aglets2.5 with Apache Ant. Can you instruct me?
Thanks advance.

jeet ha detto...

Hello sir,
when i tried to install aglest2.5-alpha on my windows 7 machine and tried to ran the command ant from c:\program files\java\aglests2.5-alpha\bin
it gives following error "Files\ant==a was unexpected at this time" i hav installed ant1.8.2 version on my machine plz help its very urgent fot thesis

Rishikesh ha detto...

Respected Sir,

I am student of M-tech and i want to do my M-tech project using mobile agent(Aglets2.0.2),but i am not able to install it properly...i am getting error of Tahiti property not found...
Please help me...

Thanking you.

ryker ha detto...

aglets 2.0 can be installed easily..
I found this :

installing aglets

Jagdish ha detto...

Hi Luca,
I'm a B.E student, I'm trying to build mobile agents using aglets. i'm using aglets 2.0.2. I'm trying to integrate it with netbeans. I followed the steps in the user manual at
when I execute the program I get the aglets login,but when I enter the password I get the following exceptions

Exception in thread "main" java.lang.ExceptionInInitializerError
at$ Source)
at Method)
at Source)
at Source)
at Source)
at Source)
at Source)
at Source)
Caused by: java.util.MissingResourceException: Can't find bundle for base name tahiti, locale en_US
at java.util.ResourceBundle.throwMissingResourceException(
at java.util.ResourceBundle.getBundleImpl(
at java.util.ResourceBundle.getBundle(
at$ Source)
at Method)
at Source)
... 8 more

How can I rectify it??

Mohamedji Bardolia ha detto...

Dear Sir,
I am using aglets2.5-alpha environment have been set but i dont know how to use .class file as agent....plz help me out...regards

Faisal Mutaz Shahin ha detto...

Dear Sir I have successfully installed aglets 2.5 -alpha on windows 7 with java 7 but when i run an agent it gives me java.lang.ClassNotFoundException error I dont know why can you help me?

Luca Ferrari ha detto...

Aglets 2.5 has been improved in the development branch the last year and there is also a complete installable package. Please you all try that one and report back.

preeti shivach ha detto...

Dear sir,

I have downloaded aglets version 2.0.2. I followed your pdf "The Aglet 2.0.2 User's Manual". You have mentioned to run ant command. Should i have to set some ANT_HOME or some kind of environment variable setting. I am working on Windows7.

MayJune ha detto...

Dear sir,
I have use Aglets2.0.2 and I use Java_Home = C:\Program Files (x86)\Java\jdk1.7.0. I am working on windows 7 64 bits.But, I can not install the ant and I have this error :


C:\aglets-2.0.2\bin>set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.