Pick one of the following projects to do. Due date: December 9.
Your deliverable is a well written report (approximately 20 pages) containing demos, design, and implementation.
FIPA has several proposed protocols for English and Dutch auctions. Implement an auction system in JADE (or some other FIPA compliant framework) that allows the user to offer items for sale using the dummy agents or by creating a seller agent.
Sale items should be Java objects that encapsulate a description of the item as well as a suggested price. Bids are Java objects that encapsulate a bid price.
Bidders should employ some form of the following strategy:
nextBid = lastBid + delta
delta = factor * (maxBid - leadingBid)
factor = a fixed random number between 0 and 1.
maxBid = a random number between 0 and suggested price
Deliverable: A tutorial on creating auctions in JADE and a running demo.
Sample outline:
1. Introduction: Informally describe the types of auctions
you implemented.
2. How to set up and run an auction: Walk us through a couple of demos.
3. Role Model: Use class and sequence diagrams to explain your role model and protocols.
4. Implementation: Show us the Agent and Behaviour subclasses.
Create a dynamic protocol in which the initiator requests a protocol from the responder. The responder informs the initiator of the protocol that it employs, and then the initiator and responder begin conversing using this protocol. Thus, the initiator agent is able to converse with any agent that can supply a description of the protocol it should use. Demonstrate this by creating an agent that can participate in a variety of protocols-- auctions, contract nets, rational effects, etc.
How should a protocol be represented? As an initial attempt to answer this question, the protocol might be represented as an instance of JADE's FSMBehaviour class. Thus, the initiator just extracts this behavior from the responders message and adds it to its list of behaviors. Make things a bit more general by using a behavior ontology.
Another approach that would generalize to web-based agents is to represent the protocol as an XML file. The initiator uses DOM to parse the file and construct the appropriate initiator behavior.
Deliverable: A tutorial on implementing and testing dynamic protocols and a running demo.
Sample outline:
1. Introduction: Discuss possible advantages and applications of dynamic protocols. Compare XML and FSM approaches
2. Walk us through a couple of demos
3. Describe your design using appropriate class diagrams
4. Walk us through your implementation.
Create a tutorial showing how a contract supply chain can be built in three MAS frameworks:
A FIPA compliant framework
NetLogo
Using SOAP and web services (but trying to stick close to FIPA)
Deliverable: A paper explaining contract supply chains in general, and how you implemented this model in each of the three frameworks. Also, a working demo.
Sample outline:
1. Introduction: In your own words describe the supply chain model and the FIPA contract net protocol.
2. Jade Demo: Take us through a JADE demo of a supply chain.
3. NetLogo: Take us through a similar example with NetLogo (or explain why it can't be done).
4. WSA: Repeat the demo one more time, this time using Web Services and SOAP.
5. Conclusion: Compare the advantages and disadvantages of each approach.
Build and test your own MAS framework. Your framework should generally follow FIPA guidelines. One variation of such a framework might use SOAP instead of ACL Messages and Web services as behaviors/roles.
Deliverable: The framework plus user's manual.
Sample outline:
1. Introduction: What is an MAS framework?
2. Tutorial: Take us through a few demos showing how a user would customize your framework.
3. Framework Design: Use UML to explain the design of your framework.
4. Framework Implementation: Take us through the important classes and methods of your framework.
5. Future work: What features would you add to the framework if you had more time?