Distributed Meeting Scheduling (100%): For this problem set you will implement a distributed meeting scheduling application using FIPA-OS or JADE as your agent platform and RDF as your content language. Since you are using RDF, you might also want to use DAML and some of its ontologies for the encoding of the data. You should also carefully read the FIPA Personal Assistant Specification (you can ignore the bits that do not deal with meeting scheduling) for guidelines on how to implement your system.
You will implement one agent which will act as a proxy for the user. The agent will have a simply GUI that will allow the user to see the meetings/seminars he has scheduled, as well as allow him to schedule new meetings.
Your system will handle two types of appointments: seminars, and meetings:
Seminars are announced to all the agents in the system. The agent that receives an invite will ask the user if he wants to attend. If the user wants to attend then the agent will tell this the announcing agent. Any agent can schedule a seminar.
Meetings are more complicated. Any agent can try to set a meeting. This agent automatically becomes the coordinator of that meeting. A meeting itself has the following attributes:
When scheduling meetings, the agent must keep in mind that:
Also, the GUI must allow the user to:
Grading: You will be graded on the protocol and content language you develop for this project as well as on its successful implementation. Each group will need to schedule a demo to show me how it works. You will also need to turn in a document describing your protocols, messages, and overall architecture. You will not be graded on the GUI. Specifically, you do not need to implement a pretty calendar that shows all the days of the month and the events scheduled for each. A simple list that shows all the events will be enough for this class.
Submission: Every group must show me a demo of their system at work before the 18 October, 3:30pm. Use the department's dropbox system to turn in your well-commented source code. If you are late you will lose 20%. You must provide javadoc documentation of your code as well as AUML diagrams for all the protocols you implemented.