Development of an application using jade agent toolkit, JAVA Programming

Assignment Help:

You need to build an agent system using the JADE Toolkit that allows the lecturer of FIT5031 to broadcast their availability and arrange for consultation with students in a dynamic manner. The idea is to use a combination of software agents and Instant Messaging services (or any other social networking technologies) to facilitate this process. Each FIT5031 student and the lecturer have their own "personal assistant agent". Consider the case, where the lecturer comes in to work at 10 AM and has a meeting with his PhD student scheduled from 10.15 - 11.15 AM. However, on checking her email, she finds that the PhD student has come down with the flu and is unable to make it for the meeting. The lecturer would like to use this time to provide consultation for his FIT5031 students. He instructs his"personal software agent" that he is available for FIT5031 students. While he can use Moodle to send a message/email to all students - this is insufficient as students may not be checking email, they may be online but chatting with their friends, or they may still be at home or have another lecture on at the time. Thus, the task of the agent is to find those students who are online between 10.15 and 11.15 am and let them know that the lecturer is available for consultation. Furthermore, should a particular student wish to use this time and come for consultation, their agent needs to let the lecturer's agent know the approximate time when they will come (e.g. 11 am).

You can assume that there are only a small number of students in the unit (e.g. 5-10) and at any given time 3-4 students may be online.

The two options for finding students who are online are as follows:

OPTION 1: This option would involve the use of the directory services of JADE to broadcast online status. Thus, the students who are online would get their personal agents to send a message to some centralised agent directory for FIT5031 regarding this (and will also let the directory know when they are unavailable/leaving the system). The lecturer's agent would check this directory and send messages about the lecturer's availability for consultation to all those students who are available at that time. The lecturer agent may broadcast this message in 15 minute intervals during this time frame (10.15 am - 11.15 am) or have better solution such as keeping track of which student agents are coming online.

As stated above, a fully functional system using Option 1 will be eligible for a CREDIT grade.

OPTION 2: This option would involve the use of some third party Instant Messaging system for finding students who are online. For instance Google Talk provides an API to access it/write simple clients for it. In this case, the lecturer's agent would access Google Talk and query it for the online status of FIT5031 students and then send messages to those students (either using Google Talk itself or through their agents). Again, if the students wish to avail of the consultation, they need to let their agents know and these can then inform the lecturer's agent about the approximate time when the student's will come. You may use Google Talk or Facebook or Skype or any social networking/instant messaging technology.

We will provide you with a simple client to access Google Talk (that has been written by one of the tutors).

An enhancement (not required, but if you did something like this then you would get additional marks) is to have the lecturer agent access more than one IM/Networking technology. That is, look for students on Google Talk and something else.

Another enhancement (again not required, but will fetch additional marks) is to have the lecturer's agents schedule the students who want to come and meet the lecturer at the available time. Thus, if one student has agreed to come at 11.30 am - then the time-slot of 11.30-11.45 should not be assigned to any other student. One option might be to have a small database for the meeting scheduling.
Can you think of scenarios where the use of software agents is deemed as better than doing the implementation without software agents? These can be additional enhancements that you include in your implementation for bonus points.


Related Discussions:- Development of an application using jade agent toolkit

What do mean by synchronized and synchronized statements, What do mean by ...

What do mean by synchronized methods and synchronized statements ?

Homework assignment, How do you start the Energy consumption program

How do you start the Energy consumption program

#, Consider the following code? What input is needed for x in order for the...

Consider the following code? What input is needed for x in order for the sum variable that is output at the end of the code to be 12 ? (In other words: what do I need to make X be

What is the string concatenation, What is the String Concatenation + Op...

What is the String Concatenation + Operator is employed to concatenate strings - System.out.pritln ("Hello" + "World") will print Hello World on console String concatenat

Why use rmi when we can handle the same benefits from ejb?, EJBs are distri...

EJBs are distributed elements, which need the RMI framework for object distribution. An EJB application server gives more services like object pooling, transaction management, data

Java, Ask question Write an inheritance hierarchy for classes Quadrilateral...

Ask question Write an inheritance hierarchy for classes Quadrilateral, Trapezoid, Parallelogram, Rectangle and Square. Use Quadrilateral as the superclass of the hierarchy. Create

How the jms is different from rpc, In RPC the method invoker waits for the ...

In RPC the method invoker waits for the method to finish implementation and return the control back to the invoker. Therefore it is completely synchronous in nature. Whereas in JMS

Explain about the dynamic behavior of core java, This language was designed...

This language was designed to adapt the changing environment and behavior. New methods and instance variables can be added to the client side without any major changes happening at

What is the use of throws keyword, What is the use of throws keyword ? ...

What is the use of throws keyword ? Rather than explicitly catching an exception you can declare in which your method throws the exception. This passes the repsonsibility to h

Explain continue statement with example, Explain continue statement with ex...

Explain continue statement with example? It is sometimes essential to exit from the middle of a loop. Sometimes you'll need to begin over at the top of the loop. Sometimes you'

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd