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

Define cross-cutting functionality , An aspect is the cross-cutting functio...

An aspect is the cross-cutting functionality that you are executing. It is the aspect of your application you are modularizing. An example of an aspect is logging. Logging is somet

Program to brute force search, Ask questionWrite a program BruteForceSearch...

Ask questionWrite a program BruteForceSearch that uses the brute-force approach given above and compare its running time on your computer with that of Binary Search for largeW.txt

Pattern printing program, Question Using 3 level of nested for loop, writ...

Question Using 3 level of nested for loop, write a program that will produce the output as below.

What is initializing fields, What is Initializing Fields ? Fields can (...

What is Initializing Fields ? Fields can (and often should) be initialized while they're declared, just like local variables. class Car { String licensePlate = ""; // e.g

Computer application and program, Computer application and program. Proj...

Computer application and program. Project Description: I require a project done. It is a computer desktop application program. It is not very hard. Skills required: Any

What does it mean that a method or field is static, What does it mean that ...

What does it mean that a method or field is "static"? Static variables and methods are instantiated only once per class. In other words they are class variables, not example va

Area under curves, Write a program to find the area under the curve y = f(x...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Implement decision tree algorithm using netbeans, Implement Decision Tree A...

Implement Decision Tree Algorithm using Netbeans (Java) & Microsoft Access 2007. "One Level is enough, output should contains gain of each attribute, the selected attribute and

How to creating arrays in java, How to Creating Arrays in java? Declari...

How to Creating Arrays in java? Declaring arrays merely says what type of values the array will hold. It does not form them. Java arrays are objects, and such as any other obje

Write a quality and complexity analysis report, In the context of this cour...

In the context of this course work, you are asked to write a quality and complexity analysis report by applying programming design and implementation metrics for the AnagramGame Ja

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